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

PolarDB:集中型分散統合アーキテクチャ

最終更新日:Apr 17, 2025

このトピックでは、PolarDB-X の集中型分散統合アーキテクチャについて説明します。

背景情報

データベースを購入する際には、集中型データベースか分散型データベースかを選択する必要があります。ほとんどの中小企業 (SME) にとって、集中型データベースは日々のビジネスニーズを満たすのに十分です。これらのデータベースは、適度なリソース要件、妥当なコスト、そして管理が容易です。一方、分散型データベースは、より高いパフォーマンスを提供し、複雑なビジネスシナリオを処理し、高スループット、大容量ストレージ、低レイテンシ、容易なスケーラビリティ、そして超高可用性への要求を効率的に満たします。しかし、分散型データベースはより高価であり、技術的な障壁と運用保守コストが高いため、中小企業にはあまり適していません。

中小企業がビジネス活動の急激な増加を経験する場合、増加した負荷を処理するために高並列性と高スループットのデータベースが必要になります。ビジネスの成長に伴い、当初は集中型データベースに依存していた運用が、分散型への拡張を必要とする場合があります。

これらの課題に対処するために、PolarDB for Xscale (PolarDB-X) は、集中型と分散型の機能を統合したアーキテクチャを導入しています。このアーキテクチャは、分散型データベースの可用性とスケーラビリティを提供しながら、集中型データベースの機能とパフォーマンスを維持します。

特徴と利点

集中型分散統合データベースでは、データノード (DN) は集中型モードで独立して動作し、スタンドアロンデータベースの機能と動作を完全に複製します。ビジネスで分散スケーラビリティが必要な場合は、アーキテクチャをインプレースで分散モードにアップグレードできます。移行中、分散コンポーネントは既存のデータノードと統合されるため、アプリケーション側でデータを移行または変更する必要はありません。これにより、ユーザーは分散システムによって提供される強化された可用性とスケーラビリティの恩恵を受けることができます。

インスタンスエディション

PolarDB-X インスタンスは、Standard Edition (集中型)Enterprise Edition (分散型) で利用できます。

  • Standard Edition (集中型)

    PolarDB-X Standard Edition は集中型モードで動作します。このエディションでは、分散 DN はマルチレプリカ機構を使用して独立してサービスを提供します。このエディションの最小リソース要件は、2 CPU コアと 4 GB のメモリです。

    PolarDB-X Standard Edition は、Paxos 過半数ベースのレプリケーションプロトコルを使用します。MySQL のプライマリセカンダリレプリケーションプロトコルと比較して、Paxos はレプリカ間で強力な整合性を確保し、金融グレードの高可用性 (RPO = 0、RTO<10 秒) を実現できます。Lizard 分散トランザクションエンジンは、強化された可用性を提供し、ネイティブ MySQL エンジンよりも約 35% 高いパフォーマンスを備えています。

  • Enterprise Edition (分散型)

    PolarDB-X Enterprise Edition は分散モードで動作し、計算ノード (CN)、DN、変更データキャプチャノード (CDC)、カラムナノード (COLUMNAR)、グローバルメタサービス (GMS) など、分散コンポーネントの完全なセットを提供します。このエディションは MySQL エコシステムと高度に互換性があり、強力な整合性を持つ分散トランザクション、分散パラレルクエリ実行、および水平スケーリングをサポートしています。次の図は、技術アーキテクチャを示しています。

Standard Edition から Enterprise Edition へのアップグレード

ビジネスの成長に伴い、PolarDB-X Standard Edition は、大規模な集中テーブルによるクエリパフォーマンスの低下、同時クエリの持続的な高負荷、分析要求への対応不能などのさまざまな問題により、ボトルネックに遭遇する可能性があります。このようなシナリオでは、垂直スケーリングだけではこれらの課題に対処するには不十分で費用対効果も高くありません。

これらの課題を克服するために、PolarDB-XStandard Edition から Enterprise Edition へのアップグレードをサポートしています。Enterprise Edition は、分散アーキテクチャとハイブリッドトランザクション/分析処理 (HTAP) 機能を使用して、スタンドアロン MySQL データベースの効率とパフォーマンスを維持しながら、集中型データベースに関連する問題を解決します。

説明
  • Standard Edition と Enterprise Edition は同じ DN セットを共有します。アップグレード中、システムはデータを移行することなく、CN、CDC、GMS などの分散コンポーネントを Standard Edition に追加することでアーキテクチャを強化します。さらに、どちらのエディションも同じデータセットで動作します。アップグレードまたはロールバック中に、データの不整合または破損は発生しません。

  • 集中テーブルは、オンラインデータ定義言語 (DDL) 機能を使用して、インプレースで分散テーブルに変換できます。これにより、システムに分散スケーラビリティが付与されます。

  • Standard Edition から Enterprise Edition にアップグレードした後も、接続エンドポイントは変更されません。ロジックまたはアプリケーションコードを変更する必要はありません。アップグレード中、短時間の接続中断 (数分) が発生する場合があります。

  • Enterprise Edition は、透過的な分散アーキテクチャを使用し、集中型 MySQL エコシステムと高度に互換性があります。そのため、アプリケーションを変更する必要はありません。

  • 分散特性によってもたらされる追加のパフォーマンスオーバーヘッドに対処するために、PolarDB-Xテーブルグループとパーティショングループを使用して、関連データが集中型で分散されるようにします。これにより、分散トランザクションと複雑なクエリのパーフォーマンスが向上します。操作が単一パーティションに限定されるシナリオでは、これにより、従来の集中型データベースのパフォーマンスと一致することが保証されます。

ストレージプールと柔軟な仕様

PolarDB-X は、ストレージプールと局所性の概念を取り入れて、集中型の利点を維持しながら線形スケーラビリティをサポートする分散アーキテクチャを提供します。

  • ストレージプールは、各 DN が 1 つのプールにのみ属するように、DN を重複しない個別のグループに編成します。ストレージプールに DN を追加または削除できます。

  • 局所性属性を使用して、データベース、テーブル、またはパーティションを特定のストレージプールにバインドできます。

説明

この段落では、2 つのシナリオを使用して、ストレージプールと局所性属性機能を使用してデータベースシステムで分散スケーラビリティを実現する方法について説明します。

  • シナリオ 1: マルチテナント Software as a Service (SaaS) システムが PolarDB-X Standard Edition インスタンスで動作しています。インスタンスが Enterprise Edition にアップグレードされると、テナントデータを異なるストレージプールに垂直に分散できます。各プール内では、前の図のストレージプール 1 に示すように、各テーブルは集中構造で保持されます。

  • シナリオ 2: E コマースビジネスが PolarDB-X Standard Edition インスタンスで実行されています。ユーザーベースとトランザクションボリュームが増加するにつれて、前の図のストレージリソースプール 3 に示すように、ビジネスデータをストレージプール内の複数の DN に水平に分散できます。

次の図は、オンライン DDL を使用して集中型データベースアーキテクチャが分散型に移行するときに、テーブルがどのように再分散されるかを示しています。

説明
  • ビジネスで複数の集中テーブルを使用している場合、元の集中構造を維持しながら、ストレージプール内の複数の DN にテーブルを垂直に分散できます。

  • ビジネスで大規模テーブルを使用している場合、水平パーティショニングを使用して、テーブルをオンラインで分散テーブルに変換できます。システムは、ストレージプール内で使用可能なすべてのノードにデータ負荷を分散するために、パーティションを自動的に再分散します。

  • ビジネスで大規模テーブルと小規模な集中テーブルを使用している場合、大規模テーブルは水平パーティショニングを使用して分散テーブルに変換されます。小規模な集中テーブルは元の形式を保持しますが、異なるストレージプールに垂直に分散されます。

  • データ分散とワークロードパターンの違いにより、異なる DN でリソース需要が異なる場合があります。PolarDB-X は、データノード管理機能を提供して、各 DN のリソース割り当てを個別に調整できるようにします。これにより、各ノードがワークロードを処理するのに十分なリソースを確保し、全体的なリソース使用率と費用対効果が向上します。