AdventureWorks サンプル データベースを Azure Arc 対応 PostgreSQL サーバーにインポートする
AdventureWorks は、チュートリアルで使用される OLTP データベースと例を含むサンプル データベースです。 SQL Server サンプル GitHub リポジトリの一部として、Microsoft によって提供および管理されています。
オープンソース プロジェクトによって、AdventureWorks データベースが Azure Arc 対応 PostgreSQL サーバーとの互換性を備えるように変換されました。
このドキュメントでは、AdventureWorks サンプル データベースを Azure Arc 対応 PostgreSQL サーバーにインポートするための簡単なプロセスについて説明します。
Note
この記事で紹介しているテクノロジはプレビュー機能であり、「Microsoft Azure プレビューの追加利用規約」に従うことを条件として提供されます。
最新の更新プログラムについては、リリース ノートを参照してください。
AdventureWorks のバックアップ ファイルをダウンロードする
AdventureWorks の .sql ファイルを PostgreSQL サーバー コンテナーにダウンロードします。 この例では、kubectl exec
コマンドを使用して、PostgreSQL サーバー コンテナー内のコマンドをリモートで実行し、ファイルをコンテナーにダウンロードします。 このファイルは、curl
がアクセスできる任意の場所からダウンロードできます。 他のデータベースのバックアップ ファイルを PostgreSQL サーバー コンテナーにプルする場合、これと同じ方法を使用します。 PostgreSQL サーバー コンテナーでは、データベースとスキーマを簡単に作成し、データを設定することができます。
次のようなコマンドを実行して、ファイルをダウンロードします。実行する前にポッド名と名前空間名の値を置き換えます。
Note
GitHub からファイルをダウンロードするには、コンテナーが 443 経由でインターネットに接続されている必要があります。
Note
PostgreSQL サーバーのコーディネーター ノードのポッド名を使用します。 その名前は <server group name>c-0 です (postgres01c-0 など。c はコーディネーター ノードを表します)。 ポッド名がわからない場合は、kubectl get pod
コマンドを実行します。
kubectl exec <PostgreSQL pod name> -n <namespace name> -c postgres -- /bin/bash -c "cd /tmp && curl -k -O https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_data_jumpstart/cluster_api/capi_azure/arm_template/artifacts/AdventureWorks2019.sql"
#Example:
#kubectl exec postgres02-0 -n arc -c postgres -- /bin/bash -c "cd /tmp && curl -k -O hthttps://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_data_jumpstart/cluster_api/capi_azure/arm_template/artifacts/AdventureWorks2019.sql"
AdventureWorks データベースをインポートする
同様に、kubectl exec コマンドを実行して、PostgreSQL サーバー コンテナーに含まれている psql CLI ツールを使用し、データベースを作成して読み込むことができます。
次のようなコマンドを実行して、最初に空のデータベースを作成します。そのためには、まずポッド名と名前空間名の値を置き換えてから実行します。
kubectl exec <PostgreSQL pod name> -n <namespace name> -c postgres -- psql --username postgres -c 'CREATE DATABASE "adventureworks";'
#Example
#kubectl exec postgres02-0 -n arc -c postgres -- psql --username postgres -c 'CREATE DATABASE "adventureworks";'
その後、次のようなコマンドを実行してデータベースをインポートします。そのためには、まずポッド名と名前空間名の値を置き換えてから実行します。
kubectl exec <PostgreSQL pod name> -n <namespace name> -c postgres -- psql --username postgres -d adventureworks -f /tmp/AdventureWorks.sql
#Example
#kubectl exec postgres02-0 -n arc -c postgres -- psql --username postgres -d adventureworks -f /tmp/AdventureWorks.sql
推奨される次の手順
複数の PostgreSQL サーバーノードにデータを分散し、Azure Database for PostgreSQL のすべての利点を活用するために、Azure Database for PostgreSQL の概念と攻略ガイドを参照してください。 :
- ノードとテーブル
- アプリケーションの種類の決定
- ディストリビューション列の選択
- テーブル コロケーション
- テーブルの配布と変更
- マルチテナント データベースを設計する*
- リアルタイム分析ダッシュボードを設計する*
* 上記のドキュメントの「Azure portal にサインインする」と「Azure Database for PostgreSQL を作成する」セクションはスキップしてください。 Azure Arc デプロイの残りの手順を実装します。 これらのセクションは Azure クラウドで PaaS サービスとして提供される Azure Database for PostgreSQL サーバーに固有のものですが、ドキュメントの他の部分は Azure Arc 対応 PostgreSQL サーバーに直接適用できます。