サーバーレスモードでは、AnalyticDB for PostgreSQL は、コンピューティングリソースとストレージリソースのデカップリング、数秒以内での柔軟なスケーリング、インスタンス間でのリアルタイムのデータ共有などの機能を提供します。これらの機能は、クラウドインフラストラクチャによって提供されるリソースプーリングと巨大なストレージ機能、超並列処理(MPP)、統合バッチ処理とリアルタイム分析、およびサーバーレス技術に基づいて実装されています。
概要
サーバーレスモードでは、AnalyticDB for PostgreSQL はコンピューティングリソースとストレージリソースを分離しているため、異なる比率でスケーリングできます。ストレージリソースは従量課金制のままですが、コンピューティング機能はビジネス要件に合わせて個別にスケーリングできます。これにより、ストレージコストが削減され、効率が向上します。
サーバーレスモードの AnalyticDB for PostgreSQL は、エラスティックストレージモードの AnalyticDB for PostgreSQL に比べて次の利点があります。
ストレージコストを削減し、オンデマンドのリソース使用を可能にします。サーバーレスモードの AnalyticDB for PostgreSQL を使用すると、データを他のストレージメディアに移行することなく、費用対効果の高いデータ分析を実行できます。このモードは、金融業界とインターネット業界のデータ分析要件を満たしています。
大量のデータと大きなトラフィック変動が伴うシナリオに合わせて柔軟なスケーリングを行い、高スループットの書き込みと高パフォーマンスのバッチ処理操作を最適化します。
ストレージとコンピューティングリソースの分離に基づいてデータ共有機能を提供します。共有データは、データのエクスポートとインポートを必要とせずに、他のデータベースからアクセスできます。これは、従来のデータウェアハウスでのデータアクセスよりも簡単で費用対効果が高くなります。
注意事項
国際サイト(alibabacloud.com)では、サーバーレスモードの AnalyticDB for PostgreSQL インスタンスは、従量課金制でのみ作成できます。
サーバーレスモードの AnalyticDB for PostgreSQL は、以下のリージョンとゾーンでサポートされています。
アジア太平洋
シンガポール:シンガポールゾーン C
タイ(バンコク):バンコクゾーン A
日本(東京):東京ゾーン B
ヨーロッパ&アメリカ
米国(バージニア):バージニアゾーン A およびバージニアゾーン B
中東
SAU (リヤド - パートナーリージョン): リヤド - パートナーリージョンゾーン B
サービスモードの比較
サーバーレスモードは、エラスティックストレージモードのほとんどの機能をサポートしています。次の表は、これら 2 つのサービスモードの違いについて説明しています。
カテゴリ | 機能 | エラスティックストレージモード | サーバーレスモード |
インスタンス管理 | インスタンスの基本情報 | サポートされています | サポートされています |
[データ管理 (DMS)] を使用したデータベースへのログオン | サポートされています | サポートされています | |
インスタンスの作成 | サポートされています | サポートされています | |
インスタンスのリリース | サポートされています | サポートされています | |
インスタンスの再起動 | サポートされています | サポートされています | |
インスタンス構成のアップグレードまたはダウングレード | サポートされています | サポートされていません | |
コーディネーターノードの追加または削除 | サポートされています | サポートされています | |
インスタンスのスケールアウト | サポートされています | サポートされています | |
インスタンスのスケールイン | サポートされています | サポートされています | |
マイナーバージョンの更新 | サポートされています | サポートされています | |
アカウント管理 | アカウントの作成 | サポートされています | サポートされています |
パスワードのリセット | サポートされています | サポートされています | |
データベース接続 | 基本的な接続情報 | サポートされています | サポートされています |
パブリックエンドポイントアプリケーション | サポートされています | サポートされています | |
監視とアラート | 監視 | サポートされています | サポートされています |
アラートルール | サポートされています | サポートされています | |
データセキュリティ | IP アドレスのホワイトリスト | サポートされています | サポートされています |
SQL 監査 | サポートされています | サポートされています | |
SSL 暗号化 | サポートされています | サポートされています | |
バックアップと復元 | サポートされています | サポートされています | |
構成 | パラメーター設定 | サポートされています | サポートされています |
制限事項
サーバーレスモードは、エラスティックストレージモードの機能の 95% 以上をサポートしています。ほとんどの場合、サーバーレスモードとエラスティックストレージモードの両方で同じ構文を使用できます。 Java Database Connectivity(JDBC)コネクタ、Open Database Connectivity(ODBC)コネクタ、psql などのツールは、エラスティックストレージモードで使用されるのと同じ方法でサーバーレスモードで使用できます。次の表に、特定の機能におけるサーバーレスモードの AnalyticDB for PostgreSQL の制限事項を示します。
サーバーレスモードでは、プライマリキーとインデックスの機能はパブリックプレビュー段階です。インデックスを作成するには、テクニカルサポートに連絡してインデックス機能を有効にしてください。
インデックスが作成されると、スケーリングのパフォーマンスに影響します。スケーリングに必要な時間は、インデックスのデータ量に比例します。
インデックスストレージには追加料金が発生します。パブリックプレビュー中は、インデックスストレージの料金は発生しません。
カテゴリ | 機能 | 説明 |
基本機能 | ALTER TABLE |
|
インデックス | サポートされています | |
プライマリキー | サポートされています | |
一意制約 | サポートされています | |
INSERT ON CONFLICT | サポートされています | |
テーブルのログ記録なし | サポートされていません | |
トリガー | サポートされていません | |
ヒープテーブル、追加最適化行指向(AORO)テーブル、および追加最適化列指向(AOCO)テーブル | サポートされていません | |
カスタムデータ型 | サポートされていません | |
明示的なカーソル | サポートされています | |
計算エンジン | Orca オプティマイザー | サポートされています |
Laser エンジン | サポートされています | |
トランザクション機能 | サブトランザクション | サポートされています |
トランザクション分離レベル | リードコミッティッド(RC)およびリピータブルリード(RR)分離レベルがサポートされています。 | |
高度な機能 | バックアップと復元 | サポートされています |
マテリアライズドビュー | サポートされています | |
自動バキューム | サポートされています | |
自動分析 | サポートされています | |
柔軟なスケールアウト | サポートされています | |
柔軟なスケールイン | サポートされています | |
GIS/GANOS | サポートされていません | |
データ共有 | サポートされています |
データ移行
エラスティックストレージモードまたはリザーブドストレージモードの AnalyticDB for PostgreSQL インスタンスからサーバーレスモードのインスタンスにデータを移行できます。詳細については、「AnalyticDB for PostgreSQL インスタンス間でデータを移行する」をご参照ください。
次の表に、さまざまなデータ移行タイプに対するサーバーレスモードのサポートを示します。
移行タイプ | リファレンス | 説明 |
データの書き込み | サポートされています | |
サポートされています | ||
サポートされています | ||
テーブルデータの移行 | サポートされています | |
サポートされています | ||
サポートされています | ||
Realtime Compute for Apache Flink クラスタを使用して、AnalyticDB for PostgreSQL インスタンスにデータを書き込む | サポートされていません 外部テーブルを使用してデータをインポートできます。 | |
サポートされています | ||
サポートされています | ||
サポートされています | ||
ウェアハウスデータの移行 | 自己管理 Greenplum クラスタから AnalyticDB for PostgreSQL インスタンスにデータを移行する | サポートされていません 外部テーブルを使用してデータをインポートできます。 |
サポートされていません 外部テーブルを使用してデータをインポートできます。 | ||
Amazon Redshift クラスタから AnalyticDB for PostgreSQL インスタンスにデータを移行する | サポートされていません 外部テーブルを使用してデータをインポートできます。 | |
自己管理 Oracle アプリケーションから AnalyticDB for PostgreSQL インスタンスにデータを移行する | サポートされていません 外部テーブルを使用してデータをインポートできます。 | |
自己管理 Oracle データベースから AnalyticDB for PostgreSQL インスタンスにデータを移行する | サポートされていません 外部テーブルを使用してデータをインポートできます。 |
自動スケジューリング(招待プレビュー)
AnalyticDB for PostgreSQL のサーバーレス自動スケジューリングモードは、招待プレビュー段階です。招待プレビューに申し込むには、チケットを送信してください。
サーバーレス自動スケジューリングモードの AnalyticDB for PostgreSQL インスタンスは、トラフィック検出に基づいて自動的に一時停止および再開できます。トラフィックが発生しない場合、インスタンスは自動的にアイドル状態に変わります。インスタンスがアイドル状態のときは、コンピューティングリソースの料金は発生しません。
サーバーレス自動スケジューリングモードの AnalyticDB for PostgreSQL インスタンスでは、[コンピューティングリソースのしきい値] パラメーターと [アイドルリソース解放の待機時間] パラメーターの値を変更できます。詳細については、「インスタンスリソースを構成する」をご参照ください。
サーバーレス自動スケジューリングモードのインスタンスは、インスタンスの計算能力を測定する AnalyticDB 計算ユニット(ACU)に基づいて秒単位で課金されます。システムは使用済み ACU の数を収集し、1 時間ごとに請求を生成します。詳細については、「料金」をご参照ください。
柔軟なスケーリング
サーバーレスモードのインスタンスは数分以内にスケーリングできます。次のスケーリングパフォーマンスは参考値として提供されています。
計算ノード数が 16 以下のインスタンスは 60 秒以内にスケーリングできます。
計算ノード数が 16 を超えるインスタンスは 5 分以内にスケーリングできます。
サーバーレスモードの AnalyticDB for PostgreSQL の柔軟なスケーリング機能を使用して、ダブル 11 などの予想されるピーク期間の前に計算ノードをスケールアウトし、ピーク時間後に計算ノードをスケールインできます。AnalyticDB for PostgreSQL は、リソース使用の実際の時間と計算ノードの仕様に基づいて、1 時間ごとに課金されます。このようにして、サービスパフォーマンスを確保しながらコストを最小限に抑えることができます。
サーバーレスモードでは、各計算ノードの最大ストレージ容量が決まっています。計算ノードをスケールインする前に、データの合計量が、残りのすべての計算ノードの合計最大ストレージ容量を超えていないことを確認してください。たとえば、各計算ノードが 2 コア、8 GB のメモリ、最大 960 GB のストレージ容量を提供するとします。インスタンスを 4 つの計算ノードにスケールインする場合、データの合計量は 3,840 GB(960 GB × 4)を超えることはできません。
次の表に、サーバーレスモードの AnalyticDB for PostgreSQL におけるさまざまな計算ノード仕様の最大ストレージ容量を示します。
仕様 | 最大ストレージ容量 |
2C8G | 960 GB |
4C16G | 2,200 GB |
8C32G | 5,400 GB |
16C64G | 11,800 GB |
スケーリングの前後に発生するサービス中断時を除き、スケーリングプロセス中はワークロードの読み取りと書き込みが可能です。
データ共有(ベータ版)
従来のデータウェアハウスで使用されるデータのインポートおよびエクスポート方法と比較して、サーバーレスモードの AnalyticDB for PostgreSQL で使用されるデータ共有には、次の利点があります。
ストレージコストの削減:AnalyticDB for PostgreSQL インスタンス間でデータの複製または移行は必要ありません。データのコピーは 1 つだけ分散ストレージに保存され、指定された範囲内の複数のインスタンスで共有できます。これにより、必要なストレージ容量が少なくなります。
使いやすさ:プロデューサーインスタンスで共有を作成し、承認を実行してから、共有にデータをインポートすると、プロデューサーインスタンスのデータにアクセスするのと同じ方法で、コンシューマーインスタンスから共有データにアクセスできます。テーブルスキーマを移行する必要はありません。共有オブジェクトの追加または削除と承認の変更は、コンシューマーインスタンスに自動的に同期されます。
データの整合性:コンシューマーインスタンスは、プロデューサーインスタンスとほぼ同等の機能で共有データにアクセスできます。さらに、コンシューマーインスタンスは、プロデューサーインスタンスの最後に書き込まれたデータを読み取ることができます。これにより、トランザクションの原子性、整合性、分離性、耐久性(ACID)機能が保証されます。
データ共有は、次の問題の解決に役立ちます。
複雑な組織権限間の分離:たとえば、インスタンスが本社に作成され、別のインスタンスが支社に作成されるとします。データ共有を使用すると、支社のインスタンスが本社のインスタンスの特定のデータにアクセスできるようになります。
複雑なビジネスリソース間の分離:たとえば、抽出、変換、ロード(ETL)とアドホックビジネスタイプ間で物理リソースが分離されているとします。データ共有を使用すると、アドホッククエリに関連するインスタンス間で ETL の結果を共有できます。
クロスビジネスコラボレーションの失敗:たとえば、同じデータコピーを R&D、営業、運用、財務担当者が分析する必要がある場合、データ共有を使用して、組織内のさまざまなビジネスグループによるデータアクセスを許可できます。
データ共有はベータテスト中で、次の制限があります。
データ共有は標準テーブルでサポートされています。パーティションテーブル、外部テーブル、ビュー、スキーマ、または関数ではサポートされていません。
データ共有はハッシュ分散テーブルでサポートされています。レプリケートされたテーブルまたはランダムテーブルではサポートされていません。
データ共有はサブトランザクションではサポートされていません。
プロデューサーインスタンスに複数の共有が存在する場合、コンシューマーインスタンスは共有の 1 つだけにサブスクライブできます。
共有テーブルでは DDL 操作は許可されていません。共有テーブルで DDL 操作を実行するには、テーブルの共有を無効にする必要があります。