開発者ガイドの概要
このガイドはアプリケーション開発者向けに書かれていますが、TiDB の内部動作に興味がある場合、または TiDB 開発に参加したい場合は、TiDB の詳細についてはTiDB カーネル開発ガイドをお読みください。
このチュートリアルでは、TiDB を使用してアプリケーションを迅速に構築する方法、TiDB の考えられる使用例、および一般的な問題の処理方法を示します。
このページを読む前に、 TiDB データベース プラットフォームのクイック スタート ガイドを読んでおくことをお勧めします。
TiDB の基本
TiDB の使用を開始する前に、TiDB がどのように機能するかに関するいくつかの重要なメカニズムを理解する必要があります。
- TiDB でトランザクションがどのように機能するかを理解するにはTiDBトランザクションの概要を読んでください。アプリケーション開発に必要なトランザクションの知識についてはアプリケーション開発者向けのトランザクションノートを確認してください。
- アプリケーションが TiDB と対話する方法を理解する。
- 分散データベース TiDB およびTiDB Cloudを構築するためのコア コンポーネントと概念を学習するには、無料のオンライン コースTiDB の概要を参照してください。
TiDB トランザクション メカニズム
TiDB は分散トランザクションをサポートし、 楽観的取引と悲観的取引の両方のモードを提供します。 TiDB の現在のバージョンは、デフォルトで悲観的トランザクションモードを使用します。これにより、従来のモノリシック データベース (MySQL など) と同じように TiDB でトランザクションを実行できます。
BEGIN
を使用してトランザクションを開始するか、 BEGIN PESSIMISTIC
使用して悲観的トランザクションを明示的に指定するか、 BEGIN OPTIMISTIC
使用して楽観的トランザクションを明示的に指定できます。その後、トランザクションをコミット ( COMMIT
) またはロールバック ( ROLLBACK
) することができます。
TiDB は、 BEGIN
の開始からCOMMIT
またはROLLBACK
の終了までのすべてのステートメントのアトミック性を保証します。つまり、この期間中に実行されるすべてのステートメントは、全体として成功するか失敗します。これは、アプリケーション開発に必要なデータの一貫性を確保するために使用されます。
楽観的トランザクションが何であるかわからない場合は、まだ使用しないでください。楽観的トランザクションでは、アプリケーションがCOMMIT
ステートメントによって返されるすべてのエラー正しく処理できる必要があるためです。アプリケーションがそれらをどのように処理するかわからない場合は、代わりに悲観的トランザクションを使用してください。
アプリケーションが TiDB と対話する方法
TiDB は MySQL プロトコルとの互換性が高く、 ほとんどの MySQL 構文と機能をサポートしているため、ほとんどの MySQL 接続ライブラリは TiDB と互換性があります。アプリケーション フレームワークまたは言語が PingCAP から正式に適応されていない場合は、MySQL のクライアント ライブラリを使用することをお勧めします。 TiDB のさまざまな機能を積極的にサポートするサードパーティ ライブラリが増えています。
TiDB は MySQL プロトコルおよび MySQL 構文と互換性があるため、MySQL をサポートするほとんどの ORM も TiDB と互換性があります。