Database

[SQLD 이론 기초] 3. 데이터베이스 아키텍처

noahkim_ 2021. 7. 28. 13:10

해당 포스팅은 패스트캠퍼스 '데이터베이스와 SQLD 합격패스 Online' 강의를 듣고 공부한 내용을 정리한 것입니다.

 

1. 시스템 아키텍처

  • 시스템을 구성하는 하드웨어/소프트웨어 요소와 이들 간의 물리적/논리적 연결 구조를 정의한 설계 구조
  • ✅ 서버, 스토리지, 네트워크 장비, 애플리케이션 등

 

종류

구분 Stand-alone Client / Server WEB 3계층 구조
기본 구조 단일 컴퓨터에서 모든 기능 수행 중앙 서버 + 여러 클라이언트 Web + WAS + DBMS 3계층 분리
네트워크
사용자 수 단일 사용자 중심 다중 사용자 가능 대규모 사용자 가능
구성 요소 프로그램 + 데이터 동일 시스템 클라이언트 / DB 서버 Web Server / WAS / DB
동시성 거의 없음 동시 접근 가능 대규모 동시 처리 가능
확장성 서버 확장 가능 ✅ 수평 확장 용이 (각 계층 확장 가능)
장점 구축 단순, 유지관리 쉬움 다중 사용자 지원 확장성/보안/유지보수 뛰어남
단점 확장성 없음, 원격 접근 불가 보안 취약 가능 통신 오버헤드 존재

 

고려 사항

구분 가용성 (Availability) 확장성 (Scalability) 단일 장애점 (SPOF)
정의 시스템이 서비스를 정상적으로 제공할 수 있는 상태 시스템의 용량이나 처리 능력을 쉽게 늘릴 수 있는 능력
하나의 장애가 전체 시스템 중단으로 이어지는 지점
측정 기준 가동 시간(업타임) 비율 처리량 증가 대비 성능 유지 여부 존재 여부 자체가 리스크
문제 발생 시 서비스 중단 응답 지연, 서버 다운 전체 시스템 장애
해결 방법 이중화
장애 조치(Failover)
모니터링
수직 확장(Scale Up)
수평 확장(Scale Out)
이중화
다중 네트워크 구성
예시 은행 앱이 24시간 정상 작동 블랙프라이데이 트래픽 대응 DB 단일 서버 제거

 

2. 데이터베이스 다중화

  •  하나의 DB서버에 장애가 발생하더라도 서비스가 중단되지 않도록 동일한 기능을 수행할 수 있는 DB 서버를 여러대 구성하는 구조
  • ✅ 단일 장애점 문제를 해결하기 위한 방법
  • ⚠️ 다른 컴포넌트에 비해 다중화 어려움 (DB 서버 간 데이터 정합성을 맞추기가 어렵기 때문)

 

유형

구분 Active-Active Active-Standby Replication
설명 여러 DB가 동시에 요청 처리 한 서버만 운영. 다른 서버는 대기 데이터를 다른 서버에 복제
서버 상태 둘 다 Active 1 Active + 1 대기 Primary + Replica
복제 동기적 동기적 비동기적
읽기 지연 가능성 ✅ (아직 반영 안된 값을 읽을 수 있음)
저장소 1개  1개 둘다
읽기 처리 둘다 Active Replica
쓰기 처리 둘다 Active Primary