2016-10-20 8 views
4

AzureのDocumentDbはsome strange storage limitsているようだ:Azure DocumentDbストレージの制限 - 正確にはどういう意味ですか?

-------------------------------------------------------------------- 
| Entity       | Default quota (Standard Offer)| 
-------------------------------------------------------------------| 
| Document storage per collection | 250 GB*      | 
-------------------------------------------------------------------| 
| Throughput per collection,  | 250,000 RU/s*     | 
| measured in Request Units per |        | 
| second per collection   |        | 
-------------------------------------------------------------------| 
| Request document size   | 512 KB*      | 
-------------------------------------------------------------------| 
| Response document size   | 1MB       | 
-------------------------------------------------------------------| 

要求文書のサイズを - それは要求せずに512キロバイトより大きくすることはできませんdocumentdbに記憶するために送信されるJSONペイロードのサイズをサポートするためにことを意味しています?

また、より大きな要求文書サイズに対してサポート要求が行われた場合、その制限は何ですか? 1MBを求めることはできますか? 2MB?

レスポンスドキュメントサイズ - jsonレスポンスのサイズが1MBを超えないことを意味しますか?それは、最も単純なもの以外には役に立たないようです。

答えて

17

更新日:2016年12月の時点で、DocumentDBはここ

DocumentDBチームを4MBする2メガバイトとページサイズのクォータに既定のドキュメントサイズの割り当て量を増加しています。それは一方で、私は明確にしようとすることができます...私たちの「限界」ページを向上させることができる上の文言のようになります。

原稿サイズクォータ(デフォルト:ドキュメントあたり2メガバイト)

デフォルトドキュメントサイズのクォータはドキュメントあたり2MBです。つまり、チケットを送信することなく、各レコードに< = 2MB相当のJSONを保存することができます。 参照:https://docs.microsoft.com/en-us/azure/cosmos-db/documentdb-resources#documents

私たちは、このデフォルトのクォータを広く広げるために、長期的な改善に積極的に取り組んでいます。その間、今すぐDocumentDBアカウントでより大きなドキュメントサイズのクォータをプレビューできるようにサポートリクエストを送信することができます。

また注目に値する - ほとんどのドキュメント(一般的に言えば2MBを超える)は、無制限の大きな配列を含んでいます。各配列要素を抽象化し、別々のドキュメントとしてモデル化するほうがよいでしょう。結果のページあたり

応答サイズクォータ(デフォルト:ページあたり4メガバイト)

明確にする - DocumentDBは、任意のサイズのクエリ結果(例えば1キロバイト、1 GB、1 TB、など)ことができます。

大規模なクエリ結果の場合、DocumentDBは結果のページングを行い、各ページは応答サイズの制限(デフォルトではページあたり4MB)に制限されます。

なぜページ番号付きのクエリの結果は本当にクールな機能です:

はあなたが(DocumentDB以外の)別のデータストアにクエリを実行しており、永遠に取るように見える...クエリがかかる場合完了するまでに1時間かかりますか?進行時間が何時間になるかどうか、どのように進歩が進んでいるかをどのように伝えることができますか?

DocumentDBは、クエリー結果を反復処理できるページのセットに分割することでこれを解決します。あなたはかなりのバッファが(依存/ Wプロビジョニングスループットを使い果たした場合は5秒

  • :ページあたり

    • 最大応答サイズ:4メガバイト
    • ページあたりの最大時間制限の結果は、多くの基準にページ分割されています

    これは、すぐにクエリ結果をストリーミングして利用することができ、クエリの実行を再開する速度を制御できることを意味します。

    var query = client.CreateDocumentQuery<Family>(collectionUri, "SELECT * FROM Families", options).AsDocumentQuery(); 
    while (query.HasMoreResults) 
    { 
        foreach (Family family in await query.ExecuteNextAsync()) 
        { 
         families.Add(family); 
        } 
    } 
    

    次のスニペットは、従来のクライアントSDKは、ページ指定の結果を反復処理し、実体化している方法を示しています。

    次のスニペットは、C#.NETのSDKを使用してクエリを一度に1ページを結果取得する方法を示しあなたの代わりにクエリ結果全体:

    var families= client.CreateDocumentQuery<Family>(collectionUri, "SELECT * FROM Families", options).toList(); 
    
  • +0

    ありがとうございました。これは、サポートの介入を行っても最大の文書要求と応答が1MBであることを意味しますか?より大きな文書サイズの計画はありますか? – richard

    +2

    特定のシナリオの詳細に応じて、req/respサイズをさらに大きくすることができます。そして、はい、私たちは広く(デフォルトで)はるかに大きなドキュメントサイズをサポートするために取り組んでいます:) –

    +7

    @AndrewLiu私は現在のドキュメントのサイズ制限を見つけるのに夢中でした...に? – LowlyDBA

    関連する問題