> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Xplenty中級編 Part5： DB周りの設定（Source編）

> Integrate.io ETLのDatabaseコンポーネント（ソース）におけるTable/Queryの選択、クエリ並列化オプション、データ取得方法の設定について解説します。

今回はよく使うDatabaseコンポーネント（ソース）について紹介します。

<Frame>
  <img src="https://mintcdn.com/integrateio/S5PjFuXd0nNm4BaF/images/japanese-knowledge-base/intermediate-part05-jp/image-1.webp?fit=max&auto=format&n=S5PjFuXd0nNm4BaF&q=85&s=fe4e25b9b30b26c99527d7d3c3577794" alt="intermediate-part05-jp image 1" width="253" height="166" data-path="images/japanese-knowledge-base/intermediate-part05-jp/image-1.webp" />
</Frame>

## Table/Queryの選択

**Tableを選択した場合**：1つのテーブルを変換なしでシンプルに取り込みたい場合に使用します。

<Frame>
  <img src="https://mintcdn.com/integrateio/S5PjFuXd0nNm4BaF/images/japanese-knowledge-base/intermediate-part05-jp/image-2.webp?fit=max&auto=format&n=S5PjFuXd0nNm4BaF&q=85&s=46eff5ab1d43df0c30db619a7cad8a4b" alt="intermediate-part05-jp image 2" width="958" height="600" data-path="images/japanese-knowledge-base/intermediate-part05-jp/image-2.webp" />
</Frame>

* **Souce shema**：ソースのスキーマ名を設定します。
* **Souce table/view**：ソースのテーブルもしくはViewの名前を設定します。
* **Where clause**：SQLのWhere句を設定します。（Whereは不要です。Where以降を入力ください。）

**Queryを選択した場合**：SQLクエリを自身で書き、取り込みと同時に結合処理やデータ変換をSQLで行いたい場合に使用します。

<Frame>
  <img src="https://mintcdn.com/integrateio/S5PjFuXd0nNm4BaF/images/japanese-knowledge-base/intermediate-part05-jp/image-3.webp?fit=max&auto=format&n=S5PjFuXd0nNm4BaF&q=85&s=4abb375046cbb8e77bcb5903d0e9cd7e" alt="intermediate-part05-jp image 3" width="966" height="493" data-path="images/japanese-knowledge-base/intermediate-part05-jp/image-3.webp" />
</Frame>

### クエリ並列化オプション

データをクエリの並列実行で取得することで取り込み処理部分の高速化が期待できます。

<Frame>
  <img src="https://mintcdn.com/integrateio/S5PjFuXd0nNm4BaF/images/japanese-knowledge-base/intermediate-part05-jp/image-4.webp?fit=max&auto=format&n=S5PjFuXd0nNm4BaF&q=85&s=99bf2712b40b9011d51b31f38841e018" alt="intermediate-part05-jp image 4" width="951" height="247" data-path="images/japanese-knowledge-base/intermediate-part05-jp/image-4.webp" />
</Frame>

* **Split query by key column**：クエリの分割に使用するプライマリキーを指定します。
* **Max parallel connections**：クエリを並列実行するための接続数を設定します。クラスターの処理パワー（ノード数）に対して「Node数x5」の値を目安に設定ください。

クエリを並列化するには、クエリを分割するキー(**integer型**)と並列接続の最大数を設定します。クエリを並列化する場合、最初に列の最小値と最大値を取得し、データを範囲に分割するためのwhere句を使用し、複数の接続からクエリを実行します。
例：`pk >= 1 AND pk < 1000`、`pk >= 1001 AND pk < 2000`。

### データ取得方法の指定

<Frame>
  <img src="https://mintcdn.com/integrateio/S5PjFuXd0nNm4BaF/images/japanese-knowledge-base/intermediate-part05-jp/image-5.webp?fit=max&auto=format&n=S5PjFuXd0nNm4BaF&q=85&s=c4ce911a9f28b5022d1e4122980131b7" alt="intermediate-part05-jp image 5" width="185" height="76" data-path="images/japanese-knowledge-base/intermediate-part05-jp/image-5.webp" />
</Frame>

**Noneを選択した場合**：データベースからデータが読み取られ、変換がすぐに適用されます。
**Copyを選択した場合**：データを処理する前に、データベースソースから中間ストレージにデータをコピーします。これにより、データベースコネクションを開いている時間を短縮することが出来ますが、通常ジョブ全体の時間はNoneのほうが短くなります。

**Databaseコンポーネント（Destination）の設定はこちら**

送信先（Destination）がDBの場合、「[Xplenty中級編 Part4： DB周りの設定（Destination編）](/jp/etl/intermediate-part04-jp)」を参考ください。
