Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 13 Next »

Enterprise Edition은, 빠른 입력 속도와 표준 SQL로 조회가 가능한 MachBase Standard Edition 으로도 처리할 수 없는 초대용량의 데이터 입력/조회를 분산 환경에서 처리할 수 있는 제품이다.


용어


Host

물리적인 서버 1대, 또는 클라우드/VM 에서의 OS 인스턴스 1대를 나타낸다.


Node

서버에 상주하는 MACHBASE Process 를 나타낸다.

Process 타입은 아래의 Node Type 과 동일하다.

  • Coordinator
  • Deployer
  • Broker
  • Warehouse



구조


Machbase Enterprise Edition 은, Host 에 상주하는 여러 Node 가 하나의 클러스터를 구성한다.

Node의 분류

각 Node는 다음과 같이 분류할 수 있다.

분류설명
Coordinator

모든 범용 서버와 Node를 관리한다.

Broker실제 클라이언트 프로그램을 맞이하는 프로세스, (Reference Table을 제외하고) 로그 데이터를 가지고 있지 않다.
클라이언트의 데이터 입력/데이터 조회 쿼리를 Warehouse Active에 분산 수행시키는 역할을 한다.
LeaderLeader Broker는 DDL 수행이 가능하다. (Leader가 아닌 Broker는 DDL 수행이 불가능하다)
Warehouse

실제 데이터를 저장하고 있는 프로세스. 전체 클러스터 데이터 중 일부를 저장하고 있다.
Broker로부터 전달받은 명령을 직접 수행한다.

Special Node : Deployer

Coordinator에 의해 관리되지만, 단순히 Broker/Warehouse Node의 설치/제거를 담당하는 Process 이다.
보통은 Node 를 설치할 Host 에 1대씩 추가하지만, 설치 성능을 위해 여러 Deployer를 추가할 수도 있다.


Node의 Port 관리

각 Node는 Port를 여러 개 열어두고 있어야 하는데, 다음과 같이 구분된다.

Port 구분설명필요한 Node
Cluster PortNode 간 통신을 위한 Port.모든 Node
Service Port클라이언트가 직접 접속하게 되는 Port.Broker / Warehouse
Admin Port관리 목적으로 통신하기 위한 Port.Coordinator / Deployer
Replication Port

Warehouse 간에 Replication 용 통신을 위한 Port.

Warehouse


Broker / Warehouse 소개


Broker

 Broker는 말 그대로 Client의 명령을 Warehouse에게 전달하고, Warehouse의 결과를 Client에 모아서 전달하는 역할을 한다.

  • 데이터 입력 시, Broker는 Warehouse에게 데이터 입력을 골고루 가도록 한다.
  • 데이터 조회 시, Broker는 Warehouse에게 데이터를 가져오도록 한 뒤에 모든 결과를 모아서 전달한다.

Broker는 Log Table의 데이터를 가지고 있지 않지만, Volatile Table의 데이터는 가지고 있는다.

Leader Broker

모든 Broker가 동시에 DDL을 수행하면 클러스터 전체 정합성에 문제가 생긴다.
이를 해결하기 위해 클러스터 차원에서 DDL 명령을 제어하기 시작하면, DDL 자체에 대한 성능 저하가 발생한다.

따라서 DDL을 수행할 수 있는 Broker를 지정해야만 했는데, 이를 Leader Broker 라고 한다.
Leader Broker는 DDL 수행이 가능하지만, 그 외의 Broker는 DDL 수행이 불가능하다.

Warehouse

Warehouse 는 Log Table 데이터를 직접 저장하게 되고, Broker가 전달한 명령을 실제로 수행하는 역할을 한다.

Warehouse는 Broker를 통해서 데이터를 입력받을 수 있지만, 클라이언트가 직접 Warehouse에 접속해서 데이터 입력을 할 수 있다.

Warehouse Group

수정 필요

Warehouse Active와 달리, Warehouse Standby는 Active로 전송되는 복제 Log Table 데이터를 저장한다.

클라이언트가 Standby에 직접 데이터 입력은 할 수 없다.

그러나 (Standby 에 저장된 Log Table 데이터의 정합성을 확인할 목적으로) 클라이언트가 직접 접속해서 데이터 조회를 할 수 있다.

가능한 명령

다음은 각 Node에 직접 접속해서, 명령 수행이 가능한 것과 불가능한 것을 표로 나타낸 것이다.

모든 Node는 Client 를 통한 접속이 가능하지만, Node 종류에 따라 불가능한 쿼리가 존재한다.


Broker (Leader)Broker (non-leader)Warehouse Standby
Client 접속OOO
DDLOXX
DELETEOOX
INSERTOOX 1)
APPENDOOX 1)
SELECTOOO

이중화


이중화란, 기존에 설치된 Node 의 실패를 대비해 똑같은 Node 를 복제하는 과정 또는 그 상태를 의미한다.

Coordinator Replication

Enterprise Edition 에서 Coordinator는 최대 2개까지 생성이 가능하다.
2개 중 하나는 Primary Coordinator, 다른 하나는 Secondary Coordinator 가 된다.

두 Coordinator는 지속적으로 Cluster Node 정보를 계속 유지한다.
어느 한 쪽이 비정상적으로 종료되더라도, 나머지 Coordinator가 Cluster Node 관리를 계속 할 수 있다.


Broker Replication

Broker는 Replication 대상이 아니다.

따라서 Broker A에 들어있는 Volatile Table의 데이터 레코드는 Broker B에 똑같이 유지되지 않는다. (not synchronized)
다만, Cluster 전체의 테이블/인덱스 스키마는 모두 동일하므로, Broker A에 Volatile Table VOL_TBL1 이 존재하면 Broker B에도 Volatile Table VOL_TBL1 이 존재한다.

Warehouse Replication

Group 에 새로운 Warehouse 가 추가되는 경우, 다음 과정을 통해서 Warehouse 가 이중화된다.

데이터 입력의 경우, Broker 가 같은 Group 에는 같은 데이터를 전송함으로써 이중화를 보장한다.



복구 방법


Node가 비정상적으로 종료되어도, 아래와 같은 방법으로 서비스를 계속할 수 있다.

자세한 내용은 운영 가이드를 참고한다.

종류Fail-over 방법
Coordinator

Primary Coordinator가 비정상 종료되어도, Secondary Coordinator 가 Primary Coordinator가 되면서 클러스터 관리를 계속 할 수 있다.

최악의 상황으로 Coordinator가 모두 종료되어도, 클러스터 관리를 할 수 없을 뿐 전체 서비스 (데이터 입력/조회) 는 계속 할 수 있다.
(물론, 이 때 Broker나 Warehouse가 종료되면 클러스터 관리를 할 수 없다.)

Deployer해당 Host 로 Node Operation (ADD, REMOVE..) 을 할 수 없고, 해당 Host 의 통계 정보를 수집할 수 없다.
Broker

Broker가 종료되어도, 다른 Broker가 존재한다면 계속 서비스를 지속할 수 있다.
단, 종료된 Broker와 연결된 클라이언트의 접속은 끊어지기 때문에 다른 Broker로 재접속해야 한다.

만약 Leader Broker가 중단되면, Coordinator가 Broker 중에서 Leader Broker를 다시 선출해서 DDL 수행을 가능하게 한다.

Warehouse

Group 에 다른 Warehouse(s) 가 존재하면, 해당 Warehouse(s) 가 SELECT 와 APPEND 를 그대로 참여한다.

  • No labels