IMCS 고가용성
In-Memory Column Store 기능의 DB 고가용성에 대하여 설명합니다.
IMCS 기능(TAC 환경)
Tibero Active Cluster(이하 TAC) 환경에서 IMCS 기능을 사용할 경우, 실행 중인 모든 인스턴스는 자신만의 In-Memory(IM) Column Store 공간을 가집니다. 기본적으로 TAC 환경에서 오브젝트에 대한 populate를 수행할 경우 해당 오브젝트의 데이터는 각 노드에 분산되어 저장됩니다.
Tibero에서 모든 TAC 노드의 INMEMORY_SIZE 파라미터의 값은 동일해야 합니다.
In-Memory Distribution
In-Memory 오브젝트에 지정하는 DISTRIBUTE 옵션은 오브젝트의 데이터가 각 TAC 노드에 어떻게 분산되어 저장될지를 결정합니다.
DISTRIBUTE 옵션
AUTO
Tibero 내부 규칙에 따라 데이터를 각 노드별로 균등하게 분산시킨다. (기본값)
By Rowid Range
데이터를 rowid의 range로 나누어 각 노드 별로 분산시킨다. 현재 Tibero에서 미지원 상태이다.
By Partition
데이터를 파티션 별로 나누어 각 노드별로 분산시킨다. 현재 Tibero에서미지원 상태이다.
By Subpartition
데이터를 서브파티션 별로 나누어 각 노드 별로 분산시킨다. 현재 Tibero에서 미지원 상태이다.
In-Memory Duplication
In-Memory 오브젝트에 지정하는 DUPLICATE 옵션은 각 TAC 노드가 데이터의 복제본을 저장 여부 및 방식을 결정합니다.
DUPLICATE 옵션
옵션
설명
NO DUPLICATE
In-Memory 데이터의 복제본이 존재하지 않는다. (기본값)
DUPLICATE
각 In-Memory 데이터는 하나의 복제본이 존재한다. duplicate 옵션이 지 정된 In-Memory 오브젝트에 대한 populate 수행 시 2개의 TAC 노드에 같은 데이터가 저장된다. 현재 Tibero에서 미지원 상태이다.
DUPLICATE ALL
각 In-Memory 데이터는 노드 갯수만큼의 복제본이 존재한다. 모든 인스 턴스는 In-Memory 오브젝트의 복사본을 자신의 In-Memory ColumnStore 공간에 저장하고 있다.
TAC 환경에서의 Parallelism
기본적으로 TAC 환경에서 In-Memory 데이터는 각 TAC 노드 별로 분산되어 저장되므로 In-Memory 데이터에 대한 쿼리 수행은 병렬적으로 수행됩니다.
예를 들어, 3-node TAC 환경에서 populate가 완료된 테이블에 대한 In-Memory scan을 수행하면, 각 TAC 노드에서 저장하고 있는 해당 테이블의 데이터를 읽어서 전송해주게 됩니다. 즉, TAC 환경에서 In-Memory scan을 수행하면 노드 갯수만큼의 DOP(Degree Of Parallelism)를 가지고 병렬적으로 스캔을 수행합니다.
Last updated