開発者ガイドの概要

このガイドはアプリケーション開発者向けに書かれていますが、TiDB の内部動作に興味がある場合、または TiDB 開発に参加したい場合は、TiDB の詳細についてTiDB カーネル開発ガイドをお読みください。

このチュートリアルでは、TiDB を使用してアプリケーションを迅速に構築する方法、TiDB の使用例、および一般的な問題の処理方法を示します。

このページを読む前に、 TiDB データベース プラットフォームのクイック スタート ガイドを読むことをお勧めします。

TiDB の基本

TiDB を使い始める前に、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 とも互換性があります。

続きを読む