TiDB Cloudと Airbyte を統合する
エアバイトは、抽出、読み込み、変換 (ELT) パイプラインを構築し、データ ウェアハウス、データ レイク、およびデータベース内のデータを統合するオープンソースのデータ統合エンジンです。このドキュメントでは、Airbyte をソースまたは宛先としてTiDB Cloudに接続する方法について説明します。
エアバイトをデプロイ
ほんの数ステップで Airbyte をローカルに展開できます。
ワークスペースにドッカーをインストールします。
Airbyte のソース コードを複製します。
git clone https://github.com/airbytehq/airbyte.git && \ cd airbytedocker-compose で Docker イメージを実行します。
docker-compose up
Airbyte バナーが表示されたら、ユーザー名 ( airbyte ) とパスワード ( password ) を使用してhttp://localhost:8000に移動し、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クラスターのエンドポイント
- ポート: データベースのポート
- データベース: データを同期するデータベース
- ユーザー名: データベースにアクセスするためのユーザー名
- パスワード: ユーザー名のパスワード
SSL 接続を有効にし、 JDBC URL Paramsで TLS プロトコルをTLSv1.2またはTLSv1.3に設定します。
ノート:
- TiDB Cloudは TLS 接続をサポートしています。 TLSv1.2およびTLSv1.3で TLS プロトコルを選択できます (例:
enabledTLSProtocols=TLSv1.2)。 - JDBC 経由でTiDB Cloudへの TLS 接続を無効にする場合は、特に JDBC URL Params で useSSL を
falseに設定し、SSL 接続を閉じる必要があります (例:useSSL=false)。 - TiDB Serverless Tier は 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 回データをレプリケートすることを意味します。
Destination NamespaceをCustom formatに設定し、 Namespace Custom Formatをtestに設定して、すべてのデータを
testデータベースに保存します。同期モードをフル リフレッシュ |に選択します。上書きします。
ヒント:
TiDB コネクタは、増分同期と完全更新同期の両方をサポートしています。
- 増分モードでは、Airbyte は最後の同期ジョブ以降にソースに追加されたレコードのみを読み取ります。増分モードを使用した最初の同期は、完全更新モードと同等です。
- 完全更新モードでは、Airbyte はすべての同期タスクでソースのすべてのレコードを読み取り、宛先に複製します。 Airbyte のNamespaceという名前のテーブルごとに同期モードを個別に設定できます。
[正規化と変換] を [正規化された表形式データ] に設定して、既定の正規化モードを使用するか、ジョブの dbt ファイルを設定できます。正規化の詳細については、 変換と正規化を参照してください。
[**接続のセットアップ] を**クリックします。
接続が確立されたら、[ ENABLED ] をクリックして同期タスクを有効にします。 [今すぐ同期] をクリックして、すぐに同期することもできます。
制限事項
- TiDB コネクタは、変更データ キャプチャ (CDC) 機能をサポートしていません。
- TiDB 宛先は、デフォルトの正規化モードで
timestampタイプをvarcharタイプに変換します。これは、Airbyte が送信中にタイムスタンプ タイプを文字列に変換し、TiDB がcast ('2020-07-28 14:50:15+1:00' as timestamp)をサポートしていないために発生します。 - 一部の大規模な ELT ミッションでは、TiDB でパラメーターを取引制限に増やす必要があります。


