分散リレーショナル データベースについて

適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)

Azure Cosmos DB は、NoSQL とあらゆる規模のリレーショナル データベースの両方に対応するグローバルに分散されたデータベース プラットフォームです。 この記事では、Azure Cosmos DB リレーショナル API オプションのコンテキストで分散 NoSQL データベースについて説明します。

Azure のその他のデータ ストレージ オプションの詳細については、「Azure アーキテクチャ センターで適切なデータ ストアを選択する」を参照してください。

課題

大量のトランザクション ワークロードについての説明を目にするときは、これらのワークロードは、自分のアプリケーションが直面する可能性があるワークロードよりもはるかに大きいと考えがちです。 プロジェクト、アイデア、または組織の開始時には、ワークロードが小さく保たれるという前提を想定しても安全な可能性があります。 しかし、このような想定からすぐに、アプリケーションのワークロードが予想をはるかに超えて大きくなるシナリオにつながる可能性があります。 プロジェクトの開始時には経済的でパフォーマンスの高い単一インスタンス データベースでも、その最大のスループットまたは処理能力に到達するワークロードの話を聞くのは珍しくありません。

リレーショナル データベース

リレーショナル データベースは、データベース内のさまざまなテーブル間の関係を使用して、データを表形式 (行/列) 形式に整理します。 リレーショナル データベースは、さまざまな企業で一般的に使用されています。 多くの場合、これらの企業には、リレーショナル データベースに対してコードを記述する多くのソフトウェア開発者や、スキーマを設計してリレーショナル データベース プラットフォームを管理する管理者がいます。 リレーショナル データベースでは、多くの場合、ACID 保証を実現するトランザクションもサポートされます。

残念ながら、多くのリレーショナル データベース システムは、最初は単一ノード方式で構成され、コンピューティング、メモリ、ネットワーク リソースに関する上限があります。 このような事情のために、すべてのリレーショナル データベースが、その性質上、単一ノードであるという誤った想定が発生する可能性があります。

分散データベース

多くのクラウドネイティブのホワイトペーパーでは、一般的に NoSQL データベースのメリットが説明され、そのためにリレーショナル データベースは大規模なデータベースや分散ワークロードには適した選択肢ではないと思わせることがあります。 多くの分散データベースは非リレーショナルですが、分散リレーショナル データベース ワークロードに対する選択肢があります。

分散リレーショナル データベースに対するこれらの選択肢の多くでは、組織がプロジェクトの当初から大規模な分散を計画する必要があります。 この計画の要件のために、プロジェクトの開始時から、関連するすべてのサーバー ノードがチームによって構成、管理、および保守されることを確認するのが非常に複雑になる可能性があります。 グローバルな分散リレーショナル データベースの計画、実装、およびネットワークの要件は、単一のインスタンス (またはノード) を立ち上げる場合よりもはるかに複雑になる可能性があります。

Azure Cosmos DB

Azure Cosmos DB は、NoSQL とリレーショナル バリアントの両方で分散データ API を提供するデータベース プラットフォームです。 具体的には、Azure Cosmos DB のリレーショナル API は、PostgreSQLCitus 拡張機能に基づいています。

Citus は PostgreSQL 拡張機能であり、データとトランザクションの配布のためのサポートを Postgres に追加します。 Azure Cosmos DB for PostgreSQL は、Citus を使用したフル マネージド サービスであり、自動的に高可用性を実現し、個々のサーバー ノードを手動で計画、管理、保守する必要をなくします。 PostgreSQL 用 API を使用すると、フル マネージドの単一ノード クラスターから開始して、データベース ソリューションを構築し、アプリケーションのニーズが時間の経過と共に増加するにつれてターンキー形式で拡張できます。 PostgreSQL 用 API を使用すると、複雑な分散プロジェクトを事前に計画したり、将来的に単一ノードから分散データベースにデータを移行するようにプロジェクトを計画したりする必要はありません。

次のステップ

Azure Cosmos DB の使用を開始したいですか?