2017-08-01 15 views
0

のためノーパーティション・キー、どのように私はこれを分割すべきか?私はパーティションキーを使うべきかどうか?私はそのコレクション以来 "/アドレス/州"を行うことはできないと思います...または私はできますか? 「/ Id」または「/ name」を使用する必要がありますか? idはdocumentDBによって生成されたGuidであり、nameはほとんど常に一意であるため、それらがほとんど一意であるということは良い考えです。だから私はどちらを使うべきですか?私は名前で問い合わせるかもしれないと思うが、私はpartitionkeyは、州や都市、親などのグループ化が可能な文書でなければならないと思った。パーティション・キーまたはDocumentDbでdocumentDB

は、私は全くのPartitionKeyを使うべきではないでしょうか。これは、documentDbのAspNetuserスキーマユーザーテーブルに適用されます。 partitionKeyのプロパティにはどのプロパティを使用しますか?

public class Business 
{ 
    [JsonProperty(PropertyName = "id")] 
    public string Id { get; set; } 

    [JsonProperty(PropertyName = "name")] 
    public string Name { get; set; } 

    [JsonProperty(PropertyName = "description")] 
    public string Description{ get; set; } 

    [JsonProperty(PropertyName = "addresses")] 
    public List<Address> Addresses{ get; set; } 

    //more columns... 
} 


public class Address 
{ 
    [JsonProperty(PropertyName = "street")] 
    public string Street{ get; set; } 

    [JsonProperty(PropertyName = "city")] 
    public string City{ get; set; } 

    [JsonProperty(PropertyName = "state")] 
    public string State{ get; set; } 
} 

答えて

0

私はのPartitionKeyを使用するかではないでしょうか?あなたはここに、あなたのコレクションを分割するかどうかを決定するために

考慮すべきいくつかの重要なポイントされています

シングルパーティションのコレクションは:低価格オプションやクエリを実行し、トランザクションを実行する能力を持っていますすべてのコレクションデータにわたって単一パーティション(10GBと10,000 RU/s)のスケーラビリティとストレージの制限があります。これらのコレクションのパーティションキーを指定する必要はありません。大量のストレージやスループットを必要としないシナリオでは、単一パーティションのコレクションが適しています。

パーティションのコレクション:複数のパーティションにまたがるし、ストレージやスループットの非常に大きな金額をサポートすることができます。これらのコレクションのパーティションキーを指定する必要があります。

私は "/アドレス/州"のコレクション以来できるとは思いません...またはできますか?

partition keyは、ドキュメント内のプロパティまたはパスです。

「/ Id」または「/ name」を使用する必要がありますか? idはdocumentDBによって生成されたGuidであり、nameはほとんど常に一意であるため、それらがほとんど一意であるということは良い考えです。だから私はどちらを使うべきですか?

理想的なパーティションキーは、クエリにフィルタとして頻繁に表示され、ソリューションのスケーラビリティを確保するのに十分なカーディナリティを持つキーです。 「Designing for partitioning」セクションでは、パーティションキーを選択する際の2つの重要な考慮事項と実際のシナリオのいくつかを見つけることができます。詳細については、リンクを確認してください。

+0

はどのように「/アドレス/状態」の仕事は、いつビジネス、複数のアドレスを有することができるのだろうか? "/ address [0]/state"のようにはなりませんか? MSのサポートは、私が場所を埋め込むのではなく、別のコレクションとして持っていれば、パーティションキーコレクションに '/ state'を使うように言いました。グループ化が小さくなるほど良い。 – wil

関連する問題