1

タイムスタンプ (ハッシュ) - 値のペアとして構造化された多くのデータ テーブルがあるとします。値は、たとえば温度やその他の種類のさまざまな測定データである可能性があります。

特定の値のタイムスタンプを取得するには、値 (ハッシュ) - タイムスタンプ (範囲) でセカンダリ インデックスを作成できますが、値の範囲のタイムスタンプを取得するために GT、LT、BETWEEN などの比較操作で値をクエリしたい場合はどうすればよいでしょうか?

明らかに、スキャンの使用は避けたいです。私が思いついた唯一のことは、ダミーのハッシュキーを使用し、値とタイムスタンプを range 属性に入れることですが、これには独自の問題があると思います (スキャンと比較して良いか悪いか?)。

より良い解決策はありますか、それとも DynamoDB でこれを行うことができますか?

4

1 に答える 1

0

HASH を知る必要があり、RANGE に対してクエリを実行できます。これを回避するには、テーブルを非正規化する必要があります。つまり、キーを逆にして複製を作成します。これは面倒な作業のように思えますが、キー バリュー ストアのすべてのパフォーマンス上の利点を実現するために必要なトレードオフの 1 つです。

この場合の例: 両方のキーが完全にランダムな場合、運が悪いです。HASH をダミー値として設定するのではなく、毎月のタイムスタンプを使用してみることができます。そうすれば、ハッシュがどうあるべきかを常に実用的に解決できるはずです。ハイフンで区切られた両方の値の組み合わせとして範囲を設定することもできます。 .

于 2012-12-10T18:25:09.027 に答える