Study/Classes
[SQLD] 2-4. 분산 데이터베이스와 성능
RUMJIE 럼지
2023. 3. 10. 21:51
728x90
패스트캠퍼스 강의와 이기적 기본서를 기반으로 공부합니다.
1. 개요
중앙 집중형 데이터베이스: 한 대의 물리적 시스템에 DB 관리 시스템을 설치, 여러 명의 사용자가 사용
분산 데이터베이스: 물리적으로 떨어져 있는 데이터베이스를 네트워크로 연결하여 하나의 가상 시스템으로 사용할 수 있도록 한 DB
분산 데이터베이스의 투명성
분할 투명성 | 단편화. 하나의 논리적 사용자 입장에서 고객에 대한 데이터가 나누어 저장되어있더라도 한 개의 테이블로 인식 |
위치 투명성 | 데이터의 저장 장소 명시 불필요 고객은 데이터가 어느 위치에 있더라도 같은 명령을 이용해 데이터에 접근 가능 위치 정보가 system catalog에 유지 |
지역 사상 투명성 | 지역 DBMS와 물적 데이터베이스 사이의 사상(mapping)이 보장됨 각 지역 시스템 이름과 무관한 이름 사용 가능 |
중복 투명성 | DB 객체가 여러 site에 중복되어 있는지 알 필요 없음 중복되어 존재해도 고객과 무관하게 데이터의 일관성 유지 |
장애 투명성 | 각 지역 시스템/통신망에 이상이 발생해도 무결성 보장 장애와 무관하게 transaction의 원자성 유지 |
병행 투명성 | 다수의 transaction 동시 수행 시 결과의 일관성 유지 |
장점
- 지역자치성
- 신뢰성 및 가용성
- 빠른 응답 속도와 통신 비용 절감
- 시스템 규모의 조절
- 각 지역 사용자의 요구 수용 가능
- 분산 데이터베이스를 추가해 시스템 용량 확장이 쉬움
단점
- 소프트웨어 개발 비용 - 구현이 어려움
- 오류의 잠재성 - 어디서 잘못되었는지 모를 수 있음
- 처리 비용
- 불규칙한 응답 속도 - 응답하는 DB 위치에 따라 달라질 수 있음
- 관리 및 통제의 어려움
- 데이터 무결성 위협
2. 분산 데이터베이스 설계 방식
1-1. 상향식 설계 방식
지역 스키마 작성 후 전역 스키마를 작성해 통합하여 분산 데이터베이스 구축
1-2. 하향식 설계 방식
전역 스키마 작성 후 해당 지역 사상 스키마를 작성해 구축
분산 데이터베이스의 활용 방향
과거 - 위치 중심의 분산 설계
현재 - 업무 필요에 의산 분산 설계 - 내부 운영/ 외부 오픈
- 빠른 성능
- 원거리 혹은 다른 서버에 접속했을 경우 발생하는 네트워크 부하, 트랜잭션 집중에 따른 성능 저하의 원인 분석
→분산 데이터베이스 환경 구축, 성능 상 문제 발생 원인 제거 가능
3. 분산 데이터베이스의 적용기법
테이블 위치 분산 | 설계된 테이블의 위치를 각각 다르게 함 |
테이블 분할 분산 fragmentation | 테이블을 수평분할/수직분할 등으로 쪼개어 분산 |
테이블 복제 분산 replication | 동일한 테이블을 다른 지역/서버에 동시에 생성하여 관리 부분복제: 통합된 테이블을 본사에 한군데, 각 지사별로는 지사에 해당된 row 저장 광역복제: 통합된 테이블을 본사 및 지사에서 동일하게 저장 |
테이블 요약 분산 summarization | 지역 혹은 서버 간 데이터가 비슷하지만 서로 다른 유형으로 존재 분석요약: 지사별로 존재하는 요약정보를 본사에서 통합, 전체에 대한 요약정보를 재산출 통합요약: 지사별로 존재하는 다른 내용의 정보를 본사에서 통합, 다시 요약 정보 산출 |
728x90