1. 아키텍처란
- 시스템의 구성 요소와 이를 조합하는 물리적, 논리적 구조를 의미합니다.
- 이에는 서버의 기능, 저장소, 네트워크 장치 등이 포함됩니다.
2. 아키텍처의 개요
stand-alone
- 네트워크 연결이 필요 없이 독립적으로 작동하는 시스템
- 구축 과정이 단순하고, 보안성이 높다.
- 확장성이 제한적, 원격 접근 불가, 주로 단일 사용자만 사용 가능.
클라이언트/서버 단계
- 중앙 서버와 이를 사용하는 클라이언트로 구성됨.
- 여러 사용자가 동시에 서비스를 이용할 수 있다.
- 동시 다발적인 접근 가능.
- 보안 측면에서 위험 요소가 존재.
WEB3 계층
- 시스템을 3가지 계층의 조합으로 인식함 (WEB, WAS, DBMS)
- 보안이 향상됨.
- 비즈니스 로직이 집중됨.
- 각 계층간의 통신 오버헤드가 발생할 수 있음
3. 가용성과 확장성 확보
가용성
- 정보 시스템이 사용자에게 서비스를 제공할 수 있는 상태를 의미합니다.
확장성
- 시스템의 용량이나 처리 능력을 쉽게 늘릴 수 있는 설계의 유연성을 말합니다.
- DBMS의 확장 또는 큰 성장을 위해선 이를 고려해 설계해야 합니다.
단일장애점(SPOF, Single Point Of Failure)
- 시스템 중 특정 부분이 실패할 경우 전체 시스템이 작동을 멈추게 되는 부분을 지칭합니다.
- 신뢰성이 중요한 시스템에서는 이러한 요소를 최소화해야 합니다.
4. DB 서버의 다중화
- 다른 컴포넌트에 비해 다중화 어려움
영속 계층
- 데이터 장기간 보존 필요
- 데이터 다중화 시 갱신을 통한 정합성 중요
다중화 유형
Active-Active
- 두 개의 엔진 서버가 동시에 가동됨.
- 저장소는 한 곳을 바라봄 (저장소는 1개)
Active-Standby
- 평소에는 Active만 운영하고 나머지 서버는 Standby 상태.
- 저장소는 한 곳을 바라봄
Replication
- Active-Active 세트 하나 마련해 두어 하나의 서버가 죽어버릴 때를 대비함.
- 가용성이 높음
5. 성능 추구를 위한 다중화
Shared Disk
- Active-Active 구성 DB
- 디스크 공유
Shared Nothing
- 서버와 저장소 세트를 늘려 병렬처리
- 디스크 공유 X
6. 적합한 아키텍처를 설계하기 위해
- 최적의 아키텍처 설계 전략
- 가용성, 신뢰성, 재해대책, 성능, 보안, 조직, 비용 등 다양한 조건을 고려해야 함.
- 비즈니스의 성장성이나 사용자의 유입 예측도 감안해야 함
'Database' 카테고리의 다른 글
[ SQLD 이론 기초 ] Chapter 07. 테이블 설계 (0) | 2021.07.28 |
---|---|
[ SQLD 이론 기초 ] Chapter 06. 트랜잭션 (0) | 2021.07.28 |
[ SQLD 이론 기초 ] Chapter 05. SQL기본 (0) | 2021.07.28 |
[SQLD 이론 기초] 2. 관계형 데이터베이스 (0) | 2021.07.28 |
[SQLD 이론 기초] 1. 데이터베이스란 (0) | 2021.07.28 |