MongoDB Atlas は、最新のリアルタイム、ハイブリッド、マルチクラウドデータベースサービスであり、データベースのデプロイと管理を簡素化し、選択したクラウドプロバイダー上で耐障害性に優れたグローバルアプリケーションを構築するために必要な機能を提供します。予測可能なワークロード向けの Atlas Core と、予測不能でスパイクの多いワークロード向けの Atlas Infinite の2つの異なる展開オプションを提供しています。
どちらの展開オプションでも同じインターフェース、ドライバー、API が使用され、既存のクエリと接続コードはどちらでも機能します。違いは、それぞれがコンピュートとストレージをどのように取り扱うかです。Atlas Core はこれらを同じノードに配置しますが、Atlas Infinite はこれらを独立したレイヤーに分離します。どちらを選択するかはワークロードへの適合性の問題であり、開発者は特定のアプリケーションのニーズに適した展開オプションを実行できる柔軟性が得られます。
重要なポイント
- Atlas Core は、Atlas のすべての機能をサポートし、Free、Flex、Dedicated tier にわたり、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud 上で実行されます。
- 現在 public preview の Atlas Infinite では、コンピュートとストレージを個別に増やすことができるため、より大きなクラスター階層に移行することなくストレージを増やすことができます。
- Atlas Infinite は、Atlas Core と比較して拡張時間を 96% 以上短縮し、数時間ではなく数分でコンピュートとストレージを個別に拡張できます。
- Atlas Infinite は、Atlas Core の10倍のデータを保持できるレプリカセットをサポートし、同じ基盤上でプロトタイプからペタバイトまで拡張でき、1ドルあたりのスループットが最大189%向上します。
- どちらの展開オプションでも同じインターフェース、ドライバー、API が使用され、Atlas はどちらでもプロビジョニング、パッチ適用、バックアップ、監視、拡張を取り扱います。
目次
- Atlas CoreとAtlas Infiniteの違いは何ですか?
- Atlas Core 展開オプションとは何ですか?
- Atlas Infinite 展開オプションとは何ですか?
- 各展開オプションで拡張はどのように機能しますか?
- どのような場合に Atlas Core を使用すべきでしょうか?
- どのような場合に Atlas Infinite を使用すべきでしょうか?
- よくある質問
Atlas CoreとAtlas Infiniteの違いは何ですか?
多くの類似点がありますが、コンピュートとストレージをプロビジョニングする方法に大きな違いが1つあります。
- Atlas Core 展開オプションでは、コンピュートとストレージが同じノード上に結合されます。専有クラスターは現在の階層の制限内であればストレージを個別に拡張できます。それらの制限を超える場合は、より高い階層への拡張が必要になります。
- Atlas Infinite 展開オプション は、コンピュートとストレージを独立したレイヤーとして実行するため、クラスター階層を変更することなくストレージを追加できます。
どちらの展開オプションが適しているかは、保存する受信データの量や、クエリボリュームの予測がどの程度難しいかによって異なります。 どちらのオプションも他方を置き換えるものではありません。異なるワークロードプロファイルに最適化された補完的なアーキテクチャです。
次の図は、両者を比較しています。
Atlas Core は各ノードでコンピュートとストレージを結合しますが、Atlas Infinite はコンピュートとストレージを個別のレイヤーとして実行します。
以下の表では、機能を並べて比較しています。
ワークロードプロファイルが大きく異なる2つのチームについて考えてみましょう。一方はフリート追跡サービスを運営しています。車両がロケーション、ステータス、運用レコードを生成し続けるため、そのデータは継続的に増加する一方、クエリの需要は1日を通して大きく変動します。ピーク時の移動期間、インシデント、配車イベント、または突然のカスタマーアクティビティの際に、急増が発生する可能性があります。コンピュートとストレージが連動して拡張する場合、チームはピーク時の需要に対応できるだけの両方をプロビジョニングする必要があり、閑散期にはリソースが十分に活用されない可能性があります。Atlas Infinite は、データセットに合わせてストレージを増やし、急増する需要に対応するためにコンピュートを拡張し、需要の減少時には縮小できるため、強力な選択肢です。
もう一方のチームは、複数のリージョンにわたって安定的で予測可能な決済サービスを運用しています。トラフィックパターンとキャパシティー要件は十分に把握されており、Atlas Infinite がまだサポートしていない機能に依存しています。リソースが完全にプロビジョニングされており、このワークロードが必要とするマルチリージョン展開をサポートしているため、Atlas Core の方が適した選択肢です。
Atlas Core 展開オプションとは何ですか?
Atlas Core は、ノードがコンピュートとストレージの両方を実行する Atlas クラスター アーキテクチャです。 各データ保有ノードは、独自のストレージを備えた仮想マシン上にデータのコピーを保持します。
Atlas Core はすべての Atlas 展開タイプ(AWS、Azure、Google Cloud 上の Free クラスター、Flex クラスター、専有クラスター階層)で利用可能です。マルチリージョンやマルチクラウドのクラスターを含む、Atlas の全機能セットをサポートしています。
Atlas Core は決済チームのニーズに対応しています。負荷は安定しているため、今日選択した階層は今後も引き続き有効に機能します。また、複数のリージョンにまたがって実行できるクラスターも必要ですが、Atlas Core はマルチリージョンに対応しています。
Atlas Infinite 展開オプションとは何ですか?
Atlas Infinite は、コンピュートとストレージを独立したレイヤーに分離する Atlas クラスターアーキテクチャです。MongoDB がストレージレイヤーを管理し、クエリを実行するコンピュートノードがそこに接続します。ミッションクリティカルで高パフォーマンスなワークロードを取り扱うように設計されています。
Atlas Infinite は public preview としてご利用いただけます。今すぐご利用いただけますが、製品および関連ドキュメントはプレビュー期間中に変更される可能性があります。 一部の Atlas 機能はまだサポートされていません。
プレビューでは、実行できる場所や規模も制限されます。Atlas Infinite は、AWS 上のサポート対象リージョンにおいて、それぞれ 128 TB のストレージキャパシティーを備えた M10 から M60 のレプリカセットで動作します。
車両追跡チームのデータはクエリトラフィックの有無にかかわらず蓄積されるため、Atlas Infinite ではクラスター階層を変更することなくストレージを追加できます。 すでに AWS をご利用の場合は、お使いの地域がサポートされているかどうか、またプレビューが必要な機能をカバーしているかどうかをご確認いただく必要があります。
その他の主な統計情報:
- 拡張の遅延:Atlas Infinite は、Atlas Core と比較して拡張時間を 96% 超短縮します。コンピュートとストレージは、数時間ではなく数分以内に独立して自動的に拡張されます。
- ストレージの上限:10倍の容量で、Atlas Infinite は同じ基盤上でプロトタイプからペタバイトまで、ビジネスとともに成長します。容量不足に迫られたときではなく、より高いパフォーマンスが必要になったときに、思い通りの条件でスケールできます。Atlas Infinite は、Atlas Core のレプリカセットの10倍のデータを保持できるレプリカセットをサポートしています。
- キャパシティー計画:Atlas Infinite は、スケールアップやスケールダウンに合わせてリアルタイムでニーズに対応します。また、Atlas Infinite は Atlas Core と比較して同じハードウェア上でより効率的に動作するため、1ドルあたり約2倍のパフォーマンスが得られます。
- アーキテクチャの再構築:アプリケーションの変更は一切不要です。 文字通りまったく同じデータベースで、さらなる柔軟性とスケーラビリティを実現できます。
Atlas Infinite は、より高性能で優れた能力を備えたエンジンです。MongoDB 9.0 を使用した社内テストでは、Atlas Infinite は Atlas Core と比較して、1ドルあたりのスループットが 189% 向上することが示されています。
各展開オプションで拡張はどのように機能しますか?
Atlas Core では、ご利用の階層によってコンピュートとストレージの両方が制限されます。 Atlas Infinite では、階層を変更することなくストレージを増やすことができます。
アーキテクチャ:Atlas Core では、コンピュートとストレージが同じノード上に配置されます。Atlas Infinite では、MongoDB がストレージレイヤーを管理し、コンピュートノードがそこに接続します。
コンピュートの拡張:どちらのオプションでも、クラスターの変更時にコンピュートが変更されます。つまり、別のクラスター階層を選択することになります。 Atlas Core では、Atlas がノードを再起動しますが、その間も専有クラスターの可用性は維持されます。 Atlas Infinite ではデータが移動しないため、変更をより迅速に行えます。 Atlas Infinite は、Atlas Core と比較して拡張時間を 96% 以上短縮し、数時間ではなく数分で拡張できます。
ストレージの拡張:Atlas Core では、専有クラスターのストレージをコンピュートとは別に増やすことができますが、階層の上限までに限られます。 それを超えると、上位の階層に移行します。 Atlas Infinite では、ダウンタイムなしで、階層とは独立してストレージを増やすことができます。 Atlas Infinite は、Atlas Core のレプリカセットの10倍のデータを保持できるレプリカセットをサポートし、同じ基盤上でプロトタイプからペタバイトまで拡張できます。
水平スケーリング:シャーディングでは、データを複数のサーバーに分割するため、単一のサーバーがすべてのデータを保持することはありません。Atlas Core では、データが階層のストレージ・キャパシティーに近づいたときにシャーディングを行います。Atlas Infinite では、単一のシャードで最大 128 TB を保持できるため、ストレージを追加するためだけにシャーディングを行う必要はありません。プレビュー期間中は、Atlas Infinite でシャーディングされたクラスターを利用できません。
車両追跡チームでは、コンピュートが不足する前にストレージが不足します。データは継続的に蓄積されるため、Atlas Core では階層のストレージ上限に達し、運用を続けるにはより大きな階層に移行する必要があります。Atlas Infinite では、ストレージを追加しても同じ階層を維持できます。
どのような場合に Atlas Core を使用すべきでしょうか?
次のような場合に Atlas Core を使用します。
- Atlas のすべての機能セットを使用したい場合。
- マルチリージョンまたはマルチクラウドのクラスターが必要です。
- シャーディングされたクラスターが必要です。
Atlas Core は、Atlas Infinite プレビューに含まれていないあらゆる要素もカバーしています。 Azure または Google Cloud にデプロイする場合、あるいは Free クラスターまたは Flex クラスターが必要な場合は、Atlas Core がサポートするオプションとなります。
支払いチームは Atlas Core を使用しています。 負荷は安定しているため、コンピュートとストレージを分離しても大きな変化はなく、プレビューにはまだ含まれていない機能に依存しています。
どのような場合に Atlas Infinite を使用すべきでしょうか?
次のような場合は Atlas Infinite をご検討ください。
- 拡張の遅延なしに(数時間ではなく数分)、コンピュートとストレージを個別に増やしたい場合。
- ワークロードに、事前のサイジングが困難なスパイクがあります。
- クラスター階層を拡張したりアプリケーションを再設計したりすることなく、ストレージキャパシティーを最大10倍まで拡張したい場合。
- 約2倍のパフォーマンスと、1ドルあたり189%高いスループットを求める場合。
- より迅速なフェイルオーバーと復旧をご希望の場合。
Atlas Infinite はフリート追跡チームに適しています。 データは継続的に蓄積され、クエリ量は時間帯によって変動するため、Atlas Core ではストレージ容量を超えるたびにより大きな階層に移行する必要があります。
関連リソース
MongoDB クラスタータイプ — M10以上の専有クラスター階層を比較し、設定した制限内でオートスケーリングによってキャパシティーがどのように調整されるかをご確認ください。
共有責任モデルとは?— セキュリティ、コンプライアンス、メンテナンスの責任が、お客様と MongoDB Atlas の間でどのように分担されるかをご確認ください。
MongoDB のシャーディングの仕組み — ストレージとスループットの需要が単一のレプリカセットを超えた場合に、水平拡張によってデータを複数のインスタンスに分散する方法をご確認ください。
MongoDB University — データベース管理、クラスターマネジメント、アプリケーション開発を網羅する無料の自習形式コースや公式ラーニングパスにアクセスできます。
MongoDB の基礎と開発者向けチュートリアル — データベースのセットアップ、document model の設計、基本的な CRUD 操作に関する基礎ガイドをご覧ください。
