본문으로 바로가기
본문으로 바로가기

hashed 딕셔너리 레이아웃 유형

hashed

딕셔너리는 해시 테이블(hash table) 형태로 전체가 메모리에 저장됩니다. 딕셔너리에는 어떤 식별자를 가진 요소든 개수 제한 없이 포함될 수 있습니다. 실제로는 키 개수가 수천만 개에 이를 수 있습니다.

딕셔너리 키는 UInt64 타입입니다.

모든 유형의 소스를 지원합니다. 업데이트 시에는 데이터(파일 또는 테이블)는 전체를 한 번에 읽습니다.

구성 예:

LAYOUT(HASHED())

설정이 포함된 구성 예:

LAYOUT(HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

sparse_hashed

hashed와 유사하지만, 메모리를 더 적게 사용하는 대신 CPU 사용량이 더 많습니다.

딕셔너리 키는 UInt64 타입입니다.

구성 예시:

LAYOUT(SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

이 딕셔너리 타입에서도 shards를 사용할 수 있으며, sparse_hashedhashed보다 느리므로 hashed보다 sparse_hashed에서 shards 사용이 더 중요합니다.

complex_key_hashed

이 저장 방식은 복합 에 사용합니다. hashed와 유사합니다.

구성 예시는 다음과 같습니다.

LAYOUT(COMPLEX_KEY_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

complex_key_sparse_hashed

이 저장소 유형은 복합 에 사용되는 유형입니다. sparse_hashed와 유사합니다.

구성 예제:

LAYOUT(COMPLEX_KEY_SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))