すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for MongoDB:読み取り専用ノード

最終更新日:Mar 15, 2025

ApsaraDB for MongoDB は、プライマリノードとセカンダリノードから読み取りワークロードをオフロードするために、インスタンスに独立した接続文字列 Uniform Resource Identifier(URI)を持つ読み取り専用ノードを提供します。 読み取り専用ノードは、プライマリノードとセカンダリノードが大量の読み取りリクエストを処理する場合に、独立したシステムへの直接接続に適しています。

大量の読み取りリクエストを受信するシナリオでは、プライマリノードとセカンダリノードでは読み取りワークロードを処理するには不十分であり、ビジネスに影響を与える可能性があります。 この場合、ビジネス要件に基づいて 1 つ以上の読み取り専用ノードを作成し、大量のデータベース読み取りリクエストを処理できます。 これにより、アプリケーションのスループットが向上します。

アーキテクチャ

只读节点结构图

読み取り専用ノードには、次の特徴があります。

  • 読み取り専用ノードは、oplog を使用して、待機時間が最も短いプライマリノードまたはセカンダリノードからデータを同期します。 読み取り専用ノードは、大量の読み取りリクエストを受信するビジネスシナリオにおいて、プライマリノードとセカンダリノードの読み取りワークロードを軽減するために使用できます。

  • 読み取り専用ノードは、インスタンスに独立した接続文字列 URI を持っています。 読み取り専用ノードは、分析サーバーなどの分析プログラムへの直接接続に適しています。 読み取り専用ノードは、既存のプライマリノードとセカンダリノードへの接続を中断しません。

  • インスタンスに 2 つ以上の読み取り専用ノードがある場合、読み取り専用接続文字列 URI を使用して、読み取り専用ノードが受信する読み取りリクエストのバランスをとることができます。

読み取り専用ノードとセカンダリノードの違い

ノード

類似点

相違点

シナリオ

読み取り専用ノード

  • システムまたはアプリケーションが読み取り専用ノードまたはセカンダリノードのエンドポイントを使用してデータベースに接続する場合、システムまたはアプリケーションはデータを読み取ることしかできず、データを書き込むことはできません。

  • 読み取り専用ノードとセカンダリノードは、高可用性を提供します。 ノードに障害が発生した場合、システムは自動的にビジネスを障害が発生したノードから正常なノードに切り替えます。 システムがスイッチオーバーを実行しない場合は、手動でスイッチオーバーを実行できます。 このプロセス中、ノードのエンドポイントは変更されません。

    説明

    詳細については、「ノードロールを切り替える」をご参照ください。

    インスタンスのノードロールが切り替えられるたびに、インスタンスで 30 秒の一時的な切断が発生する可能性があります。 この操作はオフピーク時に実行し、アプリケーションがインスタンスに自動的に再接続できることを確認することをお勧めします。

  • 読み取り専用ノードは代替プライマリノードリストに表示されず、プライマリノードとして選出されることもありません。 また、読み取り専用ノードはプライマリノードの選出プロセスには参加しません。

  • 読み取り専用ノードは、インスタンスに独立した接続文字列 URI を持っており、独立したシステムおよびアプリケーションへの直接接続に適しています。 読み取り専用ノードは、既存のプライマリノードとセカンダリノードへの接続を中断しません。

インスタンスに 2 つ以上の読み取り専用ノードがある場合、読み取り専用接続文字列 URI を使用して、読み取り専用ノードが受信する読み取りリクエストのバランスをとることができます。 読み取り専用ノードは、ビジネスインテリジェンス(BI)やビッグデータ分析など、既存のインスタンスから大量のデータが読み取られるビジネスシナリオに適しています。

セカンダリノード

  • プライマリノードに障害が発生した場合、セカンダリノードを新しいプライマリノードとして選出して、読み取り/書き込みリクエストを処理できます。

  • セカンダリノードは、独立した接続文字列 URI を持っています。 ただし、元のプライマリノードに障害が発生した場合、ノードが新しいプライマリノードとして選出される可能性があります。 新しいプライマリノードに直接接続するシステムまたはアプリケーションには、書き込み権限が付与される場合があります。

読み取り/書き込みリクエストは、異なる接続文字列 URI を使用して、プライマリノードとセカンダリノードで個別に処理できます。 これにより、インスタンスのパフォーマンスが向上し、ノードの障害がビジネスに影響を与えるのを防ぎます。 セカンダリノードは、読み取りリクエストの数が書き込みリクエストの数よりも多いシナリオに適しています。

利点

  • 要件に基づいて読み取り専用ノードの数を変更して、コストを削減できます。

  • 読み取り専用ノードは、インスタンスに独立した接続文字列 URI を持っており、独立したシステムへの直接接続に適しています。 読み取り専用ノードは、既存のプライマリノードとセカンダリノードへの接続を中断しません。

  • 読み取り専用ノード、プライマリノード、およびセカンダリノードは同じ仕様です。 これにより、読み取り専用ノードは待機時間が最も短いプライマリノードまたはセカンダリノードからデータを同期でき、メンテナンスの必要性がなくなります。

  • 読み取り専用ノードは、読み取りサービスのみを提供する独立したノードです。 ノードはプライマリノードとリソースを競合しません。 インスタンス内の読み取り専用ノードの数を変更しても、インスタンス内のプライマリノードとセカンダリノードは影響を受けず、プライマリノードとセカンダリノードへの接続は閉じられません。

  • ApsaraDB for MongoDB は、レプリカセットインスタンスに統一された読み取り専用接続文字列 URI を提供します。 この URI を使用して、レプリカセットインスタンス内のすべての読み取り専用ノードに接続できます。 データベース機能を拡張するために、アプリケーションコードを変更せずに読み取り専用ノードを追加できます。

    説明

    詳細については、「レプリカセットインスタンスに接続する」をご参照ください。

制限

  • 読み取り専用ノードは、レプリカセットインスタンスとシャードクラスターインスタンスでのみ使用できます。

  • 読み取り専用ノードは読み取りリクエストのみを処理し、プライマリノードまたはセカンダリノードの選出プロセスには参加しません。

  • 各レプリカセットインスタンスには、最大 5 つの読み取り専用ノードを追加できます。

  • シャードクラスターインスタンスの各シャードには、最大 5 つの読み取り専用ノードを追加できます。

  • データは、プライマリノードまたはセカンダリノードから読み取り専用ノードに非同期的にレプリケートされます。 ほとんどの場合、データレプリケーション中にミリ秒レベルの待機時間が発生する可能性があります。 プライマリノードの書き込みワークロードが高い場合、秒レベルの待機時間が発生する可能性があります。

料金

読み取り専用ノードの価格は、レプリカセットインスタンスのノード、またはシャードクラスターインスタンスのシャードのノードの価格と同等です。

関連情報

  • インスタンスの作成時に読み取り専用ノードを構成する方法の詳細については、次のトピックを参照してください。

  • 既存のインスタンスの読み取り専用ノードの数を変更する方法の詳細については、次のトピックを参照してください。

    • レプリカセットインスタンスの構成を変更する

      • インスタンスが従量課金インスタンスの場合は、設定の変更 をクリックします。

      • インスタンスがサブスクリプションインスタンスの場合は、ビジネス要件に基づいて アップグレード または ダウングレード をクリックします。

    • 1 つ以上のシャードの構成を変更する

      • 従量課金シャードクラスターインスタンスの構成を変更する場合は、シャードの [構成の変更] をクリックするか、複数のシャードの [構成の一括変更] をクリックします。

      • サブスクリプション シャードクラスターインスタンスの構成を変更する場合は、シャードの [アップグレード] または [ダウングレード] をクリックするか、複数のシャードの [一括アップグレード] または [一括ダウングレード] をクリックします。