📣

TiDB Cloud Serverless が
Starter
に変わりました!このページは自動翻訳されたものです。
原文はこちらからご覧ください。

DriverまたはORMを選択

注記:

TiDB は、ドライバーと ORM に対して次の 2 つのサポート レベルを提供します。

  • 完全: TiDB がツールのほとんどの機能と互換性があり、最新バージョンとの互換性を維持していることを示します。PingCAP は、最新バージョンTiDB でサポートされているサードパーティ ツールとの互換性テストを定期的に実施します。
  • 互換:対応するサードパーティ製ツールがMySQLに適合しており、TiDBはMySQLプロトコルと高い互換性があるため、TiDBはツールのほとんどの機能を使用できることを示します。ただし、PingCAPはツールのすべての機能について完全なテストを完了していないため、予期しない動作が発生する可能性があります。

詳細についてはTiDB でサポートされているサードパーティ ツールを参照してください。

TiDBはMySQLプロトコルと高い互換性がありますが、一部の機能はMySQLと互換性がありません。互換性の違いに関する完全なリストについては、 MySQLの互換性参照してください。

Java

このセクションでは、 Javaでドライバーと ORM フレームワークを使用する方法について説明します。

Javaドライバー

    サポートレベル:フル

    Java JDBCドライバをダウンロードして設定するには、 MySQLドキュメント手順に従ってください。TiDB v6.3.0以降では、MySQL Connector/Jの最新GAバージョンを使用することをお勧めします。

    完全なアプリケーションを構築する方法の例については、 TiDBとJDBCを使用してシンプルなCRUDアプリを構築する参照してください。

    サポートレベル:フル

    TiDB-JDBC TiDB-JDBC 、MySQL 8.0.29をベースにカスタマイズされたJavaドライバです。MySQL公式バージョン8.0.29をベースにコンパイルされたTiDB-JDBCは、元のJDBCにおける準備モードにおける複数パラメータおよび複数フィールドのEOFのバグを修正し、TiCDCスナップショットの自動メンテナンスやSM3認証プラグインなどの機能を追加しています。

    SM3 に基づく認証は、TiDB の TiDB-JDBC でのみサポートされます。

    Maven を使用している場合は、 pom.xmlファイルの<dependencies></dependencies>セクションに次のコンテンツを追加します。

    <dependency> <groupId>io.github.lastincisor</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29-tidb-1.0.0</version> </dependency>

    SM3 認証を有効にする必要がある場合は、 pom.xmlファイルの<dependencies></dependencies>セクションに次のコンテンツを追加します。

    <dependency> <groupId>io.github.lastincisor</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29-tidb-1.0.0</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.67</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> <version>1.67</version> </dependency>

    Gradle を使用する場合は、次の内容をdependenciesに追加します。

    implementation group: 'io.github.lastincisor', name: 'mysql-connector-java', version: '8.0.29-tidb-1.0.0' implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.67' implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: '1.67'

    Java ORMフレームワーク

      注記:

      サポートレベル:フル

      アプリケーション内の異なる依存関係間の複雑な関係を手動で管理する手間を省くため、 グラドルまたはメイヴン使用することで、間接的な依存関係も含め、アプリケーションのすべての依存関係を取得できます。なお、TiDB 方言は Hibernate 6.0.0.Beta2以降でのみサポートされています。

      Maven を使用している場合は、 <dependencies></dependencies>に以下を追加します。

      <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>6.2.3.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency>

      Gradle を使用している場合は、 dependenciesに以下を追加します。

      implementation 'org.hibernate:hibernate-core:6.2.3.Final' implementation 'mysql:mysql-connector-java:8.0.33'

      さらに、 Hibernate設定ファイル : org.hibernate.dialect.TiDBDialectで TiDB 方言を指定する必要があります。これは Hibernate 6.0.0.Beta2以降でのみサポートされます。7 Hibernateバージョンが6.0.0.Beta2より前の場合は、まずアップグレードしてください。

      注記:

      Hibernateバージョンをアップグレードできない場合は、代わりにMySQL 5.7方言org.hibernate.dialect.MySQL57Dialect使用してください。ただし、この設定では予期しない結果が生じる可能性があり、 シーケンスなどの TiDB 固有の機能が一部利用できなくなる可能性があります。

      サポートレベル:フル

      アプリケーションのさまざまな依存関係間の複雑な関係を手動で管理することを避けるために、 グラドルまたはメイヴン使用して、間接的な依存関係も含め、アプリケーションのすべての依存関係を取得できます。

      Maven を使用している場合は、 <dependencies></dependencies>に以下を追加します。

      <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.13</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> </dependency>

      Gradle を使用している場合は、 dependenciesに以下を追加します。

      implementation 'org.mybatis:mybatis:3.5.13' implementation 'mysql:mysql-connector-java:8.0.33'

      MyBatis を使用して TiDB アプリケーションを構築する例については、 TiDBとMyBatisを使ったシンプルなCRUDアプリの構築参照してください。

      Javaクライアント負荷分散

      tidb-ロードバランス

      サポートレベル:フル

      tidb-loadbalance は、アプリケーション側の負荷分散コンポーネントtidb-ロードバランス 。tidb-loadbalance を使用すると、TiDBサーバーのノード情報を自動的に管理し、tidb-loadbalance ポリシーに基づいてクライアント側の JDBC 接続を分散できます。クライアントアプリケーションと TiDBサーバー間の直接 JDBC 接続を使用すると、負荷分散コンポーネントを使用するよりも高いパフォーマンスが得られます。

      現在、tidb-loadbalance はラウンドロビン、ランダム、重み付けのポリシーをサポートしています。

      注記:

      tidb-loadbalance はmysql-コネクタ-jで使用する必要があります。

      Maven を使用している場合は、 pom.xmlファイルの<dependencies></dependencies>要素本体に次のコンテンツを追加します。

      <dependency> <groupId>io.github.lastincisor</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29-tidb-1.0.0</version> </dependency> <dependency> <groupId>io.github.lastincisor</groupId> <artifactId>tidb-loadbalance</artifactId> <version>0.0.5</version> </dependency>

      Gradle を使用している場合は、次の内容をdependenciesに追加します。

      implementation group: 'io.github.lastincisor', name: 'mysql-connector-java', version: '8.0.29-tidb-1.0.0' implementation group: 'io.github.lastincisor', name: 'tidb-loadbalance', version: '0.0.5'

      Golang

      このセクションでは、 Golangでドライバーと ORM フレームワークを使用する方法について説明します。

      Golangドライバー

      go-sql-driver/mysql

      サポートレベル:フル

      Golangドライバーをダウンロードして設定するには、 go-sql-driver/mysql ドキュメントを参照してください。

      完全なアプリケーションを構築する方法の例については、 Go-MySQL-Driver で TiDB に接続する参照してください。

      Golang ORMフレームワーク

      ゴーム

      サポートレベル:フル

      GORMはGolangで人気のORMフレームワークです。アプリケーション内のすべての依存関係を取得するには、 go getコマンドを使用します。

      go get -u gorm.io/gorm go get -u gorm.io/driver/mysql

      GORM を使用して TiDB アプリケーションを構築する例については、 GORMでTiDBに接続する参照してください。

      パイソン

      このセクションでは、Python でドライバーと ORM フレームワークを使用する方法について説明します。

      Pythonドライバー

        サポートレベル:互換

        PyMySQLドキュメントに従ってドライバをダウンロードし、設定してください。PyMySQL 1.0.2以降のバージョンの使用をお勧めします。

        PyMySQL を使用して TiDB アプリケーションを構築する例については、 PyMySQLでTiDBに接続する参照してください。

        サポートレベル:互換

        mysqlclient ドキュメントに従ってドライバをダウンロードし、設定してください。mysqlclient 2.1.1以降のバージョンの使用をお勧めします。

        mysqlclient を使用して TiDB アプリケーションを構築する例については、 mysqlclientでTiDBに接続する参照してください。

        サポートレベル:互換

        MySQLコネクタ/Pythonドキュメントに従ってドライバをダウンロードし、設定してください。Connector/Python 8.0.31以降のバージョンを使用することをお勧めします。

        MySQL Connector/Python を使用して TiDB アプリケーションを構築する例については、 MySQL Connector/Python で TiDB に接続する参照してください。

        Python ORMフレームワーク

          サポートレベル:フル

          ジャンゴは人気のPythonウェブフレームワークです。TiDBとDjangoの互換性問題を解決するため、PingCAPはTiDB方言django-tidb提供しています。インストールするには、 django-tidbドキュメント参照してください。

          Django を使用して TiDB アプリケーションを構築する例については、 DjangoでTiDBに接続する参照してください。

          サポートレベル:フル

          SQLアルケミー Pythonで人気のORMフレームワークです。アプリケーション内のすべての依存関係を取得するには、 pip install SQLAlchemy==1.4.44コマンドを使用します。SQLAlchemy 1.4.44以降のバージョンの使用をお勧めします。

          SQLAlchemy を使用して TiDB アプリケーションを構築する例については、 SQLAlchemy で TiDB に接続する参照してください。

          サポートレベル:互換

          ピーウィーはPythonで人気のORMフレームワークです。アプリケーション内のすべての依存関係を取得するには、 pip install peewee==3.15.4コマンドを使用します。peewee 3.15.4以降のバージョンの使用をお勧めします。

          peewee を使用して TiDB アプリケーションを構築する例については、 peeweeでTiDBに接続する参照してください。

          ドライバーまたは ORM を決定したら、 TiDBクラスタに接続する実行できます。

          ヘルプが必要ですか?

          不和またはスラック 、あるいはサポートチケットを送信するについてコミュニティに質問してください。

          このページは役に立ちましたか?