Docs Menu
Docs Home
/ /
Atlas App Services
/

サービスの制限

項目一覧

  • Overview
  • 集計
  • Atlas
  • バッチ ロード
  • フェデレーティッドデータベースインスタンス
  • サーバーレスインスタンス
  • シャーディングされたクラスター
  • 時系列コレクション
  • プライベートエンドポイント
  • 変更ストリーム
  • データベース コマンド
  • デバイスの同期
  • 同時ワークロード
  • デフォルトのメッセージサイズ制限
  • 非アクティブのため一時停止
  • MongoDB のバージョン要件
  • HTTP バージョンの要件
  • クエリ オプション
  • クエリ結果
  • リクエストトラフィック
  • 接続プーリング
  • 静的ホスティング

Atlas App Services には、ツールとクライアントが App Services を通じて MongoDB と交流する方法を構築する際に、留意する必要があるガイドラインがいくつかあります。 クエリの構造方法、使用する CRUD と集計操作の選択、同時ワークロードの処理方法を決定する際に、このガイダンスを念頭に置いてください。

Atlas App Services は、 $currentOp$indexStatsを除くすべての集計パイプライン ステージをサポートしています

セキュリティ上の理由から、ユーザー関数では集計パイプライン ステージのサブセットのみがサポートされています。

使用可能なパイプライン ステージと許可された関数コンテキストのリストについては、「集計 」を参照してください。

データが MongoDB Atlas に一括/バッチでロードされる場合、App Services が変更を処理している間にデバイスにデータが表示されるのが遅延する可能性があります。

フェデレーティッドデータベースインスタンスは、MongoDB データソースとしてアプリにリンクできます。 ただし、Atlas Data Federation を使用する際に注意する必要がある注意事項がいくつかあります。

サーバーレスインスタンスは MongoDB データソースとしてアプリにリンクできます。 ただし、サーバーレスインスタンスは現在変更ストリームをサポートしていないため、次の機能は制限されています。

  • サーバーレスインスタンスではデータベースtriggerを作成できません。

  • サーバーレスインスタンスをアプリのDevice Syncクラスターとして使用することはできません。

  • サーバーレス MongoDB Atlas インスタンスである変更データソースのコレクションを監視することはできません。

Atlas Device Sync は現在、シャーディングされた MongoDB Atlas クラスターをサポートしていません。 ただし、シャーディングされたクラスターをデータソースとして追加し、関数 からアクセスすることはできます。

時系列コレクションはまだ変更ストリームをサポートしていません。 したがって、時系列コレクションで trigger を定義することはできません。

Atlas Device Sync では時系列コレクションを使用できますが、 Data Ingestのみがサポートされます。

App Services は、Amazon Web Services を使用して Virtual Private CloudAWS PrivateLink に安全に接続するためのプライベートエンドポイントをサポートしています。プライベートエンドポイントを使用するには、アプリをAmazon Web Servicesのリージョンにローカルに配置する必要があります。 App Services では、グローバル Apps または GCP または Azure に配置されたアプリのプライベートエンドポイントはサポートされていません。 詳細については、「プライベートエンドポイント 」を参照してください。

App Services は、クラスターのサイズに基づいて、すべてのアプリにわたって特定のクラスターに対して開かれる変更ストリームの合計数を制限します。 次の表に、各クラスター サイズの制限を示します。

クラスター サイズ
Change Streamsの最大数
無料階層( M0
5
共有クラスター( M2 / M5
10
小規模な専有クラスター( M10 / M20
100
標準クラスター( M30 / M40
1000
標準クラスター( M50 - M90
1000
高出力クラスター( M100+
1000

注意

App Services は、データベースtriggerまたはDevice Sync操作に関連付けられているコレクションごとに 1 つの変更ストリームを開きます。

重要

使用に関する推奨事項

開いている変更ストリームの数を最小限に抑えるには、次の手順に従います。

  • 必要な場合にのみ同期操作を開始します。 不要になった場合は、開いている同期ストリームをすぐに閉じます。

  • 無制限の数のコレクションを同期する必要があるデータモデルは避けます。

App Services は、 クライアント SDK または 関数 内の データベースコマンド をサポートしていません。ただし、ワイヤプロトコル経由で MongoDB クラスターに接続している場合は、データベースコマンドの限定的なサブセットを呼び出すことができます。 サポートされているコマンドのリストについては、「データベースコマンド 」を参照してください。

最大5 , 000の同時同期接続を確立できます。 「リクエスト トラフィック」を参照してください。

書込み:
パフォーマンスを向上させるには、同時書込み数を 1 つの MongoDB ドキュメントに制限することをお勧めします。 App Services では、MongoDB ドキュメントに同時にデータを書込むユーザー数にハード制限はありません。 ただし、同時書込み (write) が 30 を超えると、同期や競合の解決が遅れる可能性があります。
読み取り:
グローバル レルムから読み取るフロントエンド クライアントは、数十の同時ユーザー数を超えることができます。

Tip

スケーラビリティ

多数の同時書込み (write) を行う場合は、各書込み (write) を別々のドキュメントで動作させます。

Device Sync では、クライアント アプリケーションから送信されるすべてのメッセージに対して圧縮された20 MB のデフォルトのメッセージ サイズ制限があります。 メッセージのサイズは、クライアント デバイスから送信された変更の圧縮サイズによって異なります。 変更セットと Sync が使用する圧縮の詳細については、「 変更セット 」を参照してください

変更セットの圧縮されたサイズは、アップロードされるドキュメントのサイズと直接的には一致しません。 ただし、実際には、変更セットのサイズは通常、アップロードされるドキュメントのサイズと同じ順序になります。

この制限は、リソースを過剰に消費する接続に対する対策として機能します。

この制限は、 failed to read: read limited at 20971521 bytesのようなエラー メッセージとして表示されることがあります。

サポート チケットを提出して、上限を引き上げることをリクエストできます。

30 日間アクティビティがない場合、Device Sync は一時停止します。 Device Sync を再度有効にする方法については、「 同期の再有効化 」を参照してください。

MongoDB サービスを使用して、MongoDB バージョン 3.6 の CRUD および集計機能のほとんどにアクセスできます。ただし、App Services は標準ツールとクライアントで利用可能なすべての操作と機能をサポートしていません。 App Services 経由で MongoDB に接続するときに利用できる特定の MongoDB 操作のリストについては、 CRUD および集計 API リファレンス を参照してください。

Device Sync では、特定のバージョンの MongoDB を実行するために MongoDB Atlas クラスターが必要です。 Flexible Sync には MongoDB 5.0.0 以降が必要です。

データAPIおよびHTTPS endpointsでは、リクエストを行う際にHTTP /1.1 以上が必要です。

App Services は、システム関数内のすべてのクエリ オプションをサポートしています。 App Services は、ユーザー関数から実行される CRUD 操作の特定のオプションをサポートしていません。 App Services 経由で MongoDB に接続するときに使用できる特定のオプションのリストについては、「クエリ オプション 」を参照してください。

App Services を通じて実行された MongoDB クエリは、最大 50,000 のドキュメントを返すことができます。 さらに多くのドキュメントを返す必要がある場合は、クエリをページ分割することを検討してください。

App Services はリクエスト トラフィックを次のデフォルトに制限します。

App Services は、上記の制限を超えるリクエストを処理できます。 ただし、これらの制限は、アプリケーションが応答してスケーリングできるようにし、DOS 攻撃や意図しない請求を防ぐために設定されています。

サポート チケットを提出して、上限を引き上げることをリクエストできます。

App Services は接続プーリングを使用して、リクエストとtrigger実行の間で接続を頻繁に開始したり閉じたりするオーバーヘッドを減らします。 接続は必要に応じて開かれます。 接続プーリングは、次のいくつかの要因によって決まります。

  • クラスター階層。 クラスター階層が高いほど、プール内で使用できる接続も多くなります。

  • 配置モード。 グローバル配置では各リージョンで複数のサーバーを使用するため、接続プール全体が大きくなります。

  • サービス。 各サービスには独立した接続プールがあるため、アプリ内のサービスの数は利用可能な接続数に影響しません。

App Services は静的ホスティングに最大ファイル サイズ 25 MB の制約を適用します。

重要

静的ホスティングは非推奨です。 詳細はこちら。

戻る

請求