MySQLコネクタに関するFAQ
プレビュー
MySQL コネクタはパブリック プレビュー段階です。アクセスをリクエストするには、Databricks アカウント チームにお問い合わせください。
MySQL コネクタに関するよくある質問への回答を見つけます。
サポートされている MySQL バージョンとプラットフォームは何ですか?
MySQL コネクタは次のバージョンとプラットフォームをサポートしています。
- Amazon RDS for MySQL : バージョン 5.7.44 以降 (スタンドアロンおよび HA デプロイメントの両方)
- Amazon Aurora MySQL : バージョン 5.7.mysql_aurora.2.12.2 以降 (HA セットアップの場合、サポートはプライマリ インスタンスからのみ)
- Amazon Aurora MySQLサーバレス : サポートされています
- Azure Database for MySQL フレキシブル サーバー : バージョン 5.7.44 以降 (スタンドアロンと HA 展開の両方)
- Google クラウドSQL for MySQL : バージョン 5.7.44 以降
- EC2上のMySQL :バージョン5.7.44以降
どのような認証方法がサポートされていますか?
MySQL コネクタは、MySQL バージョンに基づいて次の認証プラグインをサポートします。
- MySQL 5.7.44 :
sha256_passwordのみがサポートされています。レプリケーション ユーザーは、この認証プラグインを使用して作成する必要があります。 - MySQL 8.0 以降 :
sha256_passwordとcaching_sha2_password両方がサポートされています。
コネクタは GTID ベースのレプリケーションをサポートしていますか?
いいえ、MySQL コネクタは GTID (グローバル トランザクション ID) ベースのレプリケーションをサポートしていません。コネクタは位置ベースの binlog レプリケーションを使用します。
MySQL サーバーで GTID が有効になっている場合でもコネクタを使用できますが、コネクタは binlog ファイルと位置ベースのレプリケーションを使用します。
XA トランザクションはサポートされていますか?
いいえ、MySQL コネクタは XA トランザクション (分散トランザクション) をサポートしていません。XA トランザクションが実行されると、テーブルはパイプラインからスキップされます。
空間データ型のテーブルを取り込むことはできますか?
いいえ、空間データ型 (GEOMETRY、POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION) はサポートされていません。
テーブルに空間列が含まれている場合は、テーブル全体を取り込みから除外する必要があります。空間型を持つテーブルは、検出された場合、または空間型を持つ新しい列が追加された場合、スキップされます。
同じ宛先テーブルを持つ複数のパイプラインを作成できますか?
いいえ、1 つの宛先テーブルを管理できるのは 1 つのマネージド インジェスチョン パイプラインのみです。重複する宛先テーブルを持つ 2 つの異なるマネージド インジェスト パイプラインを作成することはできません。
異なるスキーマから同じ名前のテーブルを取り込むことはできますか?
いいえ、異なるソース スキーマからのものである場合でも、同じパイプラインに同じ名前の 2 つのテーブルを取り込むことはできません。たとえば、1 つのパイプラインにschema1.customersとschema2.customersの両方を取り込むことはできません。
この問題を回避するには、 「複数の宛先のパイプラインを作成する」を参照してください。
MySQL 資格情報をローテーションするにはどうすればいいですか?
既存の接続の資格情報をローテーションするには:
- MySQLのパスワードを更新する
- Databricksでカタログエクスプローラーに移動します
- 接続先へ移動
- 「編集」 をクリックしてパスワードを更新します
- 変更を保存する
インジェスト ゲートウェイとパイプラインは、次回の実行時に新しい資格情報を自動的に使用します。
テーブル名と列名は大文字と小文字が区別されますか?
はい、MySQL コネクタでは、MySQL テーブル名とスキーマ名は大文字と小文字が区別されます。MySQL のスキーマとテーブル名では大文字と小文字が区別されますが、Unity Catalog のカタログ、スキーマ、およびテーブル名では大文字と小文字は区別されません。大文字と小文字の区別による競合がある場合 (たとえば、 mytableとMyTable )、複数の宛先機能を使用して競合を解決します。
詳細については、MySQL ドキュメントの「識別子の大文字と小文字の区別」を参照してください。
MySQL コネクタはどの程度の規模でテストされましたか?
コネクタは、合計スナップショット データ量が 1 TB 未満の単一のパイプラインで 100 個のテーブルに対してテストされています。
取り込みゲートウェイのマシンタイプの推奨事項:
デフォルトのマシン タイプは次のとおりです。
- AWS:
r5n.xlarge - アズール:
Standard_E4d_v4 - GCP:
n2-highmem-4
スナップショットのパフォーマンスを向上させるには、 r5n.2xlarge 、 Standard_E8d_v4 、またはn2-highmem-8使用を検討してください。
パイプラインの制限:
- Databricksはパイプラインごとに250個以下のテーブルを推奨しています
- ハード制限: パイプラインあたり 1,000 フロー (実質的に最大 500 テーブルをサポート)
注: ハード制限では最大 500 個のテーブルがサポートされますが、最適なパフォーマンスを得るには、Databricks では 250 個以下にすることを推奨します。
インジェスチョン ゲートウェイはトリガー モード実行をサポートしていますか?
いいえ、インジェスト ゲートウェイ パイプラインはトリガー モードをサポートしていないため、ログのクリーンアップによる完全な更新が必要になるのを回避するには、継続的に実行する必要があります。
取り込みパイプライン (ゲートウェイではない) はスケジュールに従って実行したりトリガーしたりできますが、ゲートウェイは継続的に実行され続ける必要があります。
完全更新はいつ実行すればよいですか?
次のシナリオでは完全更新を実行します。
- テーブル フローが取り込みパイプラインで失敗としてマークされた場合。
- 互換性のないスキーマの変更によってテーブル フローが失敗するとき。
- 取り込みゲートウェイが binlog ファイルを再生する前に、そのファイルがクリーンアップされるとき。
- テーブルを手動で再同期する必要がある場合。
完全更新を実行するには、 「ターゲット テーブルを完全に更新する」を参照してください。
インジェスチョンゲートウェイが binlog ファイルを再生する前にクリーンアップされた場合は、どうすればよいですか?
取り込みゲートウェイが処理する前に binlog ファイルが消去される場合:
- 取り込みゲートウェイはこのイベントを検出し、影響を受けるすべてのテーブルをスキップします。
- スキップされた各テーブルには、問題を示す適切なDLTイベントログがあります。
- パイプライン内の影響を受けるすべてのテーブルに対して完全な更新をトリガーする必要があります。
これを防ぐには:
- 適切なバイナリログの保持期間を設定する(7日間を推奨)
- 取り込みゲートウェイが継続的に実行されることを確認する
コネクタはオンプレミスの MySQL デプロイメントをサポートしていますか?
はい、オンプレミスの MySQL デプロイメントは、以下を通じて Databricks ワークスペースに接続するとサポートされます。
- Azure エクスプレスルート
- AWS ダイレクトコネクト
- VPN接続
次のことを確認してください。
- データ転送に十分なネットワーク帯域幅が利用可能
- ネットワーク接続は安定しており信頼性が高い
- ファイアウォール ルールにより、 MySQLポートでのトラフィックが許可されます (安全 3306)
- バイナリログの保持が適切に設定されている
詳細については、 Databricksサポート チームにお問い合わせください。