2022. 6. 30. 14:33ㆍDatabase/데이터베이스와 SQLD 합격패스 Online.
3-1 아키텍처(Architecture)란
- 시스템을 만들기 위한 물리 레벨의 조합, 데이터베이스 설계에서 시스템의 구성, 아키텍처 통해 시스템의 용도와 목적 추측 가능
3-2 아키텍처 역사와 개요
- Stand-alone > 클라이언트/서버 > WEB 3계층 (WEB, WAS, DBMS)
> Stand-alone 단계 (DBMS 관점)
DBMS 서버가 네트워크 접속 없이 독립적으로 작동, 20세기 현대적 컴퓨터의 최초 등장 시기
장점
구축 과정이 간단함(소규모 작업 및 테스트를 빨리 처리할 수 있음)
높은 보안(네트워크 연결 불가)
단점
물리적으로 떨어진 장소에서 접근 불가
복수 사용자가 동시에 작업 불가(1명만 이용가능)
낮은 가용성 (Availability) – (서버가 단 1대임)
확장성 부족(성능개선 여지가 부족함)
클라이언트/서버 단계 (DBMS 관점)
네트워크 연결을 통한 복수 사용자가 동시에 사용가능, DB 서버 한 대에 복수 사용자가 접속하는 구성이 주를 이룸
장점
원격지에서도 사용 가능
복수의 사용자가 동시에 사용가능
단점
인터넷 환경에서 접속 시 보안이 위험
각각의 사용자 PC에서 애플리케이션 설치(수정 및 배포의 어려움 존재)
WEB3 계층 (DBMS 관점)
애플리케이션을 WAS 서버에서 관리, 시스템을 3가지 계층의 조합으로 인식하기 시작함 (WEB, WAS, DBMS)
장점
직접적인 접속 요청을 웹서버 계층에 한정하여 보안이 향상됨
애플리케이션 계층에 비즈니스 로직이 집중됨(관리의 용이성 및 비용 절감)
단점
Stand Alone 및 클라이언트 서버 방식에 비해 크게 단점이 존재하지 않음
3-3 가용성과 확장성 확보
가용성(Availability)
- 서버와 네트워크, 프로그램 등의 정보 시스템이 정상적으로 사용 가능한 정도, 가동률
- 가용성(Availability) = 정상적인사용시간(Uptime) / 전체사용시간(Uptime+Downtime)
- 고가용성(HA, High Availability)
-
- 가용성이 100이라하면 단 한번도 장애없이 동작한 시스템을 뜻
-
-
확장성(Scalability)
- IT 시스템에서 대규모적인 재설계 및 재설치가 필요없이 확장이 얼마나 쉽고 가능한지에 대한 용이성
- 클라우드 시스템
단일 장애 점 (SPOF, single point of failure)
- 동작하지 않으면 전체 시스템이 중단되는 요소
- 높은 가용성을 추구하는 네트워크, 소프트웨어 애플리케이션, 상용 시스템에 단일 장애점이 있는 것은 바람직하지 않음
- 높은 신뢰성을 요구하는 시스템은 단일 컴포넌트에 의존하지 않는 것이 좋음 (ex. 금융권 시스템)
신뢰성 VS 가용성
- 신뢰성
하드웨어나 소프트웨어가 고장 나는 빈도 및 고장 기간
컴포넌트 자체의 문제
- 가용성
사용자 입장에서 시스템을 어느 정도 사용할 수 있는가
시스템 전체 수준의 문제
- 신뢰성이 낮아도 여러 대의 서버를 구축하는 클러스터링 기법(저품질 다수)을 통해 가용성 확보가 가능
3-4 DB 서버의 다중화
DB 서버의 다중화
- 다른 컴포넌트에 비해 다중화 어려움
- 영속 (Persistence) 계층의 특성
데이터 장기간 보존 필요
일시적 처리만 담당하는 애플리케이션 서버 등과 차이
데이터 다중화 시 갱신 시 데이터 정합성 중요
-
Active-Active 구성 다중화
-
Active-Standby 구성 다중화
-
리플리케이션 다중화
-
3-5 성능 추구를 위한 다중화
Shared Disk 와 Shared Nothing
-
성능 비교
-
Shard
- 데이터베이스 샤드(database shard)는 데이터베이스나 웹 검색 엔진의 데이터의 수평 분할이다. 개개의 파티션은 샤드(shard) 또는 데이터베이스 샤드(database shard)로 부른다. 각 샤드는 개개의 데이터베이스 서버 인스턴스에서 부하 분산을 위해 보유하고 있다
- 데이터베이스 내의 일부 데이터는 모든 샤드에 존재하지만 일부는 하나의 샤드에만 존재한다. 각 샤드 또는 서버는 이 데이터 부분을 위해 하나의 소스로서 동작한다
3-6 적합한 아키텍처를 설계하기 위해
최적의 아키텍처 설계 전략
- 가용성, 신뢰성, 재해대책, 성능, 보안, 조직, 비용 등 다양한 조건을 고려 해야함
- 해당 비즈니스의 성장성이나 사용자의 유입 예측 도 감안해야 함
- 한번 구축하면 변경 시 비용과 시간이 소요됨
-
'Database > 데이터베이스와 SQLD 합격패스 Online.' 카테고리의 다른 글
Chapter 06. 트랜잭션 (0) | 2022.06.30 |
---|---|
Chapter 05. SQL 기본 (0) | 2022.06.30 |
Chapter 04. 데이터베이스 설치 (0) | 2022.06.30 |
Chapter02. 관계형 데이터베이스(Relational Database) (0) | 2022.06.30 |
Chapter01. 데이터베이스란 (0) | 2022.06.30 |