4) 분산 데이터베이스와 성능
1. 분산 데이터베이스의 개요
- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용하는 DB
- 논리적으로는 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는데이터들의 모임
데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역, 여러 노드로 위치시켜 사용성과 성능을 극대화 시킨 데이터베이스이다
2. 분산데이터베이스의 투명성
- 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 있고, 각 단편의 사본이 여러 사이트에 저장
- 위치 투명성 : 사용하려는 데이터 저장 위치가 불필요 하다
- 지역 사상 투명성 : 지역 DBMS와 물리적 DB사이의 사상(매핑)을 보장
- 중복 투명성 : DB 객체가 여러 사이트에 중복되어 있는지 알 필요가 없음
- 장애 투명성 : DBMS와 Computer의 장애에 무관한 트랜잭션의 원자성(데이터 무결성) 유지
- 병행 투명성 : 다수의 트랜잭션을 동시에 수행할 때 결과의 일관성 유지
3. 분산 데이터베이스의 적용 방법 및 장단점
- 적용방법
- 업무의 흐름에 따른 아키텍쳐 특징으로 데이터베이스를 구성한다
- 즉, 업무 특징에 따라 데이터베이스 분산구조를 선택적으로 설계할 수 있고 그 능력이 필요하다
- 장단점
- 장점 : 지역 자치성, 점증적 시스템 용량 확장(시스템 규모의 적절한 조절), 데이터의 신뢰성과 가용성, 효용성과 융통성(각 지역 사용자의 요구 수용 증대), 빠른 응답 속도와 통신비용 절감
- 단점 : SW 개발 비용, 처리비용 증가, 오류의 잠재성 증대, 설계/관리 복잡성과 비용, 통제의 어려움, 데이터 무결성에 대한 위험, 불규칙한 응답 속도
4. 분산 데이터베이스의 적용 기법
분산환경으로 데이터베이스를 설계하는 방법은 먼저 통합 데이터 모델링 후 각 테이블 별로 업무적 특징에 따라 지역 또는 서버별로 테이블을 분산하거나 복제 배치하는 형태로 설계한다
테이블 위치 분산
- 설계된 테이블의 위치를 각각 다르게 위치시키는 기법
- 테이블 구조는 변하지 않고, 테이블이 다른 데이터베이스에 중복되어 생성되지도 않는다
- 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 이용한다
테이블 분할 분산
- 위치만 다른 곳에 두는 것이 아니라 각각의 테이블을 쪼개서 분산하는 방법
- 수평분할
- 테이블을 특정 칼럼의 값을 기준으로 로우를 분리(컬럼은 분리되지 않음)
- 컬럼을 기준으로 분할했기 때문에 각각의 테이블에는 동일한 PK 구조와 값을 가지고 있어야 함
- 분할 테이블에 대해 통합 처리를 위해서는 조인이 필요해 성능 저하가 예상되므로 통합처리 프로세스가 많은 경우에는 가급적 사용하지 않는다
테이블 복제 분산
출처 : https://blog.naver.com/handuelly/221709963908