제6절_분산_데이터베이스와_성능
2012.03.15 05:42
제 6 절 분산 데이터베이스의 성능.
1. 분산데이터베이스의 개요.
데이터베이스의 정의
- 여러곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스.
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합 공유.
2. 분산 테이버베이스의 투명성.
- 분산데이터베이스가 되기 위해서는 6가지 투명성을 만족해야 한다.
3. 분산 데이터베이스의 적용 장단점.
4. 데이터베이스 분산구성의 가치
- 데이터를 분산 환경으로 구성하였을 때 가장 핵심적인 가치는 바로 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다는 점이다. 원거리 또는 다른 서버에 접속하여 처리하므로 인해 발생되는 네트워크 부하및 트랜잭션 집중에 따른 성능 저하의 원인을 분산된 데이터베이스 환경을 구축하므로 빠른 성능을 제공하는 것이 가능해 진다. 바로 이 점 때문에 분산 환경의 데이터베이스를 구축하게 되는 것이다.
5. 분산 데이터베이스의 적용 기법.
가. 테이블 위치 분산.
테이블 위치 분산은 테이블의 구조를 변하지 않는다. 또한 테이블은 다른 데이터베이스에 중복되어 생성되지도 않는다. 다만 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
이 방법은 가장 많이 사용하는 방식으로 성능이 저하되는 많은 데이터베이스에서 가장 유용하게 사용할수 있는 방법이 된다.
나. 테이블 분할(Fragmentation) 분산
테이블 분할 분산은 단순위 위치만 다른 곳에 ㅜ는 것이 아니라 각각의 테이블을 쪼개어 분산하는 방법이다. 테이블을 분할하여 분산하는 방법은 테이블을 나누는 기준에 따라 두 가지로 구분된다.
- 수평분할
지사(Node)에 따라 테이블을 특정 컬럼의 값을 기준으로 로우(Row)를 분리한다. 컬럼은 분리되지 않는다. 각 지상에 있는 데이터와 다른 지사에 있는 데이터가 항상 배타적으로 존재하며, 데이터를 한군데 집합시켜 놓아도 PK에 의한 중복이 발생되지 않는다.
- 수직분할
지사(Node)에 따라 테이블 컬럼을 기준으로 컬럼을 분리한다. 로우(Row) 단위로는 분리되지 않는다. 모든 데이터가 각 지사별로 분리되어 있는 형태를 가지고 있다. 컬럼을 기준으로 분할하였기 때문에 각각의 테이블에는 동일한 PK구조와 값을 가지고 있어야 한다. 지사별로 쪼개어진 테이블들을 조합하면 PK가 동일한 데이터의 조합이 가능해야 하며 하나의 완전한 테이블이 구성되어야 한다. 데이터를 한군데 집합시켜 놓아도 동일한 PK는 하나로 표현하면 되므로 데이터 중복은 발생되지 않는다.
다. 테이블 복제 분산.
- 부분복제
통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사별로 지사에 해당된 로우(Row)를 가지고 있는 형태이다. 지사에 존재하는 데이터는 반드시 ㅗㄴ사에 존재하게 된다. 즉 본사의 데이터는 지사데이터의 합이 되는 것이다.각 지사에서 데이터 처리가 용이할 뿐만 아니라 전체 데이터에 대한 통합처리도 본사에 있는 통합테이블을 이용하게 ㅣ므로 여러 테이블에 조인(Join)이 발생하지 않는 빠른 작업 수행이 가능해진다.
- 광역복제
통합된 ㅔ이블을 한군데(본사)에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태이다. 지사에 존재하는 데이터는 반드시 본사에 존재하게 된다. 모든 지사에 있는 데이터량과 본사에 있는 데이터량이 다 동일하다. 본사와 지사모두 동일한 정보를 가지고 있으므로 본사나 지사나 데이터처리에 특별한 제약을 받지 않는다.
라. 테이블 요약(Summarizaton) 분산
- 분석요약
분석요약은 각 지사별로 존재하는 요약정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 방법이다.
- 통합요약
통합요약은 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법이다.
- 분석요약과 통합요약 차이점.
본사에 통계데이터를 산정하는 유형은 분석요약과 통합요약 둘다 비슷하나 통합요약은 단지 지사에서 산출한 요약정보를 한군데 취합하여 보여주는 형태이다. 분석요약은 지사에 있는 데이터를 이용하여 본사에서 통합하여 요약데이터를 산정하였지만 통합요약에서는 지사에서 요약한 정보를 본사에서 취합하여 각 지사별로 데이터를 비교하기 위해 이용되는 것이다.
7. 분산 데이터베이스를 적용하여 성능이 향샹된 사례
- 토의
1. 분산데이터베이스의 개요.
데이터베이스의 정의
- 여러곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스.
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합 공유.
2. 분산 테이버베이스의 투명성.
- 분산데이터베이스가 되기 위해서는 6가지 투명성을 만족해야 한다.
1.분할 투명성 | 하나의 논리적 relation이 여러 단편으로 분활되어 각 단편의 사본이 여러 Site 에 저장. |
2.위치투명성 | 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함. |
3.지역사상 투명성 | 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 문관한 이름 사용 가능 |
4. 중복 투명성 | DB객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질 |
5. 장애 투명성 | 구성요소(DBMS, Computer)의 장애에 무관한 Transaction의 원자성 유지. |
6.병행 투명성 | 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현 |
3. 분산 데이터베이스의 적용 장단점.
장점 |
단점 |
- 지역 자치성,정증점 시스템 용량 확장. | - 소프트웨어 개발 비용 |
- 신뢰성과 가용성 | - 오류의 잠재성 증대 |
- 효용성과 융통성. | - 처리 비용의 증대 |
- 빠른 응답 속도와 통신비용 절감 | - 설계, 관리의 복작성과 비용 |
- 데이터 가용성과 신뢰성 증가 | - 불규칙한 응답 속도 |
- 시스템 규모의 적절한 조절 | - 통제의 어려움 |
- 각 지역 사용자의 요구 수용 증대 | - 데이터 무결정에 한 위협 |
4. 데이터베이스 분산구성의 가치
- 데이터를 분산 환경으로 구성하였을 때 가장 핵심적인 가치는 바로 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다는 점이다. 원거리 또는 다른 서버에 접속하여 처리하므로 인해 발생되는 네트워크 부하및 트랜잭션 집중에 따른 성능 저하의 원인을 분산된 데이터베이스 환경을 구축하므로 빠른 성능을 제공하는 것이 가능해 진다. 바로 이 점 때문에 분산 환경의 데이터베이스를 구축하게 되는 것이다.
5. 분산 데이터베이스의 적용 기법.
가. 테이블 위치 분산.
테이블 위치 분산은 테이블의 구조를 변하지 않는다. 또한 테이블은 다른 데이터베이스에 중복되어 생성되지도 않는다. 다만 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
이 방법은 가장 많이 사용하는 방식으로 성능이 저하되는 많은 데이터베이스에서 가장 유용하게 사용할수 있는 방법이 된다.
나. 테이블 분할(Fragmentation) 분산
테이블 분할 분산은 단순위 위치만 다른 곳에 ㅜ는 것이 아니라 각각의 테이블을 쪼개어 분산하는 방법이다. 테이블을 분할하여 분산하는 방법은 테이블을 나누는 기준에 따라 두 가지로 구분된다.
- 수평분할
지사(Node)에 따라 테이블을 특정 컬럼의 값을 기준으로 로우(Row)를 분리한다. 컬럼은 분리되지 않는다. 각 지상에 있는 데이터와 다른 지사에 있는 데이터가 항상 배타적으로 존재하며, 데이터를 한군데 집합시켜 놓아도 PK에 의한 중복이 발생되지 않는다.
- 수직분할
지사(Node)에 따라 테이블 컬럼을 기준으로 컬럼을 분리한다. 로우(Row) 단위로는 분리되지 않는다. 모든 데이터가 각 지사별로 분리되어 있는 형태를 가지고 있다. 컬럼을 기준으로 분할하였기 때문에 각각의 테이블에는 동일한 PK구조와 값을 가지고 있어야 한다. 지사별로 쪼개어진 테이블들을 조합하면 PK가 동일한 데이터의 조합이 가능해야 하며 하나의 완전한 테이블이 구성되어야 한다. 데이터를 한군데 집합시켜 놓아도 동일한 PK는 하나로 표현하면 되므로 데이터 중복은 발생되지 않는다.
다. 테이블 복제 분산.
- 부분복제
통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사별로 지사에 해당된 로우(Row)를 가지고 있는 형태이다. 지사에 존재하는 데이터는 반드시 ㅗㄴ사에 존재하게 된다. 즉 본사의 데이터는 지사데이터의 합이 되는 것이다.각 지사에서 데이터 처리가 용이할 뿐만 아니라 전체 데이터에 대한 통합처리도 본사에 있는 통합테이블을 이용하게 ㅣ므로 여러 테이블에 조인(Join)이 발생하지 않는 빠른 작업 수행이 가능해진다.
- 광역복제
통합된 ㅔ이블을 한군데(본사)에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태이다. 지사에 존재하는 데이터는 반드시 본사에 존재하게 된다. 모든 지사에 있는 데이터량과 본사에 있는 데이터량이 다 동일하다. 본사와 지사모두 동일한 정보를 가지고 있으므로 본사나 지사나 데이터처리에 특별한 제약을 받지 않는다.
라. 테이블 요약(Summarizaton) 분산
- 분석요약
분석요약은 각 지사별로 존재하는 요약정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 방법이다.
- 통합요약
통합요약은 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법이다.
- 분석요약과 통합요약 차이점.
본사에 통계데이터를 산정하는 유형은 분석요약과 통합요약 둘다 비슷하나 통합요약은 단지 지사에서 산출한 요약정보를 한군데 취합하여 보여주는 형태이다. 분석요약은 지사에 있는 데이터를 이용하여 본사에서 통합하여 요약데이터를 산정하였지만 통합요약에서는 지사에서 요약한 정보를 본사에서 취합하여 각 지사별로 데이터를 비교하기 위해 이용되는 것이다.
7. 분산 데이터베이스를 적용하여 성능이 향샹된 사례
- 토의
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
38 | 제1절_Lock | balto | 2012.05.05 | 25261 |
37 | 제2절_트랜잭션 | 보라빛고양이 | 2012.05.04 | 8927 |
36 | 제4절_데이터베이스_IO_원리 | 운영자 | 2012.04.30 | 5968 |
35 | 제3절_데이터베이스_Call과_네트워크_부하 | 오예스 | 2012.04.30 | 5907 |
34 | 제2절_SQL_파싱_부하 | ljw | 2012.04.23 | 6357 |
33 | 제1절_데이터베이스_아키텍처 [2] | ljw | 2012.04.23 | 11523 |
32 | 제3절_조인_수행_원리 | 실천하자 | 2012.04.12 | 6969 |
31 | 제2절_인덱스_기본 | 실천하자 | 2012.04.12 | 6501 |
30 |
제1절_옵티마이저와_실행계획
![]() | suspace | 2012.04.10 | 8927 |
29 | 제8절_절차형_SQL | 보라빛고양이 | 2012.04.02 | 6544 |
28 | 제7절_DCL(DATA_CONTROL_LANGUAGE) | 보라빛고양이 | 2012.04.02 | 7768 |
27 |
제6절_윈도우_함수(WINDOW_FUNCTION)
![]() | balto | 2012.03.31 | 7697 |
26 |
제5절_그룹_함수(GROUP_FUNCTION)
![]() | balto | 2012.03.31 | 12458 |
25 | 제4절_서브쿼리 | 오예스 | 2012.03.27 | 11865 |
24 | 제3절_계층형_질의와_셀프_조인 | 오예스 | 2012.03.27 | 8672 |
23 | 제9절_조인(JOIN) | 실천하자 | 2012.03.20 | 8489 |
22 | 제8절_ORDER_BY_절 | 실천하자 | 2012.03.20 | 6751 |
21 |
제2절_집합_연산자(SET_OPERATOR)
![]() | ljw | 2012.03.19 | 5800 |
20 |
제1절_표준_조인(STANDARD_JOIN)
![]() | ljw | 2012.03.19 | 15924 |
» | 제6절_분산_데이터베이스와_성능 | 오예스 | 2012.03.15 | 6968 |