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

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

最終更新日:Jul 03, 2024

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

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

アーキテクチャ

只读节点结构图

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

  • 読み取り専用ノードはoplogを使用して、レイテンシが最も低いプライマリノードまたはセカンダリノードからのデータを同期します。 読み取り専用ノードを使用して、大量の読み取り要求が受信されるビジネスシナリオで、プライマリノードとセカンダリノードの読み取りワークロードを軽減できます。

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

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

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

ノード

説明

シナリオ

読み取り専用ノード

  • 読み取り専用ノードは高可用性を提供します。 読み取り専用ノードに障害が発生した場合、隠しノードが新しい読み取り専用ノードとして自動的に選択されます。 この操作が自動的に実行されない場合は、手動で操作を実行できます。 このプロセスの後、読み取り専用ノードへの接続に使用される接続文字列URIは変更されません。

    説明

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

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

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

  • 読み取り専用ノードはセカンダリノードリストに表示されず、プライマリノードとして選択できません。 読み取り専用ノードも、主ノード選択プロセスに参加しません。

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

セカンダリノード

  • セカンダリノードは高可用性を提供します。 セカンダリノードに障害が発生した場合、隠しノードが新しいセカンダリノードとして自動的に選択されます。 この操作が自動的に実行されない場合は、手動で操作を実行できます。 このプロセスの後、セカンダリノードへの接続に使用される接続文字列URIは変更されません。

    説明

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

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

  • セカンダリノードに障害が発生した場合、セカンダリノードをプライマリノードとして選択することはできません。

  • プライマリノードに障害が発生した場合、セカンダリノードを新しいプライマリノードとして選択して、読み取りおよび書き込み要求を処理できます。

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

メリット

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

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

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

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

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

    説明

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

制限事項

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

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

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

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

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

料金

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