開発者ガイドの概要
このガイドはアプリケーション開発者向けに書かれていますが、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 とも互換性があります。