TiDB CloudとAirbyteを統合する
エアバイトデータウェアハウス、データレイク、データベース内のデータを統合し、抽出、ロード、変換(ELT)パイプラインを構築するためのオープンソースのデータ統合エンジンです。このドキュメントでは、エアバイトをソースまたは宛先としてTiDB Cloudに接続する方法について説明します。
Airbyteをデプロイ
Airbyteは、わずか数ステップでローカル環境にデプロイできます。
ワークスペースにドッカーをインストールします。
Airbyteのソースコードをクローンする。
git clone https://github.com/airbytehq/airbyte.git && \ cd airbytedocker-composeを使用してDockerイメージを実行します。
docker-compose up
Airbyteのバナーが表示されたら、ユーザー名( airbyte )とパスワード(password)を使用してhttp://localhost:8000 passwordアクセスし、UIにアクセスできます。
airbyte-server | ___ _ __ __
airbyte-server | / | (_)____/ /_ __ __/ /____
airbyte-server | / /| | / / ___/ __ \/ / / / __/ _ \
airbyte-server | / ___ |/ / / / /_/ / /_/ / /_/ __/
airbyte-server | /_/ |_/_/_/ /_.___/\__, /\__/\___/
airbyte-server | /____/
airbyte-server | --------------------------------------
airbyte-server | Now ready at http://localhost:8000/
airbyte-server | --------------------------------------
TiDBコネクタを設定する
便利なことに、TiDBをソースと宛先に設定する手順は同じです。
サイドバーの「ソース」または「宛先」をクリックし、TiDBタイプを選択して新しいTiDBコネクタを作成します。
以下のパラメータを入力してください。
- ホスト: のエンドポイントTiDB Cloud Dedicatedクラスター
- ポート: データベースのポート番号
- データベース:データを同期したいデータベース
- ユーザー名:データベースにアクセスするためのユーザー名
- パスワード:ユーザー名のパスワード
TiDB Cloudコンソールの接続ダイアログからパラメーター値を取得できます。ダイアログを開くには、私のTiDBページに移動し、ターゲットのTiDB Cloud Dedicatedクラスタークラスターの名前をクリックして概要ページに移動し、右上隅のConnectをクリックします。
SSL接続を有効にし、 JDBC URLパラメータでTLSプロトコルをTLSv1.2またはTLSv1.3に設定します。
注記:
- TiDB Cloud はTLS 接続をサポートしています。TLSv1.2 およびTLSv1.3から TLS プロトコルを選択できます。たとえば、
enabledTLSProtocols=TLSv1.2。 - JDBC を介してTiDB Cloudへの TLS 接続を無効にする場合は、JDBC URL パラメータで useSSL を
falseに設定し、SSL 接続を閉じる必要があります。たとえば、useSSL=falseのように設定します。 - TiDB Cloud StarterとTiDB Cloud EssentialはTLS接続のみをサポートしています。
- TiDB Cloud はTLS 接続をサポートしています。TLSv1.2 およびTLSv1.3から TLS プロトコルを選択できます。たとえば、
コネクタの作成を完了するには、「ソースまたは宛先の**設定」**をクリックします。次のスクリーンショットは、ソースとしてTiDBを設定した例です。
TiDBからSnowflakeへの転送や、CSVファイルからTiDBへの転送など、ソースと宛先を自由に組み合わせて使用できます。
TiDB コネクタの詳細については、 TiDBソースとTiDB宛先参照してください。
接続を設定する
送信元と送信先を設定したら、接続を構築して構成できます。
以下の手順では、TiDBをソースと宛先の両方として使用します。他のコネクタでは、パラメータが異なる場合があります。
サイドバーの「接続」をクリックし、次に「新しい接続」をクリックします。
事前に設定した送信元と送信先を選択してください。
接続設定パネルに移動し、
${source_name} - ${destination-name}などの接続名を作成します。レプリケーション頻度を**「24時間ごと**」に設定すると、接続は1日に1回データを複製します。
宛先名前空間を**カスタム形式に設定し、名前空間カスタム形式をテスト**に設定して、すべてのデータを
testデータベースに保存します。同期モードを「完全更新」または「上書き」に選択してください。
ヒント:
TiDB コネクタは増分更新と完全更新の同期をサポートします。
- インクリメンタルモードでは、Airbyteは前回の同期ジョブ以降にソースに追加されたレコードのみを読み取ります。インクリメンタルモードを使用した最初の同期は、フルリフレッシュモードと同等です。
- フルリフレッシュモードでは、Airbyteはソース内のすべてのレコードを読み取り、同期タスクごとに宛先に複製します。Airbyteの「名前空間」という名前のテーブルごとに、同期モードを個別に設定できます。
デフォルトの正規化モードを使用するには、 「正規化と変換」を「正規化された表形式データ」に設定してください。または、ジョブに使用するdbtファイルを設定することもできます。正規化の詳細については、 変換と正規化を参照してください。
「接続設定」をクリックしてください。
接続が確立されたら、 「有効」をクリックして同期タスクをアクティブ化します。また、 「今すぐ同期」をクリックすると、すぐに同期を開始できます。
制限事項
- TiDBコネクタは、TiCDCが提供する変更データキャプチャ(CDC)機能を使用できません。増分同期はカーソル機構に基づいて実行されます。
- TiDB の宛先では、デフォルトの正規化モードで
timestamp型がvarchar型に変換されます。これは、Airbyte が送信中にタイムスタンプ型を文字列に変換し、TiDB がcast ('2020-07-28 14:50:15+1:00' as timestamp)をサポートしていないためです。 - 一部の大規模な ELT ミッションでは、TiDB の取引制限のパラメーターを増やす必要があります。


