system.replicas 시스템 테이블
system.replicas 시스템 테이블
system.replicas 는 로컬 서버에 존재하는 복제 테이블에 대한 정보와 상태를 담고 있어요. 모니터링에 사용할 수 있으며, 각 Replicated* 테이블마다 하나의 행이 생성돼요.
출처: 문서
본문
Description
로컬 서버에 존재하는 복제 테이블에 대한 정보와 상태를 포함해요. 이 테이블은 모니터링에 사용할 수 있어요. 각 Replicated* 테이블마다 하나의 행이 들어 있어요.
Columns
-
database(String) — 데이터베이스 이름이에요. -
table(String) — 테이블 이름이에요. -
uuid(UUID) — 테이블 UUID예요. -
engine(String) — 테이블 엔진 이름이에요. -
is_leader(UInt8) — 복제본이 리더인지 여부예요. 여러 복제본이 동시에 리더일 수 있어요. 복제본은 merge_tree 설정인 replicated_can_become_leader 를 사용해 리더가 되는 것을 막을 수 있어요. 리더는 백그라운드 병합을 스케줄링하는 역할을 해요. 쓰기는 리더 여부와 무관하게 ZK에 세션이 있는 사용 가능한 복제본에 수행될 수 있다는 점을 유의하세요. -
can_become_leader(UInt8) — 복제본이 리더가 될 수 있는지 여부예요. -
is_readonly(UInt8) — 복제본이 읽기 전용 모드인지 여부예요. 이 모드는 구성에 ClickHouse Keeper 섹션이 없거나, ClickHouse Keeper에서 세션을 다시 초기화할 때 알 수 없는 오류가 발생했거나, ClickHouse Keeper에서 세션 초기화 중일 때 켜져요. -
readonly_start_time(Nullable(DateTime)) — 복제본이 읽기 전용 모드로 전환된 타임스탬프예요. 복제본이 읽기 전용 모드가 아니면 Null이에요. -
is_session_expired(UInt8) — ClickHouse Keeper와의 세션이 만료되었는지 여부예요. 기본적으로is_readonly와 같아요. -
future_parts(UInt32) — 아직 수행되지 않은 INSERT나 병합의 결과로 나타날 데이터 파트 수예요. -
parts_to_check(UInt32) — 검증 대기열에 있는 데이터 파트 수예요. 파트가 손상되었을 수 있다는 의심이 있으면 검증 대기열에 들어가요. -
zookeeper_name(String) — 테이블 메타데이터가 저장된 [Zoo]Keeper 클러스터(보조 클러스터일 수 있음)의 이름이에요. -
zookeeper_path(String) — ClickHouse Keeper에서 테이블 데이터로 가는 경로예요. -
replica_name(String) — ClickHouse Keeper에서의 복제본 이름이에요. 같은 테이블의 서로 다른 복제본은 서로 다른 이름을 가져요. -
replica_path(String) — ClickHouse Keeper에서 복제본 데이터로 가는 경로예요. ‘zookeeper_path/replicas/replica_path’ 를 연결한 것과 같아요. -
columns_version(Int32) — 테이블 구조의 버전 번호예요. ALTER가 수행된 횟수를 나타내요. 복제본들이 다른 버전을 가지면 일부 복제본이 아직 모든 ALTER를 수행하지 않았음을 의미해요. -
queue_size(UInt32) — 수행을 기다리는 작업의 대기열 크기예요. 작업에는 데이터 블록 삽입, 병합, 기타 특정 동작이 포함돼요. 보통 future_parts 와 일치해요. -
inserts_in_queue(UInt32) — 수행해야 할 데이터 블록 삽입 수예요. 삽입은 보통 꽤 빠르게 복제돼요. 이 숫자가 크면 뭔가 잘못된 것이에요. -
merges_in_queue(UInt32) — 수행을 기다리는 병합 수예요. 때로는 병합이 오래 걸리므로 이 값이 오랫동안 0보다 클 수 있어요. -
part_mutations_in_queue(UInt32) — 수행을 기다리는 돌연변이 수예요. -
queue_oldest_time(DateTime) —queue_size가 0보다 크면 가장 오래된 작업이 대기열에 추가된 시각을 보여줘요. -
inserts_oldest_time(DateTime) —queue_oldest_time을 참고하세요. -
merges_oldest_time(DateTime) —queue_oldest_time을 참고하세요. -
part_mutations_oldest_time(DateTime) —queue_oldest_time을 참고하세요. -
oldest_part_to_get(String) — 복제 대기열에서 가장 오래된 GET_PARTS 항목에서 얻은, 다른 복제본에서 가져올 파트의 이름이에요. -
oldest_part_to_merge_to(String) — 복제 대기열에서 가장 오래된 MERGE_PARTS 항목에서 얻은, 병합할 결과 파트 이름이에요. -
oldest_part_to_mutate_to(String) — 복제 대기열에서 가장 오래된 MUTATE_PARTS 항목에서 얻은, 돌연변이할 결과 파트 이름이에요. -
log_max_index(UInt64) — 일반 활동 로그의 최대 항목 번호예요. 이 열과 다음 세 열(log_pointer,total_replicas,active_replicas)은 ClickHouse Keeper와의 활성 세션이 있는 경우에만 0이 아닌 값을 가져요. -
log_pointer(UInt64) — 복제본이 실행 대기열로 복사한 일반 활동 로그의 최대 항목 번호에 1을 더한 값이에요. log_pointer 가 log_max_index 보다 훨씬 작으면 뭔가 잘못된 것이에요. -
last_queue_update(DateTime) — 대기열이 마지막으로 업데이트된 시각이에요. -
absolute_delay(UInt64) — 현재 복제본의 지연이 초 단위로 얼마나 큰지예요. -
total_replicas(UInt32) — 이 테이블의 알려진 전체 복제본 수예요. -
active_replicas(UInt32) — ClickHouse Keeper에 세션이 있는 이 테이블의 복제본 수(즉, 작동 중인 복제본 수)예요. -
lost_part_count(UInt64) — 테이블 생성 이후 모든 복제본이 합쳐서 잃어버린 데이터 파트 수예요. 값은 ClickHouse Keeper에 유지되며 증가만 할 수 있어요. -
last_queue_update_exception(String) — 대기열에 손상된 항목이 있을 때의 메시지예요. ClickHouse가 버전 간 하위 호환성을 깨뜨리고 최신 버전이 쓴 로그 항목을 이전 버전이 파싱하지 못할 때 특히 중요해요. -
zookeeper_exception(String) — ClickHouse Keeper에서 정보를 가져올 때 오류가 발생한 경우 마지막 예외 메시지예요. -
replica_is_active(Map(String, UInt8)) — 복제본 이름과 복제본 활성 여부 사이의 맵이에요.
별칭(Aliases):
readonly_duration—if(isNull(readonly_start_time), NULL, now() - readonly_start_time)의 별칭이에요.
Example
SELECT *
FROM system.replicas
WHERE table = 'test_table'
FORMAT Vertical
Query id: dc6dcbcb-dc28-4df9-ae27-4354f5b3b13e
Row 1:
───────
database: db
table: test_table
engine: ReplicatedMergeTree
is_leader: 1
can_become_leader: 1
is_readonly: 0
is_session_expired: 0
future_parts: 0
parts_to_check: 0
zookeeper_path: /test/test_table
replica_name: r1
replica_path: /test/test_table/replicas/r1
columns_version: -1
queue_size: 27
inserts_in_queue: 27
merges_in_queue: 0
part_mutations_in_queue: 0
queue_oldest_time: 2021-10-12 14:48:48
inserts_oldest_time: 2021-10-12 14:48:48
merges_oldest_time: 1970-01-01 03:00:00
part_mutations_oldest_time: 1970-01-01 03:00:00
oldest_part_to_get: 1_17_17_0
oldest_part_to_merge_to:
oldest_part_to_mutate_to:
log_max_index: 206
log_pointer: 207
last_queue_update: 2021-10-12 14:50:08
absolute_delay: 99
total_replicas: 5
active_replicas: 5
lost_part_count: 0
last_queue_update_exception:
zookeeper_exception:
replica_is_active: {'r1':1,'r2':1}