Azure Storage Tableを使用して構築されたブログ投稿システムのようなイメージング。 ユーザーがメッセージを投稿し、データベースにユーザーの地域、市および言語が記録されます。Azureストレージテーブルはフィルタリングアドバイスを記録します
その後、ユーザーは他のユーザーのすべての投稿をブラウズし、地域、市区町村、言語の任意の組み合わせでフィルタリングすることができます。またはどちらも見ず、それらのすべてを見る。
私はいくつかのソリューションを参照してください。
- 地域・都市言語(:読み取りの超高速のポイントクエリ;短所:長所書き込みのメッセージあたり8回の取引)の組み合わせで8つの異なるパーティションにそれぞれのメッセージを入れてください。
- リージョンシティーとパーティションスキャンを実行して言語でフィルタリングする機能(プロ:1トランザクション未満のトランザクション)、コンプリケーション:パーティションスキャン、メッセージごとに4トランザクションの4つの異なるパーティションに各メッセージを配置します。
- ユーザーのIDに基づいて各メッセージをパーティションに入れます(プロンプト:メッセージごとに1つのトランザクション、短所のテーブルスキャンとそれ以降のパーティションスキャン)。
私はそれを参照してください方法:
- 高速読み取り、遅い(そしておそらく高価な)が書き込まれます。
- 平準化された読み取り/書き込み/コスト。
- 高速書き込み、低速(しかし安い)読み取り。
「コスト/安い」とは、トランザクション(スペースではない)に基づく価格設定を意味します。 「バランスのとれた」とは、これらの亜種のうちのただ一つを意味します。
インデックステーブルの使用について考えましたが、ここでどのように役立つかはわかりません。 質問には、おそらくもう一つ、より良い方法がありますか?
これは実際に意見を要請し、広範なものです。正解はありません。ベンチマークを行い、特定のアプリに適した組み合わせを選択する必要があります。しかし、あなたが "インデックステーブル"の意味を理解していません(追加のストレージテーブルを参照していて、特定のインデックス付きプロパティをパーティション/行キーと呼んでいますか?)。 –
はい。インデックステーブルはあなたが説明したようなものです。他の解決策があるかどうか尋ねていました。 –