开发者手册概览
本文是为应用程序开发者所编写的,如果你对 TiDB 的内部原理感兴趣,或希望参与到 TiDB 的开发中来,那么可前往阅读 TiDB Kernel Development Guide 来获取更多 TiDB 的相关信息。
本手册将展示如何使用 TiDB 来快速构建一个应用,并且阐述使用 TiDB 期间可能出现的场景以及可能会遇到的问题。因此,在阅读此页面之前,建议你先行阅读 TiDB 数据库快速上手指南。
此外,你还可以通过视频的形式学习免费的 TiDB SQL 开发在线课程。
TiDB 基础
在你开始使用 TiDB 之前,你需要了解一些关于 TiDB 数据库的一些重要工作机制:
- 阅读 TiDB 事务概览来了解 TiDB 的事务运作方式或查看为应用开发程序员准备的事务说明查看应用开发程序员需要了解的事务部分。
- 学习免费在线课程 TiDB 架构与特点,了解构建 TiDB 分布式数据库集群的核心组件及其概念。
- 了解应用程序与 TiDB 交互的方式。
TiDB 事务机制
TiDB 支持分布式事务,而且提供乐观事务与悲观事务两种事务模式。TiDB 当前版本中默认采用 悲观事务 模式,这让你在 TiDB 事务时可以像使用传统的单体数据库 (如: MySQL) 事务一样。
你可以使用 BEGIN 开启一个事务,或者使用 BEGIN PESSIMISTIC
显式的指定开启一个悲观事务,使用 BEGIN OPTIMISTIC
显式的指定开启一个乐观事务。随后,使用 COMMIT 提交事务,或使用 ROLLBACK 回滚事务。
TiDB 会为你保证 BEGIN
开始到 COMMIT
或 ROLLBACK
结束间的所有语句的原子性,即在这期间的所有语句全部成功,或者全部失败。用以保证你在应用开发时所需的数据一致性。
若你不清楚乐观事务是什么,请暂时不要使用它。因为使用乐观事务的前提是需要应用程序可以正确的处理 COMMIT
语句所返回的所有错误。如果不确定应用程序如何处理,请直接使用悲观事务。
应用程序与 TiDB 交互的方式
TiDB 高度兼容 MySQL 协议,TiDB 支持大多数 MySQL 的语法及特性,因此大部分的 MySQL 的连接库都与 TiDB 兼容。如果你的应用程序框架或语言无 PingCAP 的官方适配,那么建议你使用 MySQL 的客户端库。同时,也有越来越多的三方数据库主动支持 TiDB 的差异特性。
因为 TiDB 兼容 MySQL 协议,且兼容 MySQL 语法,因此大多数支持 MySQL 的 ORM 也兼容 TiDB。