1

単調に増加するキー (従来のタイムスタンプなど) を使用する危険性は、 docs に明確に説明されています。

この記事の執筆時点では、キーで単調減少パターンを使用した場合の影響の可能性が高くなります。これは、「最新のレコードを最初に」定期的に取得するときに提案されるアプローチです。

増加するキーと比較して減少するキーを使用した場合の影響について、誰かが権威をもって話すことができますか? おそらく、「同等のホットスポット」、「ホットスポットの減少」、または「ホットスポットはありませんが、他の望ましくない/壊滅的な動作を引き起こします」?

PS確かに、適切なデータストアの選択として Bigtable を提案するのに十分な「大きな」データがないかもしれません (決してないかもしれません)。 " 可能性のある読者 (つまり、キーに対してレンジ スキャンを使用する -- おそらくタイムスタンプによってクラスター化されている) は、可能性のあるライター (つまり、キーが "de-プロモートされたフィールド、塩の破片、またはランダムエントロピーによって「クラスター化」されていますが、何かが欠けている可能性があります... それとも、これは単なる「最先端」ですか?

4

1 に答える 1

1

単調に減少するキーは、単調に増加するキーと同様に良くありません。前者は辞書順で最初のタブレット (HBase 用語では領域) を処理するノードをハンマーで叩くことになりますが、後者はクラスター内の最後のタブレットをハンマーで叩き続けます。これらは、クラスター内の同じノードまたは異なるノードに割り当てることができます。

Bigtable の理想的なアクセス パターンは、最新のキーのみや最古のキーのみではなく、分散読み取りと分散書き込みです。

したがって、時間自体は単調に増加しますが、データがさまざまなソース (たとえば、さまざまなサーバーからの監視データ、さまざまなティッカーからの株価、さまざまなデバイスからの温度測定値など) から来ている場合、次のことが可能です。それらを次のようなキーに結合します。

<device-id>#<timestamp-range>

デバイスごとに単調に増加しますが、グローバルではなく、特に数千または数百万のデバイスがデータを並行して送信している場合.

于 2016-06-04T21:40:07.787 に答える