Azureテーブルストレージでは、ニュースアップデートを保存します。パーティションキーは、ニュースカテゴリに割り当てられたキーワードです。 "政治"、 "スポーツ"などAzureテーブルストレージの多くのパーティションキーから選択します。
ユーザーがログインすると、別のデータベースに保存されているユーザーの関心に基づいてレコードを選択できます。したがって、ユーザーは「政治」と「スポーツ」に興味があるかもしれません。明らかに、我々は、ユーザが興味を持っているカテゴリが非常に多いかもしれない。それは20以上のカテゴリになる可能性があります。
これらのカテゴリでニュースを更新できるようにテーブルをクエリするにはどうすればよいですか?具体的には、Azureテーブルストレージに対するSELECTステートメントで指定できる条件の数に制限があります。私は15以上の条件を指定できるとは思わない。 partitionKey = xまたはpartitionKey = yなど
通常、NoSQLデータベースでは、解決策は正規化を解除することですが、この場合、これは恐ろしい選択です。ユーザーのIDをパーティションキーとして使用するとします。 100万人のユーザーがいる場合は、各ユーザーが簡単に独自の更新プログラムを入手できるように、異なるパーティションキーを使用して同じレコードを100万コピー作成するのは意味がありません。
Azure Table Storageを使用してこのシナリオを処理するにはどうすればよいですか?