PolarDB for PostgreSQL および は、オープンソースのグラフエンジンである Apache AGE を統合しています。この統合により、同じクラスター内で標準 SQL と業界標準の openCypher グラフクエリ言語を使用できます。複雑なリレーションシップシナリオにおいて、グラフデータを効率的に保存、クエリ、分析することが可能です。
ステップ 1:グラフアプリケーションの作成
以下の 2 つの方法のいずれかで作成できます。
PolarDB コンソール に移動します。左側のナビゲーションウィンドウで [PolarDB AI] をクリックし、次に [AI アプリケーションの作成] をクリックします。

PolarDB コンソール に移動します。左側のナビゲーションウィンドウで クラスター をクリックします。適用性の要件を満たす対象クラスターを見つけ、クラスター詳細ページに移動します。左側のナビゲーションウィンドウで、 を選択し、次に [AI アプリケーションの作成] をクリックします。

アプリケーション購入ページで、必要に応じて適切な構成を選択します。
構成項目
説明
課金方法
サブスクリプション:前払いの課金方法です。アプリケーションを作成する際に、固定仕様のリソースを選択し、事前に料金を支払う必要があります。サブスクリプション期間が長いほど、割引率が高くなります。この課金方法は、長期的で安定したビジネス要件を持つシナリオに適しています。
従量課金:都度払いの課金方法です。アプリケーションを作成する際に、固定仕様のリソースを選択する必要がありますが、事前に料金を支払う必要はありません。実際の使用時間に基づいて課金されます。この課金方法は、柔軟なビジネス要件を持つシナリオに適しています。
エンジン
PolarDB に固定されています。
リージョン
アプリケーションが配置される地理的位置を選択します。
説明アプリケーションの購入後にリージョンを変更することはできません。
アプリケーションは PolarDB for PostgreSQL クラスターと同じリージョンにある必要があるため、PolarDB for PostgreSQL クラスターと同じリージョンを選択してください。
アプリケーションと接続したい ECS インスタンスは、同じリージョンに作成することを推奨します。そうしない場合、内部ネットワーク (プライベートネットワーク) 経由での通信ができず、外部ネットワーク (パブリックネットワーク) 経由での通信のみとなり、最適なパフォーマンスが得られません。
アーキテクチャ
AI アプリケーション を選択します。
エコシステム
ソース PolarDB クラスターのデータベースエコシステムは自動的に入力されるため、手動で入力する必要はありません。
ソース PolarDB クラスター
アプリケーションを作成する PolarDB クラスターを選択します。
バージョン
ソース PolarDB クラスターのデータベースバージョンは自動的に入力されるため、手動で入力する必要はありません。
AI アプリケーション
グラフ管理 を選択します。
コンポーネントセット
必要に応じて バックエンドコンポーネント の数と仕様をカスタマイズします。
AI アプリケーション名
カスタムのアプリケーション名を入力できます。
説明名前は http:// または https:// で始めることはできず、長さは 2〜256 文字である必要があります。
ネットワークタイプ
VPC に固定されています。
VPC
ソース PolarDB クラスターの VPC は自動的に入力されるため、手動で入力する必要はありません。
ゾーンと vSwitch
VPC の vSwitch を設定します。最適なネットワークパフォーマンスを得るために、PolarDB for PostgreSQL クラスターと同じプライマリゾーンにある vSwitch を選択することを推奨します。
既存の vSwitch が要件を満たさない場合は、vSwitch を作成できます。
セキュリティグループ
アプリケーションのセキュリティグループを設定します。
数量
購入するアプリケーションの数を選択します。
説明各 PolarDB for PostgreSQL クラスターに対して、同じタイプの AI アプリケーションは 1 つしか購入できません。
このパラメーターは、[課金方法] が サブスクリプション に設定されている場合にのみ利用できます。
期間
アプリケーションのサブスクリプション期間を選択します。
説明このパラメーターは、[課金方法] が サブスクリプション に設定されている場合にのみ利用できます。
自動更新
自動更新を有効にするかどうかを設定します。更新忘れによる業務の中断を防ぐため、自動更新を有効にすることを推奨します。
説明このパラメーターは、[課金方法] が サブスクリプション に設定されている場合にのみ利用できます。
購入が完了したら、クラスターの AI アプリケーションページに戻り、新しいアプリケーションを確認します。
説明システムのアプリケーション作成には 3〜5 分かかります。しばらくお待ちください。
ステップ 2:グラフアプリケーションへの接続
アプリケーションのホワイトリスト設定:AI アプリケーションリストページで、ご利用の [アプリケーション ID] をクリックしてアプリケーション詳細ページに移動します。ホワイトリスト タブで、IP ホワイトリストの追加、セキュリティグループを選択、または既存のホワイトリストグループの 変更 ができます。
説明アプリケーションのホワイトリストはクラスターのホワイトリストとは独立しており、別途設定する必要があります。
ご利用の ECS インスタンスがアプリケーションにアクセスする必要がある場合、ECS の [インスタンスの詳細] ページで ECS インスタンスの IP アドレスを確認し、IP ホワイトリストに追加できます。
ご利用の ECS インスタンスとアプリケーションが同じ VPC 内にある場合、ECS インスタンスのプライベート IP アドレスまたはその VPC CIDR ブロックを追加できます。
ご利用の ECS インスタンスとアプリケーションが同じ VPC 内にない場合、ECS インスタンスのパブリック IP アドレスまたは ECS インスタンスが属するセキュリティグループを追加できます。
ご利用のオンプレミスサーバー、コンピューター、または他のクラウドサーバーがアプリケーションにアクセスする必要がある場合、そのパブリック IP アドレスを IP ホワイトリストに追加します。

エンドポイントの取得:AI アプリケーションリストページで、ご利用の [アプリケーション ID] をクリックしてアプリケーション詳細ページに移動します。基本情報 タブの [トポロジー] セクションで [プライベートエンドポイント] を確認できます。
説明パブリックエンドポイントは別途リクエストする必要があります。[リクエスト] ボタンをクリックしてリクエストを送信してください。
パブリックエンドポイントは IP アドレスとポートのみを提供し、ドメイン名は提供しません。ドメイン名が必要な場合は、ご自身でバインドすることができます。

ステップ 3:拡張機能の作成とデータベースの設定
拡張機能の作成:特権アカウントを使用して次の文を実行します。
説明age拡張機能は現在、手動での作成をサポートしていません。この機能を使用するには、チケットを起票して作成をリクエストしてください。CREATE EXTENSION age;データベースの設定:各接続で、クエリを簡略化し、
get_cypher_keywords関数を使用して拡張機能をロードするために、ag_catalogをsearch_pathに追加する必要があります。説明Data Management Service (DMS) クライアントを使用して
search_pathを設定すると、互換性の問題が発生する可能性があります。PolarDB-Tools を使用して関連する文を実行できます。SET search_path = ag_catalog, "$user", public;特権アカウントを使用してデータベースパラメーターを設定し、拡張機能を永続的にロードします。これにより、各接続で前述の操作を繰り返す必要がなくなり、プロセスが簡略化されます。
ALTER DATABASE <dbname> SET search_path = "$user", public, ag_catalog; ALTER DATABASE <dbname> SET session_preload_libraries TO 'age';(任意) 一般ユーザーに AGE の使用を許可する:
ag_catalogスキーマで一般ユーザーにUSAGE権限を付与します。GRANT USAGE ON SCHEMA ag_catalog TO <username>;一般ユーザーが読み取りおよび書き込み権限しか持たない場合、テーブルを作成するために
CREATE権限も付与する必要があります。GRANT CREATE ON DATABASE <dbname> TO <username>;
ステップ 4:グラフの作成とデータの挿入
グラフの作成:使用する前にグラフを作成する必要があります。これを行うには、
ag_catalog名前空間のcreate_graph関数を使用します。構文:
SELECT create_graph('<graph_name>');例:
SELECT ag_catalog.create_graph('moviedb');データの挿入:次の SQL 文を使用して、サンプルデータを
moviedbグラフに挿入します。SELECT * FROM cypher('moviedb', $$ CREATE (matrix:Movie {title: 'The Matrix', released: 1997}) CREATE (cloudAtlas:Movie {title: 'Cloud Atlas', released: 2012}) CREATE (forrestGump:Movie {title: 'Forrest Gump', released: 1994}) CREATE (keanu:Person {name: 'Keanu Reeves', born: 1964}) CREATE (robert:Person {name: 'Robert Zemeckis', born: 1951}) CREATE (tom:Person {name: 'Tom Hanks', born: 1956}) CREATE (tom)-[:ACTED_IN {roles: ['Forrest']}]->(forrestGump) CREATE (tom)-[:ACTED_IN {roles: ['Zachry']}]->(cloudAtlas) CREATE (robert)-[:DIRECTED]->(forrestGump) $$) AS (result1 agtype);これには 6 つのノード (3 つは Movie ラベル、3 つは Person ラベル) と 3 つのエッジ (2 つは ACTED_IN ラベル、1 つは DIRECTED ラベル) が含まれます。リレーションシップグラフは以下の通りです。

ステップ 5:アプリケーションの開発
アプリケーションの開発:インターネット経由で直接アプリケーションにアクセスできます。AI アプリケーションリストページで [アプリケーションの開発] をクリックして、グラフアプリケーションの可視化ツールのパブリックエンドポイントを開きます。または、ブラウザのアドレスバーにアプリケーションのパブリック IP アドレスとポートを入力して可視化ツールにアクセスすることもできます。
説明まず、ご利用のパブリック IP アドレスをアプリケーションのホワイトリストに追加してください。

可視化ツールのログインページで、次の情報を入力します。
host:ご利用の PolarDB クラスターのエンドポイントを選択します。
データベース名:クラスター内のデータベースを入力します。適切なデータベースがない場合は、クラスター詳細ページに戻り、データベースを作成します。
ユーザー名:クラスター内のデータベースアカウントを入力します。データベースに対する必要なアクセス権限があることを確認してください。
password:データベースアカウントのパスワードを入力します。

データのクエリ:Cypher では、
MATCHおよびRETURNキーワードを使用してデータをクエリします。MATCHはパターンマッチングを実行し、指定されたパターンに一致するコンテンツを検索します。RETURNキーワードは、Cypher クエリから返したい値や結果を指定します。
構文:
SELECT * FROM cypher('graph_name', $$ MATCH <patterns>RETURN <variables> $$) AS (result1 agtype);例:可視化ツールの上部に次の Cypher クエリ文を入力します。
SELECT * FROM cypher('moviedb', $$ MATCH (m:Person) RETURN m $$) AS (result1 agtype);
検証:文が正常に実行されると、
moviedbグラフの 3 つの Person ノードが下の可視化エリアに表示されます。
ステップ 6:(任意) グラフアプリケーションのリリース
可視化ツールが不要になった場合は、コストを節約するためにリリースできます。AI アプリケーションリストで対象のグラフアプリケーションを見つけ、操作 列で [アプリケーションのリリース] をクリックします。
グラフアプリケーションをリリースすると、Web インターフェイスを提供する可視化ツールのみが削除されます。ご利用の PolarDB クラスターに保存されているグラフデータは削除されません。アプリケーションがリリースされると、パブリックエンドポイントなどの構成は失われ、回復することはできません。