[edit]
1 구조(architecture) vs 기반구조(infrastructure) #
- 구조: 데이터 획득, 데이터 저장장치, 정보전달의 각각의 구성요소들
- 기반구조
- DW구조를 지원
- 기본적인 컴퓨팅 플랫폼으로 필수적인 H/W 및 OS를 포함
- DBMS
- S/W Tools
- H/W, S/W, OS, Network S/W, DBMS, LAN/WAN, Vendor Tools, People, Procedures, Training 등
- DW구조를 지원
- 구조분류
- 운영 기반구조
- 사람(개발이 아닌 유지보수를 위한 사람)
- 절차(개발이 아닌 유지보수를 위한 절차)
- 훈련
- 관리 소프트웨어
- 사람(개발이 아닌 유지보수를 위한 사람)
- 물리 기반구조
- H/W (가장 우선 결정해야 함)
- OS
- DBMS
- Network S/W
- 포괄적 플랫폼이어야 함
- 두 가지 관리 원칙
- 현재의 물리적 기반구조 유지
- 기반기조를 되도록 모듈로 유지
- 현재의 물리적 기반구조 유지
- H/W (가장 우선 결정해야 함)
- 운영 기반구조
[edit]
2 하드웨어와 운영체제 #
하드웨어 선택을 위한 지침
- 확장성(scalability): 사용자수, 질의수, 질의복잡도가 성장함에 따른 확장성 고려
- 지원: 벤더의 지원
- 벤더 레퍼런스: 하드웨어의 다른 곳에서 사용한 성공 사례
- 벤더 안정성
- 확장성
- 보안
- 신뢰성
- 가용성
- 선점 멀티태스킹
- 멀티쓰레드
- 메모리 보호
- 단일 플랫폼
- 호환성 문제나 인터페이스 문제가 거의 없다
- 레가시 시스템의 확장성의 한계로 단일 플랫폼이 어려운 경우가 많다.
- DW를 위한 도구를 해당 플랫폼에서 사용하지 못할 경우는 단일 플랫폼으로 선택되지 않는다.
- 다수의 기존 플랫폼이 있을 수 있다.
- 회사의 정책(하나의 플랫폼을 영구적으로 가져가지 않는다)
- 호환성 문제나 인터페이스 문제가 거의 없다
- 혼합옵션
- 조사 후 단일 플랫폼내에 DW의 모든 구성요소가 있다면 단일 플랫폼으로 접근하라.
- 조사 후 단일 플랫폼내에 DW의 모든 구성요소가 있다면 단일 플랫폼으로 접근하라.
[edit]
3 서버 하드웨어: SMP(Symmetric Multiprocessing) #
- 특징
- Shared-Everything 구조로 가장 간단한 병렬처리
- 공용 버스를 이용하여 공유된 메모리를 완전한게 접근
- 프로세서 사이의 통신은 공유된 메모를 통해 이루어짐
- 모든 프로세서는 디스크 컨트롤러들에 접근 가능
- Shared-Everything 구조로 가장 간단한 병렬처리
- 장점
- 1970년 초반부터 사용된 증명된 기술
- 높은 동시성(Concurrency)를 제공
- Load Balancing이 뛰어남
- 단순한 설계이므로 서버 관리가 쉬움
- 1970년 초반부터 사용된 증명된 기술
- 한계
- 이용 가능한 메모리의 제한
- 프로세서간의 통신, I/O, 버스 통신의 대역폭에 의한 제한
- 이용 가능성 제한
- 이용 가능한 메모리의 제한
[edit]
4 서버 하드웨어: Cluster #
- 특징
- 각 노드는 하나 이상의 프로세서들과 결합된 메모리로 구성
- 메모리는 노드사이에 공유되지 않음
- 통신의 고속의 버스를 통해 이루어짐
- 각 노드는 공용의 디스크 집합으로 접근
- 각 노드는 하나 이상의 프로세서들과 결합된 메모리로 구성
- 이점
- 고가용성
- 하나의 데이터베이스 개념 유지(가상화)
- 점진적인 증가에 적합
- 고가용성
- 한계
- 버스의 대역폭은 시스템 확장성을 제한
- 운영체제의 오버헤드로 작용
- 각 노드는 데이터 캐쉬를 가짐. 데이터 캐쉬는 일관성을 유지해야 함.
- 버스의 대역폭은 시스템 확장성을 제한
[edit]
5 서버 하드웨어: MPP(Massively Parallel Processing) #
- 특징
- Shared-Nothing 구조
- 메모리 보다는 디스크 접근에 더 집중된 구조
- 투명한 디스크 접근을 지원하는 운영체제에서 잘 작동
- 디스크의 접근은 소유한 프로세서에 의해 전적으로 의존함
- 노드 사이의 통신은 프로세스-프로세스 연결로
- Shared-Nothing 구조
- 이점
- 확장성이 높다
- 노드들 사이의 빠른 접근을 제공
- 고장은 고장난 노드에만 한정됨 (고가용성)
- 노드 당 비용이 낮음
- 확장성이 높다
- 한계
- 엄격한 데이터 분할을 요구
- 데이터 접근이 제한
- 작업의 로드밸런싱 제한
- 캐쉬 일관성은 유지되어야 함
- 엄격한 데이터 분할을 요구
[edit]
6 서버 하드웨어: NUMA(Non-uniform Memory Architecture) #
- 특징
- 가장 새로운 구조 (1990년대 초부터 개발됨)
- 하나의 큰 SMP가 더 쉽게 구축할 수 있는 작은 SMP 쪼개진 것과 같다
- 하드웨어는 모든 메모리 단위를 하나의 거대한 메모리로 간주
- 시스템은 전체 기계에 걸쳐 단일의 실제 메모리 주소를 가짐
- 메모리 주소는 첫 번째 노드에서 1로 시작해서 계속됨
- 각 노드는 그 노드 안에서 메모리 주소의 디렉토리를 포함
- 첫 번째 노드가 세번째 노드의 메모리에 있는 값을 필요로 할지도 모르기 때문에 메모리 값을 검색하는데 필요한 시간의 양은 변화함 -> 불균일 메모리 접근 구조라 불리는 이유
- 가장 새로운 구조 (1990년대 초부터 개발됨)
- 이점
- 최대의 유연성 제공
- SMP의 메모리 한계를 극복
- SMP보다 더 좋은 확장성
- 최대의 유연성 제공
- 한계
- NUMA 구조 프로그래밍은 MPP보다 더 복잡
- NUMA에 대한 소프트웨어 지원이 상당히 제한적
- 기술이 성숙중인 단계
- NUMA 구조 프로그래밍은 MPP보다 더 복잡
[edit]
7 DBMS 선택 #
- 병렬 옵션
- 질의간 병렬화: 다중 질의간 공유되는 연산에 대한 병렬실행(ex: MS-SQL의 공유스캔)
- 질의 내부 병렬화: 병렬쿼리
- 수평 병렬성
- 수직 병렬성: 파이프라인 방법으로 실행됨.
- 혼합방법
- 수평 병렬성
- 질의간 병렬화: 다중 질의간 공유되는 연산에 대한 병렬실행(ex: MS-SQL의 공유스캔)
- DBMS 주요 특징
- Query Governor
- Query Optimizer
- Query Managment
- Load Utility
- Metadata Management
- Scalability(비례확장성)
- Extensibility(확장성)
- Portability(이식가능성)
- Query Tool API
- Administrator
- Query Governor
댓글 없음:
댓글 쓰기