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 16 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를 관리하는 프로세스.machcoordinatord
DeployerHost 마다 하나씩 생성하는machdeployerd
Broker

실제 클라이언트 프로그램을 맞이하는 프로세스.

클라이언트의 데이터 입력/데이터 조회 쿼리를 Warehouse 에 분산 수행시키는 역할을 한다.

machbased
LeaderDDL 수행이 가능한 Broker
Warehouse

실제 데이터를 저장하고 있는 프로세스.

전체 클러스터 데이터 중 일부를 저장하고 있으며, Broker 로부터 전달받은 명령을 수행한다.

machbased

Special Node : Deployer

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


Node의 Port 관리

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

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

Warehouse 간에 Replication 용 통신을 위한 Port

Warehouse


Broker / Warehouse 소개


Broker / Warehouse 는 모두 machbased 프로세스이지만, 역할에 따라 수행하는 작업이 다르다.

Broker

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

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

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

Warehouse

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

Broker 처럼 Warehouse 에도 직접 클라이언트 접속이 가능하지만, 데이터 입력/갱신/삭제는 할 수 없고 오로지 해당 Warehouse 데이터 조회만 가능하다.




이중화


이중화란, 기존에 설치된 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