AnalyticDB for PostgreSQL

プロダクト紹介

AnalyticDB for PostgreSQLとは

AnalyticDB for PostgreSQL は、複数のグループで構成される分散型クラウドデータベースで、オンラインの Massively Parallel Processing (MPP) データウェアハウスサービスを提供します。 AnalyticDB for PostgreSQL は、オープンソースの Greenplum Database プログラムをベースに開発され、Alibaba Cloud による更なる拡張機能によって強化されています。 このサービスには、次の機能が含まれています。

  • Greenplum と互換性があり、Greenplum に対応しているすべてのツールを 直接利用できます。
  • 独自の MetaScan と SortKey テクノロジーを使用してユーザーエクスペリエンスを最適化します。
  • OSS ストレージ、JSON データ型、HyperLogLog 近似分析などの機能を サポートしています。
  • SQL:2008 の標準クエリ構文や OLAP 集約関数に準拠しており、 柔軟なハイブリッド分析機能を提供します。
  • 行単位、列単位両方にデータを格納するハイブリッドストレージモードに対応し、 分析パフォーマンスを向上させます。
  • データ圧縮技術により、ストレージコストを削減します。
  • オンラインでの拡張やパフォーマンスモニタリングサービスを使用すると、 複雑な MPP クラスター の O&M から解放され、DBA、開発者、データアナリストは SQL を使った企業の生産性の向上や本質的価値の創造に 注力できます。

概念

次のリストは、AnalyticDB for PostgreSQL に関連する基本的な考え方を示しています。

  • グループ
    AnalyticDB for PostgreSQL の操作ユニット
    • AnalyticDB for PostgreSQL のインスタンスは複数のグループで 構成されています。
    • グループ数が増加すると、線形パフォーマンスは 向上します。
  • グループタイプ
    利用可能な計算リソースのパッケージ
    • 各グループタイプには、CPU、I/O、メモリ、ディスクリソースが含まれます。 グループタイプによってパフォーマンスが異なります。
    • 同じグループ内のリソースは、物理的に同じホストに 割り当てられます。
  • グループ数
    購入したグループの数
    • 最小単位は 2 です。
    • グループタイプによって、グループ数の上限は異なります。
  • MPP
    超並列処理、分散シェアードナッシングコンピューティング アーキテクチャ。 MPP は、 複数のシェアードナッシングノード (AnalyticDB for PostgreSQL ではグループと呼びます) による並列処理を用いて、 パフォーマンスを向上させます。

機能と制限

このドキュメントでは、AnalyticDB for PostgreSQL の基本的な機能と制限について説明します。

機能

  • Greenplum Database の主要な機能をカバー。
  • MetaScan と SortKey のサポート
  • ORCA オプティマイザのサポート
  • PL/ PGSQL と PL/JAVA の分散ストアドプロシージャのサポート
  • PostGIS、PostGIS、MADlib、fuzzystrmatch、 orafunc、pgcrypto、intarray などの多様な拡張機能のサポートOrafunc 、 pgcrypto 、と intarray 。 (CREATE EXTENSION コマンドで作成できます。)
  • OSS_EXT 拡張機能を使用した Alibaba Cloud OSS (オブジェクトストレージサービス) のデータの読み書きや、 外部テーブルの ストレージコストを削減するgzip 圧縮のサポート
  • JSON データ型と HyperLogLog 型のサポート ( CREATE EXTENSION コマンドで作成できます。)

制限

  • 権限の制限 : AnalyticDB for PostgreSQL の初期ユーザー (root ユーザー) は、 データベースの作成 (CREATEDB) 権限と ユーザーの作成 (CREATEROLE) 権限を持ちますが、 スーパーユーザー権限 (SUPERUSER) は持っていません。 つまり、
    • root ユーザーはスーパーユーザー権限を必要とする操作を 実行できません。 たとえば、root ユーザーは pg\_ls\_dir といったファイル関連関数は実行できません。
    • root ユーザーには、スーパーユーザー以外の全ユーザーのデータを表示、変更する権限と、 スーパーユーザーでない他のユーザーの接続を終了 (Kill) させる権限が あります。
  • PL/R 拡張機能はサポートしていません。
  • PL/Python 拡張機能の作成はサポートしますが、 PL/Python を使っての関数の作成はサポートしていません。
  • gpfdist ツールはサポートしていません。
  • MapReduce インターフェイス、gphdfs ストレージインターフェイス、およびローカル外部テーブルは サポートしていません。
  • 自動バックアップや自動リカバリはサポートしていません。 AnalyticDB for PostgreSQL はデータを二重に保持しており、 pg_dump ツールを使用することでデータをバックアップできます。

クイックスタート

概要

AnalyticDB for PostgreSQL は、分散型クラウドデータベースです。 複数のグループで構成され、MPP (超並列処理) データウェアハウスサービスを 提供します。 AnalyticDB for PostgreSQL は オープンソースデータベースプログラムの Greenplum をベースに開発されており、 Alibaba Cloud による拡張機能で強化されて います。
AnalyticDB for PostgreSQL は Greenplum 環境と互換性があり、OSS ストレージ、JSON データ型、HyperLogLog 近似解析などの機能をサポートしています。 AnalyticDB for PostgreSQL の機能と制限について詳しくは、「機能と制限」をご参照ください。
AnalyticDB for PostgreSQL を使用するには、次のタスクを完了する必要があります。

  1. インスタンスの 作成
  2. ホワイトリストの設定、アカウントの設定、ネットワークタイプの設定 などのインスタンスの設定
  3. データベースへの接続
  4. データのインポート データのインポートは、 OSS 外部テーブルを用いた並列インポート、MySQL からのインポート、PostgreSQLからのインポート、COPY コマンドを使用したインポートのいずれかの方法で行えます。

FAQ

ローカルクライアントのIPアドレス取得方法

現象

ネットワークの複雑さと多様性のために、インスタンスホワイトリストに追加されるべきローカルクライアントの IP アドレスを正しく見つけることができない場合があります。 ここでは、ローカルクライアントの IP を表示する方法について説明します。

手順

  1. 0.0.0.0/0 を AnalyticDB for PostgreSQL インスタンスに追加します。

    注:ホワイトリスクにある IP アドレス 0.0.0.0/0 は、 AnalyticDB for PostgreSQL インスタンスへのアクセスが許可されているデバイスであることを示します。 この設定はセキュリティリスクが高いため、使用後ただちに消去します。

  2. ローカルクライアントを用いて AnalyticDB for PostgreSQL へ接続します。
  3. データベースの SQL コマンドラインで以下の文を実行し、ローカルクライアントの IP アドレスを照会します。
    1. select * from pg_stat_activity;
    照会結果の CLIENT_ADDR の値が、ローカルクライアントの IP アドレスです。
  4. ホワイトリストから 0.0.0.0/0 を削除し、前述の手順の IP アドレスを追加し、クライアントからデータベースへアクセスします。

インスタンスタイプの選択方法

AnalyticDB for PostgreSQL のインスタンスを作成またはアップグレードするには、「グループタイプとグループ数」を指定する必要があります。
AnalyticDB for PostgreSQL は、複数のグループタイプをサポートしています。 詳細は、「インスタンスタイプ」をご参照ください。 同じタイプの複数のグループを指定することもできます。 グループタイプと数量を選択する際には、次の要素を考慮することを推奨します。

  • 必要なストレージスペース
  • 必要なコンピューティング能力

ストレージスペース

グループタイプとグループ数のストレージスペースの組み合わせ = グループタイプのストレージスペース * グループ数。
予想されるストレージスペースを決定するときは、次の点にご注意ください。

  • ストレージスペースを、実際に見積もられたスペースよりわずかに大きくします。 データ処理によって、ログと一時ファイルが生成されるためです。
  • 分散キーを適切に選択し、データスキューを回避します。できるだけ均等に分散キーを割り当てなければ、データスキューが発生する可能性があります。 データスキューが発生すると、コンピューティンググループ内のストレージスペースがなくなり、他のグループのストレージスペースがアイドル状態になることで、ストレージリソースの使用率が低下します。

コンピューティング機能

グループタイプとグループ数の組み合わせは、特定のコンピューティング機能を作り出します。 コンピューティング機能は、コンピューティンググループタイプ、CPU 数、メモリサイズ、およびグループ数によって決まります。
AnalyticDB for PostgreSQL には、次の 2 つのグループタイプがあります。

  • 高パフォーマンスグループ : グループタイプ名は gpdb.group.segsdx で始まります。 このタイプは、 I/O 機能に優れ、より高いパフォーマンスを保証します。
  • 大容量グループ : グループタイプ名は gpdb.group.seghdx で始まります。 このタイプは、より高いストレージ需要に対応するため、より大きくより手頃なスペースを備えています。

その他の 3 つの要因も、線形性能の向上に寄与します。 高パフォーマンスタイプを例に示します。 以下の使用ケースにおける SQL の実行所要時間は、ほぼ同等です。

コンピューティング機能

また、価格を考慮する必要があります。