PolarDB は、Alibaba Cloud によって開発された次世代のリレーショナルデータベースサービスです。 MySQL、PostgreSQL、およびOracle データベースと互換性があります。 ストレージとコンピューティングで優れたパフォーマンスを発揮する PolarDB は、企業の多様な要件を満たすことができます。 PolarDB クラスターの最大ストレージ容量は 100 TB で、最大 16 ノードで構成できます。
PolarDB は、すべての計算ノードがデータの 1 つのコピーを共有する、ストレージとコンピューティングが分離したアーキテクチャを使用します。 垂直方向のスケーリングを数分間で実現し、クラッシュリカバリを数秒間で実現します。 グローバルなデータの整合性を確保し、データのバックアップと災害復旧のための無料サービスを提供します。 PolarDBは、商用データベースとオープンソースクラウドデータベースの利点を統合しています。 商用データベースは安定しており、信頼性が高く、高性能でスケーラブルですが、オープンソースデータベースは使いやすく、自己反復的です。 たとえば、PolarDB MySQL データベースは MySQL データベースの 5 分の1 の時間でクエリの結果を返します。 PolarDB MySQL データベースのコストは、MySQL データベースの10% にすぎません。
ストレージとコンピューティングが分離されたクラスターアーキテクチャ:PolarDB はクラスターアーキテクチャーを採用しています。 各クラスターは、1 つの読み書きノード (プライマリノード) と複数の読み取り専用ノードで構成されます。 すべてのノードが分散 Polar ファイルシステムを使用して、Polar ストアのデータを共有します。
読み書き分離:PolarDB MySQL は、組み込みプロキシを使用して外部からのリクエストを処理します。 アプリケーションががクラスターのアドレスを使用する場合、プロキシはアプリケーションから送信されたすべてのリクエストを処理してから、リクエストをノードに転送します。 認証と保護にプロキシを使用し、自動で読み書き分離を実現できます。 プロキシは、SQL ステートメントを解析し、書き込みリクエスト (トランザクション、UPDATE、INSERT、DELETE、DDL 操作など) をプライマリノードに送信し、読み取りリクエスト (SELECT操作など) を複数の読み取り専用ノードに配布します。 プロキシを使用すると、アプリは、単一ノードの MySQL データベースにアクセスする場合と同様に、簡単にPolarDB MySQLにアクセスできます。 プロキシは PolarDB MySQL のみサポートしています。 PolarDB PostgreSQL および Oracle 互換の PolarDB については、現在開発中です。
用語
以下の用語を理解すると、 PolarDB をよりよく理解できます。 最適な購入計画を立案し、ニーズに合わせて PolarDB サービスを利用できます。
- クラスター:PolarDB はクラスターアーキテクチャーを採用しています。 各クラスターは、1 つのプライマリノードと複数の読み取り専用ノードで構成されます。
- リージョン:データセンターが存在する地域を指定します。 PolarDB クラスターと ECS インスタンスが同一リージョン内に配置されている場合、最適な読み書きパフォーマンスを実現できます。
- ゾーン:独立した電力グリッドとネットワークで動作する、リージョン内の場所を指します。 同じリージョン内では、すべてのゾーンが同じサービスを提供します。
- 仕様:CPU のコア数やメモリ容量など、各ノードに構成されたリソースを指定します。
利点
- ストレージスペース
PolarDB クラスターの最大ストレージスペースは 100 TB です。単一ホストの制限を克服し、データベースシャーディング用に複数のインスタンスを購入する必要性を軽減します。 PolarDB では、アプリケーション開発が簡素化され、O&Mワークロードが削減されます。
- コスト効率
PolarDB クラスターに読み取り専用ノードを追加する場合、ストレージとコンピューティングが分離されているため、追加で発生する料金はコンピューティングリソースに対する料金のみです。 従来のデータベースでは、コンピューティングリソースとストレージリソース両方の料金が発生します。
- 数分で柔軟にスケーリング
PolarDB クラスターは、ストレージとコンピューティングの分離および共有ストレージにより、すばやくスケールアップできます。
- 読み取り整合性
クラスターのアドレスは、LSN (ログシーケンス番号 ) を使用して、データの読み取りにおけるグローバルな整合性を確保し、プライマリノードと読み取り専用ノード間の同期遅延による不整合を回避します。
- 物理レプリケーションの遅延はミリ秒レベル
PolarDB は、プライマリノードから読み取り専用ノードへの物理レプリケーションを binlog に基づく論理レプリケーションではなく、 redo ログに基づく物理レプリケーションで行うため、効率と安定性が向上しています。 インデックスやフィールドの追加など、大きなテーブルに対して DDL 操作を実行しても、データベースの遅延は発生しません。
- ロックなしのバックアップ
スナップショットを使用して、サイズが 2 TBのデータベースを 60 秒以内にバックアップできます。 バックアップは、アプリに影響を与えることなく、いつでも実行できます。 バックアッププロセス中、データベースはロックされません。
料金
料金の詳細については、「課金項目」をご参照ください。
PolarDB の使用方法
PolarDB クラスターは以下の方法で管理 (クラスター、データベース、アカウントの作成など) できます。
- コンソール:視覚化された Web インターフェイスで簡単に使用できます。
- CLI :CLI (コマンド行インターフェース) でも、コンソールで使用可能なすべての操作を実行できます。
- SDK:SDK でも、コンソールで使用可能なすべての操作を実行できます。
- API :API 経由でも、コンソールで使用可能なすべての操作を実行できます。
作成した PolarDB クラスターには、以下の方法でクラスターに接続できます。
- DMS:DMS (Data Management Service) を使用して PolarDB クラスターに接続し、Web インターフェイスでデータベースを開発できます。
- クライアント:MySQL-Front や pgAdmin などのデータベースクライアントを使用して、PolarDB クラスターに接続できます。
関連サービス
- ECS :ECS (Elastic Compute Service) インスタンスが同一リージョン内の PolarDB クラスターにアクセスすると、PolarDB クラスターのパフォーマンスが最適化されます。 ECS インスタンスと PolarDB クラスターは、一般的なビジネスアーキテクチャを構成します。
- Redis :Redis は、メモリとハードディスクのハイブリッドストレージを使用してデータの整合性を確保するデータベースサービスです。 ECS インスタンス、PolarDB クラスター、Redis インスタンスを組み合わせて、多数の読み取りリクエストを処理し、応答時間を短縮できます。
- MongoDB :MongoDB は、MongoDB Wire Protocol と互換の、安定性、信頼性、および拡張性に優れたデータベースサービスです。 構造化データを PolarDB に保存し、非構造化データを MongoDB に保存することで、多様なビジネスニーズに応えます。
- DTS :DTS (データ転送サービス) を使用して、オンプレミスデータベースを PolarDB に移行できます。
- OSS:Object Storage Service (OSS) は、大規模なストレージ容量、セキュリティ、費用対効果、信頼性を備えたクラウドストレージサービスです。