PolarDB for PostgreSQL は、Amazon DynamoDB API と高い互換性があり、DynamoDB を使用する既存のアプリケーションをアプリケーションコードを変更することなく PolarDB に移行できるように設計されています。NoSQL API のシンプルなキーバリューアクセスモデルと、PolarDB クラウドネイティブデータベースのコアエンタープライズ機能を組み合わせています。この強力でコスト効率の高いソリューションにより、数秒以内の弾力的なスケーリング、大規模なデータストレージ、および金融グレードの高可用性を実現できます。
仕組み
PolarDB for PostgreSQL は、データベースプロキシレイヤーと計算ノード間の相互作用を通じて、DynamoDB API との互換性を実現します。
データベースプロキシこのプロキシレイヤーは、プロトコルの互換性の鍵となります。クライアントからの DynamoDB HTTP リクエストを受け入れ、身分認証、プロトコル解析、およびリクエストルーティングを実行します。その後、プロキシレイヤーは DynamoDB の操作を PostgreSQL が認識できる JSONB 検索文に変換し、これらの文を最も適切なバックエンドの計算ノードにインテリジェントにディスパッチします。この設計により、互換性ロジックがデータベースカーネルから完全に分離され、基盤となる PostgreSQL カーネルが変更されず安定した状態を保つことが保証されます。また、PolarDB の成熟したコネクションプーリング、負荷分散、および読み書き分離の機能を再利用できます。
計算ノード
計算ノードは、1 つのプライマリノードと複数の読み取り専用ノード (Enterprise Edition では最大 15、Standard Edition では最大 7) を備えた高可用性 (HA) アーキテクチャを使用します。プライマリノードはすべての書き込み操作を処理し、読み取り専用ノードは読み取りリクエストをオフロードします。計算ノードは、標準の PostgreSQL カーネルに基づいており、照合順序、オペレーター、データの型など、DynamoDB の動作の微妙な違いに適応するために、組み込みのプラグインのみを使用します。この最小限のアプローチにより、機能の保守が容易になり、新しい PostgreSQL バージョンに常に追随できます。ユーザーにとっては、データベースが従来のデータベースとスキーマの概念を抽象化し、DynamoDB と同じテーブル管理エクスペリエンスを提供します。
利点
シームレスな移行: 既存のアプリケーションをコードをリファクタリングすることなく PolarDB に直接接続できます。
統合データプラットフォーム: 同じデータに対して、高速なキーバリューアクセスのための NoSQL API と、複雑な分析のための標準 SQL を使用できます。
数秒単位の弾力性とコスト効率: 計算とストレージは分離されています。ストレージは従量課金制で、計算ノードは数分でスケールするため、大幅なコスト削減が可能です。
エンタープライズグレードの信頼性: PolarDB の成熟した高可用性アーキテクチャ上に構築されており、データのセキュリティと業務継続性を保証します。
前提条件
この機能を使用する前に、クラスターが次のバージョン要件を満たしていることを確認してください。
カーネルバージョン: PostgreSQL 14、および リビジョンバージョン は 2.0.14.17.35.0 以降である必要があります。
データベースプロキシバージョン: 2.3.59 以降。
DynamoDB 互換性機能は、PolarDB for PostgreSQL 分散版 またはサーバーレスクラスターではサポートされていません。
PolarDBコンソール に移動して、 ページでクラスターのバージョンを表示できます。バージョンが要件を満たしていない場合は、対応するマイナーバージョンをアップグレードしてください。
課金
DynamoDB 互換性機能自体に追加費用は発生しません。PolarDB for PostgreSQL クラスターの 関連料金 のみが適用されます。
DynamoDB 互換機能に追加費用はかかりません。お支払いいただくのは関連料金のみとなり、ご利用の PolarDB for PostgreSQL クラスターに対して請求されます。
次のステップ
開始: 機能の概要を確認した後、指示に従ってクラスターを作成し、アカウントを設定し、初期接続を検証します。
互換性と制限事項: この機能は DynamoDB API と高い互換性がありますが、動作や制限にいくつかの違いがあります。たとえば、一部の非推奨パラメーターはサポートされておらず、失敗したトランザクションのエラー動作はネイティブの DynamoDB とは異なります。詳細については、「互換性と制限事項」をご参照ください。
(オプション) データ移行: 既存の Amazon DynamoDB インスタンスからデータを移行するには、詳細な手順とツールの使用方法について、「Amazon DynamoDB から PolarDB for PostgreSQL への移行」をご参照ください。
パフォーマンステスト
PolarDB は、標準の Yahoo! Cloud Serving Benchmark (YCSB) ツールを使用して、包括的なパフォーマンスベンチマークテストを実施しました。テスト結果は、この機能がさまざまなデータ量と読み書きモデルにわたって安定した優れたパフォーマンスを発揮することを示しています。詳細については、「Performance Testing レポート」をご参照ください。