Getting started#

分散環境内に階層化ストレージを実装するには、最初にEDB Postgres分散PGDクラスターとオブジェクトストア間の一貫したリンクを確立する必要があります。

以下のセクションでは、クラスターがストレージプロバイダーをポイントするために必要な前提条件と構成手順を説明します。これらの手順は、 PGDデータのバージョンがカラムナ形式で永続化される外部の場所を定義します。

ノードグループレベルでこれらの設定を構成することにより、クラスター内のすべてのノードが階層化データの書き込みおよび読み取りの場所を正確に認識するようになります。

前提条件#

  • クラスター PGAAおよびPGFS拡張機能がインストールされたPGDバージョン6.1以降。

  • ストレージの場所 IcebergまたはDelta Lake形式を使用するローカル、S3、GCP、またはAzureストレージ。

  • カタログ 外部カタログサービスを使用する場合、Iceberg RESTカタログのみがサポートされます。

  • 権限 データベースユーザーには、PGDおよびPGAAファンクションに対するCREATE 、ALTER 、およびEXECUTE 特権が必要です。

注釈

保管場所またはカタログサービスに関連付けられている資格情報には、宛先バケットの読み取りおよび書き込み権限が必要です。次のファンクションを実行して、権限を確認できます。成功した場合は`NULL` を結果ます。

  • 保存場所の場合

SELECT pgaa.test_storage_location (my_storage_location, true);
  • カタログサービスの場合

SELECT pgaa.test_catalog(my_iceberg_catalog, test_writes := FALSE);

オブジェクトストレージをポイントする#

階層化テーブルを作成する前に、コールドデータの宛先を定義する必要があります。分散PGDクラスター内で作業しているため、これらの構成呼び出しをbdr.replicate_ddl_command でラップして、設定がグループ内のすべてのノードに伝播されるようにする必要があります。

!!!ヒント

ノードグループを表示するには、 SELECT node_group_id FROM bdr.node_group; を使用します。

  1. PGFS extension を使用してストレージの場所を作成し、ノードグループの分析ストレージとして設定します。

SELECT bdr.replicate_ddl_command($$
  SELECT pgfs.create_storage_location(
  my-storage-location,
  protocol://my-bucket-name/path/,
  {"region": "region-name"},
  {"access_key_id": "...", "secret_access_key": "..."}
  )
$$);
  1. analytics_write_catalog をクリアします。 analytics_storage_location を割り当てる前に、これはNULL である必要があります。

SELECT bdr.alter_node_group_option(my-pgd-group, analytics_write_catalog, NULL);
  1. ノードグループの分析ストレージの場所を設定します。

SELECT bdr.alter_node_group_option(my-pgd-group, analytics_storage_location, my-storage-location);
  1. Integrating with Iceberg catalogs への接続を構成します。

SELECT bdr.replicate_ddl_command($$
  SELECT pgaa.add_catalog(
    my-catalog-name,
    iceberg-rest,
    {
      "url": "https://my-catalog-rest-endpoint.com",
      "token": "MY_AUTH_TOKEN",
     }
  )
);
  1. カタログをデフォルトの分析の書き込み場所として設定します。

SELECT bdr.replicate_ddl_command($$
  SELECT bdr.alter_node_group_option(my-pgd-group, analytics_write_catalog, my-catalog-name)
);

次のステップ#

PGDクラスターのストレージターゲットを定義したため、パフォーマンスと容量の要件に基づいて、テーブルがそのストレージとどのように相互作用するかを決定できます。

  • 階層テーブルの実装 ローカルヒープストレージから経過期間のしきい値に基づいてターゲットとされる分析ストレージにパーティションを自動的に移行することにより、ゼロタッチデータライフサイクルを確立します。

  • アナリティクスへの複製 ローカルトランザクションヒープテーブルを維持すると同時に、大量の分析処理のためにカラムナコピーをストレージターゲットに同期します。

  • アナリティクスへのオフロード アナリティクスにレプリケートされる既存のテーブルからヒープディスク領域を再利用します。