メインコンテンツまでスキップ

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_passwordcaching_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.customersschema2.customersの両方を取り込むことはできません。

この問題を回避するには、 「複数の宛先のパイプラインを作成する」を参照してください。

MySQL 資格情報をローテーションするにはどうすればいいですか?

既存の接続の資格情報をローテーションするには:

  1. MySQLのパスワードを更新する
  2. Databricksでカタログエクスプローラーに移動します
  3. 接続先へ移動
  4. 「編集」 をクリックしてパスワードを更新します
  5. 変更を保存する

インジェスト ゲートウェイとパイプラインは、次回の実行時に新しい資格情報を自動的に使用します。

テーブル名と列名は大文字と小文字が区別されますか?

はい、MySQL コネクタでは、MySQL テーブル名とスキーマ名は大文字と小文字が区別されます。MySQL のスキーマとテーブル名では大文字と小文字が区別されますが、Unity Catalog のカタログ、スキーマ、およびテーブル名では大文字と小文字は区別されません。大文字と小文字の区別による競合がある場合 (たとえば、 mytableMyTable )、複数の宛先機能を使用して競合を解決します。

詳細については、MySQL ドキュメントの「識別子の大文字と小文字の区別」を参照してください。

MySQL コネクタはどの程度の規模でテストされましたか?

コネクタは、合計スナップショット データ量が 1 TB 未満の単一のパイプラインで 100 個のテーブルに対してテストされています。

取り込みゲートウェイのマシンタイプの推奨事項:

デフォルトのマシン タイプは次のとおりです。

  • AWS: r5n.xlarge
  • アズール: Standard_E4d_v4
  • GCP: n2-highmem-4

スナップショットのパフォーマンスを向上させるには、 r5n.2xlargeStandard_E8d_v4 、またはn2-highmem-8使用を検討してください。

パイプラインの制限:

  • Databricksはパイプラインごとに250個以下のテーブルを推奨しています
  • ハード制限: パイプラインあたり 1,000 フロー (実質的に最大 500 テーブルをサポート)

注: ハード制限では最大 500 個のテーブルがサポートされますが、最適なパフォーマンスを得るには、Databricks では 250 個以下にすることを推奨します。

インジェスチョン ゲートウェイはトリガー モード実行をサポートしていますか?

いいえ、インジェスト ゲートウェイ パイプラインはトリガー モードをサポートしていないため、ログのクリーンアップによる完全な更新が必要になるのを回避するには、継続的に実行する必要があります。

取り込みパイプライン (ゲートウェイではない) はスケジュールに従って実行したりトリガーしたりできますが、ゲートウェイは継続的に実行され続ける必要があります。

完全更新はいつ実行すればよいですか?

次のシナリオでは完全更新を実行します。

  • テーブル フローが取り込みパイプラインで失敗としてマークされた場合。
  • 互換性のないスキーマの変更によってテーブル フローが失敗するとき。
  • 取り込みゲートウェイが binlog ファイルを再生する前に、そのファイルがクリーンアップされるとき。
  • テーブルを手動で再同期する必要がある場合。

完全更新を実行するには、 「ターゲット テーブルを完全に更新する」を参照してください。

インジェスチョンゲートウェイが binlog ファイルを再生する前にクリーンアップされた場合は、どうすればよいですか?

取り込みゲートウェイが処理する前に binlog ファイルが消去される場合:

  1. 取り込みゲートウェイはこのイベントを検出し、影響を受けるすべてのテーブルをスキップします。
  2. スキップされた各テーブルには、問題を示す適切なDLTイベントログがあります。
  3. パイプライン内の影響を受けるすべてのテーブルに対して完全な更新をトリガーする必要があります。

これを防ぐには:

  • 適切なバイナリログの保持期間を設定する(7日間を推奨)
  • 取り込みゲートウェイが継続的に実行されることを確認する

コネクタはオンプレミスの MySQL デプロイメントをサポートしていますか?

はい、オンプレミスの MySQL デプロイメントは、以下を通じて Databricks ワークスペースに接続するとサポートされます。

  • Azure エクスプレスルート
  • AWS ダイレクトコネクト
  • VPN接続

次のことを確認してください。

  • データ転送に十分なネットワーク帯域幅が利用可能
  • ネットワーク接続は安定しており信頼性が高い
  • ファイアウォール ルールにより、 MySQLポートでのトラフィックが許可されます (安全 3306)
  • バイナリログの保持が適切に設定されている

詳細については、 Databricksサポート チームにお問い合わせください。