본문으로 바로가기

Data Base Architecture

category Server/DataBase 2022. 4. 3. 04:32
728x90
반응형

1 Stand-Alone 방식

먼저 Stand-Alone 방식입니다 데이터 베이스의 동작머신이 LAN이나 인터넷 등의 네트워크를 통해 접속하지 않고 '독립되어' 동작하는 구성이라고 합니다. 이게 무슨 말이냐 하면 데이터 베이스를 사용하고 싶은 사용자는 데이터 베이스 서버가 설치된 장소까지 물리적으로 접근해서 데이터 베이스 서버를 다뤄야 한다는 의미입니다. 물리적으로 접근한 뒤 사용해야하기 떄문에 보안성이 높은 것이 아주 큰 장점입니다. 또한 주로 구축이 간단해서 소규모 작업이나 테스트를 빨리할 수 있다는 점도 있습니다 단점이 현대의 서버로 동작하는 양식에 맞지 않습니다 물리적으로 떨어져 있으니 네트워크를 통한 접근이 안되며, 복수의 사용자가 동시에 작업을 할 수 없고, 가용성이 낮고,확장성이 부족하다 정도가 있습니다

 

2. Client/Server 방식

Client/Server 방식이 실제 사용하고 있는 서버의 모습입니다.  Stand-Alone 방식에서 언급한 네트워크를 통해 접근하지 못한다는 문제점을 해결했으며 복수의 사용자가 동시에 작업을 할 수 있게 구성한 방식입니다 단점으로는 네트워크에서 접속이 가능해진 만큼 보안 위협이 증가하며 다수의 사용자가 사용할 수 있으므로 그에 따른 비용 증가의 문제 직면합니다 하지만 이 또한 'Web 3계층' 이라는 구조로 커버가 가능합니다  'Web 3계층' 도 단어가 거창하지만 Web->Application->Data Base 순서대로 이루어진 우리가 웹 서비스를 이용하는 모습 그대로라고 생각하시면 됩니다

 

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

클러스터링을 통한 다중화는 DB서버가 여러대 있지만 DB서버의 저장소는 1대 밖에 없습니다.  클러스터링을 통한 다중화에는 Active-Active , Active-Standby가 있습니다

 

Active-Active : 클러스터를 구성하는 컴포넌트를 동시에 가동 Active-Active 방식은 DB서버가 동시에 동작하고 있어서 한 대가 다운되어 동작 불능이 되어도 남은 한 대가 처리를 계속해 시스템 전체가 정지하는 것을 방지합니다 게다가 DB 서버의 대수가 증가하면서 동시에 가동하는 CPU나 메모리도 증가하기 떄문에 성능도 향상합니다 단 저장소가 병목 현상을 일으킬 수 있습니다

 

Active-Standby : 클러스터를 구성하는 컴포넌트 중 실제 가동하는 것을 Active 남은 것을 대기 상태로 만들어 두는 것을 Standby 라 합니다. Active-Active 방식에서는 시스템 전체가 정지하는 것을 방지할 순 있지만 Active-Standby는 동작하고 있는 DB 서버가 장애가 일어나면 Standby 상태로 둔 서버가 동작할 때 까지의 시차가 생기므로 그 사이 시스템은 서비스를 해주는 것이 불가능합니다(시차 사이의 서버 다운)

 

Cold-Standby : 평소에는 DB서버가 작동하지 않다가 Active DB가 다운된 시점에 작동하는 구성입니다

 

Hot-Standby : 평소에도 Standby가 작동하는 구성입니다.

 

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

클러스터링을 통한 다중화에서는 복수의DB 서버 - 저장소 이런 식의 구성이지만 리플리케이션에서의 구성은 DB서버-저장소 의 구성이 복수개가 존재하는 것입니다 Active 측 저장소의 데이터는 항상 사용자로부터 갱신 된다는 것입니다 Standby 측의 데이터도 갱신하지 않으면 Active 측과의 데이터의 정합성을 유지하는 것이 불가합니다(동기화)

----------------------------------------------------------------------------------------------------------

Shared Disk  

복수의 서버가 1대의 디스크를 사용하는 구성 ( 클러스터링 ) 저장소가 공유자원이라서 쉽게 늘리기 어렵고 DB서버 대수가 증가할수록 DB서버 간의 정보공유를 위한 오버헤드가 큽니다

 

Shared Noting 

네트워크 이외의 모든 자원을 모두 분리하는 방식입니다 서버와 저장소의 세트를 늘리면 병렬처리 떄문에 선형적으로 성능이 향상된다고 합니다 저장소를 공유하지 않는 것은 결국 각각의 DB 서버가 동일한 1개의 데이터에 액세스 할수 없음을 의미합니다.

 

728x90
반응형

'Server > DataBase' 카테고리의 다른 글

FOREIGN KEY를 알아보자.  (0) 2023.04.02
Oracle SQL : Madang.sql  (0) 2022.04.03
[PostgreSQL] 연습용 DataBase 생성 가이드  (0) 2020.11.17