본문 바로가기

IT/데이터베이스

데이터베이스와 아키텍쳐 구성

반응형

데이터베이스와 아키텍쳐 구성

DB 서버의 다중화 - 클러스터링

  • 클러스터링이 어려운 컴포넌트로 인식
  • 데이터를 보존하는 '영속 계층' 이기 때문
  • '데이터의 정합성이 중요하기 때문'

가장 기본적인 다중화

DB 서버 N, 저장소 1

  • Active-Active : 클러스터를 구성하는 컴포넌트를 동시에 가동
  • Active-Standby : 클러스터를 구성하는 컴포넌트 중 실제 가동하는 것은 Active, 남은 것은 대기하고 있는다.

Active-Active 구성의 장단점

  • 시스템이 다운되어 있는 시간이 짧다
    • 복수의 DB 서버가 동시에 작동하고 있어서 한 대가 다운되어 동작 불능이 되어도 남은 서버가 처리를 계속하기 떄문에 시스템 전체가 정지하는 것을 방지할 수 있음
  • 성능이 좋다
    • 동시에 가동하는 CPU나 메모리도 증가하기 때문에 성능 향상도 기대 가능
    • 다만 저장소가 병목이 되기 때문에 다이나믹한 성능 향상은 어려울 수도 있다.
  • Active-Active를 지원 하는 데이터 DBMS가 한정적이다.

Active-Standby 구성의 단점

  • (보통) Standby 상태의 DB 서버는 사용되지 않다가 Active DB 서버에서 장애가 일어날 때만 사용됩니다. (Cold / Hot 상태에 따라 다름)

Active-Standby 구성의 종류

  • Cold-Standby : 평소에는 Standby DB가 작동하지 않다가 Active DB가 다운된 시점에 작동하는 구성
  • Hot-Standby : 평소에도 Standby DB가 작동하는 구성이다.
  • Cold 보다 Hot 의 라이센스 비용이 더 높다.

DB 서버의 다중화 - 리플리케이션

리플리케이션이란?

  • 앞에서 설명한 Active-Active / Active-Standby 같은 경우 서버 영역은 다중화가 가능하지만 저장소 부분은 다중화할 수 없음
  • Active-Active / Active-Standby 의 경우 데이터를 다중화 하는것은 아님, 그렇기 때문에 저장소에 문제가 생길 경우 데이터를 잃게 됨
  • DB 서버와 저장소 세트를 복수로 준비하는 것이 리플리케이션
  • 물리적인 데이터센터 손상에도 버티는 가용성이 높은 아키텍처
  • Master - Slave 형태도 리플리케이션의 한 종류

리플리케이션에서 주의할 점

  • Active 측 저장소의 데이터는 사용자로 부터 갱신
  • 그렇기 때문에 Standby 측 데이터 정합성 유지가 힘듬
  • 동기화 주기 설정에 따라 성능 차이가 남
  • 참조용으로만 Standby 측 데이터를 사용할수도 있음 → 세트를 구성하는 리소스가 많이 들어감

성능을 추구하기 위한 다중화 - Shared Noting

Shared Disk 와 Shared Noting

Shared Disk

  • 앞에서 말한 Active-Active / Active-Standby 의 경우 복수의 서버가 1대의 저장소(디스크)를 공유하도록 구성되었기 때문에 일어나는 문제
  • 복수의 서버가 1대의 저장소를 공유하는 구성을 'Shared Disk'라고 부름
  • DB 서버를 무한정 늘려도 무한으로 처리율이 향상되지 않고 병목이 생김

Shared Noting

  • Shared Disk 의 문제점을 극복하기 위해 등장한 것이 'Shared Noting' 구성

  • 네트워크 이외의 자원을 모두 분리하는 방식

  • 서버와 저장소 세트를 늘리면 횡으로 늘어나는 형태이기 때문에 선형적으로 성능이 향상되는 장점이 있음

  • 단점

    • 각각의 DB 서버는 자신이 포함된 세트의 저장소만 참조가 가능하다

    • 특정 데이터를 구성하는 세트에 문제가 발생할 경우 해당 데이터는 참조 못하는 경우도 발생

    • 구성하기 복잡한 구조

적합한 아키텍처를 설계하기 위해

아키텍처의 정리

  • 아키텍처 선택은 시스템이 충족해야 하는 요건에 따라 결정

  • 요건 수준에 따라 아키텍처를 변경해야함

    아키텍처 종류

    데이터베이스 첫걸음(한빛미디어, 미크, 기무라 메이저 공저) 그림 4-15


아키텍처는 변경이 어렵다.

  • 아키텍처는 한번 결정해서 구축을 시작하면 이후 변경하는 것이 어렵다.

비용과 시간 그리고 인적자원

  • 물리적 변경을 수반하는 작업에는 비요과 시간이 듬

  • 여러 개발 방법론이 있다고 해도 아키텍처를 변경하는것은 큰 부담

  • 고기능의 아키텍처는 곧 비용으로 이어짐

참고 서적 :

데이터베이스 첫걸음미크(ミック),기무라 메이지
상세보기
반응형

'IT > 데이터베이스' 카테고리의 다른 글

백업과 복구  (0) 2021.01.09
트랜잭션과 동시성 제어  (0) 2021.01.08
H2 Database not found  (2) 2019.12.03
ORACLE 전체 테이블 검색  (0) 2019.04.15
sqldeveloper 자동정렬  (0) 2017.06.15