GOLDILOCKS Cluster 에서는 모든 멤버의 데이터의 통일성을 위해 Global Secondary Index 를 지원합니다.
Global Secondary Index 란
Cluster 환경의 각 멤버들의 레코드의 GRID ( Global Row Identifier ) 값을 Key 로 구성한 B-Tree 인덱스 입니다.
Global Secondary Index 가 없는 테이블에 대해서는 LIMIT, FETCH 같은 Non-Deterministic DML 을 지원하지 않습니다.
GRID
각 멤버들의 동일한 레코드에 대해서 구분할 수 있는 Unique 한 값으로, 데이터가 최초 저장될 때 할당되어 모든 멤버들에게 전파되어 함께 저장됩니다.
레코드의 값이 갱신되거나 Shard Key 가 변경되어도 GRID 값은 변하지 않습니다.
다음 그림처럼, LIMIT 이나 FETCH 절은 GRID 에 의해 순서를 보장받을 수 있습니다.
테이블에 Global Secondary Index 유무는 아래 쿼리로 확인할 수 있습니다.
gSQL> SELECT TABLE_OWNER, TABLE_SCHEMA, TABLE_NAME FROM ALL_GSI_PLACE; TABLE_OWNER TABLE_SCHEMA TABLE_NAME ----------- ----------------- ------------------------ SYS DICTIONARY_SCHEMA DBC_TABLE_TYPE_INFO SYS DICTIONARY_SCHEMA DBC_TABLE_TYPE_INFO SYS DICTIONARY_SCHEMA JDBC_CLIENT_PROPS SYS DICTIONARY_SCHEMA JDBC_CLIENT_PROPS SYS DICTIONARY_SCHEMA IMPLEMENTATION_INFO_BASE SYS DICTIONARY_SCHEMA IMPLEMENTATION_INFO_BASE TEST PUBLIC T1 TEST PUBLIC T1 TEST PUBLIC T2 TEST PUBLIC T2 TEST PUBLIC T3 TEST PUBLIC T3 TEST PUBLIC T4 TEST PUBLIC T4 TEST PUBLIC T5 TEST PUBLIC T5 16 rows selected.
'Database > Goldilocks' 카테고리의 다른 글
[GOLDILOCKS] USER 와 SCHEMA 의 관계 알아보기 (0) | 2018.06.08 |
---|---|
[GOLDILOCKS] Global Secondary Index 추가, 삭제하기 (0) | 2018.06.07 |
[GOLDILOCKS] goldilocks_data, goldilocks_home 디렉토리별 역할 알아보기 (0) | 2018.06.07 |
[GOLDILOCKS] SQL/PSM, PL/SQL, PROCEDURE, FUNCTION 선언 및 사용법 알아보기 (0) | 2018.06.02 |
[GOLDILOCKS] 데이터베이스 구동 단계별 설명 및 방법 알아보기 (0) | 2018.05.31 |