2016-12-06 9 views
-1

プロパティとしてA、B、C、D..Gというデータモデルがあります。このモデルには複合キー(A、B、C、D)があります。私は、このデータモデルのエンティティを淡色のストレージに格納する必要があります。 (A + B + C + D)を連結し、その結果をパーティションキーの値として保存する必要があります(より高速な検索操作のために?)。紺碧のテーブルストレージのパーティションキーとしての複合キー

このような場合、パーティションキー/行キーを選択するベストプラクティスは何ですか?このうち

+0

これは本当に客観的な答えがありません。特定のニーズがデータをパーティションキーと行キーにマッピングする方法を指示するため、データをルックアップする必要がある方法を共有していません。書かれているように、これは具体的に何も基づいて、あなたに意見をもたらすだけです。 –

答えて

-1

チェック: https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/designing-a-scalable-partitioning-strategy-for-azure-table-storage

は良い出発点のように見えます。クエリを考慮について言及し、この公式documentとして

+0

データモデリングリンクの投稿は答えではありません。せいぜい、それはコメントです(あなたはコメントするほどの評判を持っています)。 –

1

Iは、(高速検索操作のために?)パーティション・キーの値として結果を格納次いで(A + B + C + D)連結とすべき

使用するクエリを知ることで、PartitionKeyで考慮する必要があるプロパティを判断できます。クエリで使用されるプロパティは、PartitionKeyの候補です。 エンティティに2つ以上のキープロパティがある場合は、連結値の複合キーを使用できます。

このような場合のパーティションキー/行キーを選択するためのベストプラクティスは何ですか?

クエリのパフォーマンスを向上させるには、クエリでPartitionKeyまたはRowKeyの候補として使用したプロパティを考慮する必要があります。クエリが頻繁に基づいている場合

| ID | Name | CategoryID | SubCategoryID | DeliveryType | Price | Status | SalesRegion |

は、次のプロパティがあり、テーブルと呼ばれる製品があります:あなたはPK/RK選択のより良い理解を持っているためここでは簡単なサンプルですCategoryIDSubCategoryIDには、CategoryID_SubCategoryIDをPartitionKeyとして組み合わせて、特定のパーティションをすばやく特定し、特定のカテゴリ内のすべての製品を検索することができます。 RowKeyの場合、特定の製品IDを照会する場合はID、SalesRegion、Price、DeliveryTypeの順に製品をフィルタリングする場合はSalesRegion_Price_DeliveryTypeと設定できます。

さらに、スケーラブルでパフォーマンスの高いAzureストレージテーブルの設計についてはtutorialに従うことができます。

関連する問題