メインコンテンツへスキップ
メインコンテンツへスキップ

hashed Dictionary レイアウトの種類

hashed

Dictionary はハッシュテーブルの形式で完全にメモリ上に保存されます。Dictionary には、任意の識別子を持つ任意個数の要素を含めることができます。実際には、キーの数は数千万件に達することがあります。

Dictionary キーの型は UInt64 です。

すべての種類のソースがサポートされています。更新時には、データ(ファイルまたはテーブルから)は全体が読み込まれます。

設定例:

LAYOUT(HASHED())

設定付きの例:

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

sparse_hashed

hashed と同様ですが、メモリ使用量を削減する代わりに CPU 使用量が増加します。

Dictionary のキーは UInt64 型です。

設定例:

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

この種類の Dictionary でも shards を使用できます。また、sparse_hashedhashed よりも低速であるため、hashed の場合よりも sparse_hashed において shards の重要性が高くなります。

complex_key_hashed

このストレージ形式は、複合キーを持つ Dictionary 向けです。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]))