2

私は現在、大規模な顧客ベースの顧客関連データを保存する DynamoDB を利用したアプリケーションを開発しています。DynamoDB に完全に適合しています: ハッシュ キーとしての顧客 ID は適切に分割されます。

このデータセットに関連するメタデータがいくつかあります。現在はかなり小さい (約 10 項目) ですが、今後数年で 100 項目まで増えると予想しています。不必要に展開を複雑にします (複数のサイトで使用するライブラリを開発しています)。

したがって、同じものを同じように保持することは理にかなっているため、メタデータと一緒にメタデータを DynamoDB テーブルに保持することは理にかなっています。ただし、DynamoDB のドキュメントでは、スケーラビリティの問題を理由に、少数の一般的なハッシュ キーを使用しないように警告しています。キャッシュされていない小さなデータセットは、大きなデータセットと同じ容量の見積もりを使用する可能性がありますが、積極的なキャッシュでそれを相殺します。

良心的な開発者は何をすべきか?

4

1 に答える 1

1

これらのメタデータが重い意思決定アルゴリズムで使用されることを意図している場合は、おそらく memcached またはその他の分散キャッシュの代替手段を使用する方が理にかなっています。さらに、データベースがボトルネックにならないため、任意のデータベースを選択できます。

実装は非常に単純で、データ アクセス コンポーネントへのプロキシであり、キャッシュでキーを検索し、見つからない場合はデータベースから読み取り、次にキャッシュに格納します。

AWS ElasticCacheを見てみましょう

于 2012-08-07T11:51:01.767 に答える