# Data Tank 2.0とPlazma DBの統合について

Treasure Data Data Tank 2.0では、PostgreSQLインポート/エクスポートコネクターを使用してPlazma DBと統合することができます。

## Data Tank 2.0からPlazma DBへのデータインポート

PostgreSQLインポートコネクターを使用して、Data Tank 2.0からPlazma DBにデータをインポートできます。

1. Data Tank 2.0 Management UIで、Data Tank 2.0のホスト名、ポート、データベース名を確認します。
2. アクセスキーを作成し、ユーザー名とパスワードを記録します。詳細については、[PostgreSQL Import Integration](https://docs.treasuredata.com/smart/project-integrations/postgresql-import-integration)を参照してください。


ホスト名、ポート、データベース名が表示されたData Tank 2.0 Management UI
1. **Authentication**で、Data Tank 2.0のホスト名、ポート、データベース名、ユーザー名、パスワードを入力します。**Use SSL**オプションを有効にする必要があります。


PostgreSQLインポートコネクターのAuthentication設定
## Plazma DBからData Tank 2.0へのデータエクスポート

Result ExportとTreasure ワークフローを使用して、Plazma DBからData Tank 2.0にデータをコピーできます。

事前にData Tank 2.0 Management UIから、Data Tank 2.0のホスト名、ポート、データベース名を作成してください。また、`CUSTOMIZABLE_ADMIN`ポリシーを持つアクセスキーを作成し、ユーザー名とパスワードを記録してください。Integrationを使用する際は、**Set Role**オプションの設定が必要です。

Data Tank 2.0のエクスポート設定
## Presto Data Tank 2.0 Integration

この機能は、お客様とTreasure Data双方での設定が必要です。

Treasure Dataのクエリエンジンの1つであるPrestoを使用して、Data Tank 2.0に対してクエリを送信し、結果を取得できます。クエリの結果セットは、Prestoジョブ処理中にPlazma DBのデータとJOINすることができます。Prestoを使用する場合、クエリ構文はPrestoに準拠します（Data Tank 2.0の拡張機能はサポートされません）。クエリが送信されると、Data Tank 2.0への接続はReaderノードに対して行われるため、Writerノードへの負荷の影響を回避できます。

Presto Data Tank 2.0統合アーキテクチャ
Data Tank 2.0のアクセスキーとAPIを連携する設定は、Treasure Dataが操作します。

## 操作手順

1. この機能で使用するData Tank 2.0のアクセスキーを作成します。Management UIでアクセスキーに必要なアクセスポリシーを設定します。

2. Treasure コンソールで、この機能専用の空のデータベースを作成します。

3. Treasure サポートに、Data Tank 2.0 Presto Integrationの有効化をリクエストします。リクエストには以下の情報を含めてください。
  - 手順1で作成したData Tank 2.0のアクセスキーとパスワード
  - 手順2で作成したデータベース名
  - Data Tank 2.0のホスト名
4. Treasure Dataが統合設定を行い、完了次第お客様に報告します。


## クエリ構文

Presto経由でData Tank 2.0にアクセスするには、以下の構文を使用します。


```sql
SELECT
  [Data Tank 2.0のカラム名]
FROM
  [手順2で作成したデータベース名].[Data Tank 2.0のスキーマ名].[Data Tank 2.0のテーブル名]
```

## アクセス制御

- **Plazma DBの権限** — Data Tank 2.0 Presto Integrationでは、Treasure Dataユーザーがデータベースに対してQueryまたはFull Accessの権限を持っている必要があります。アクセス制御はTreasure コンソールで管理されます。
- **Data Tank 2.0の権限** — Data Tank 2.0 Presto Integrationでは、Data Tank 2.0のアクセスキーに関連付けられたスキーマへのアクセス権限が必要です。アクセス制御はManagement UIで管理されます。


Data Tank 2.0 Presto Integrationのアクセス制御設定
## Data Tank 2.0へのアクセス

Data Tank 2.0はPostgreSQLプロトコルを提供しており、一般的なPostgreSQLクライアントツールを使用することができます。このセクションでは、`psql`コマンドを使用してData Tank 2.0にアクセスする方法について説明します。

### psqlコマンドからのアクセス

`psql`コマンドを使用すると、CLIからData Tank 2.0に接続できます。

1. [PostgreSQLダウンロードページ](https://www.postgresql.org/download/)から`psql`をダウンロードしてインストールします。
2. インストール後、以下のコマンドを実行します。

```bash
psql -d <Database> -h <Host> -p 5432 -U <UserName>
```


ユーザー名とパスワードは、Management UIの**Access Key**ページに表示されます。