← All open source projects

TiDB

pingcap/tidb

TiDB is a distributed SQL database with transactions, scaling, and MySQL compatibility.

Forks 6,202
Author pingcap
Language Go
License Apache-2.0
Synced 2026-06-27

What It Is

TiDB is an open source distributed SQL database from PingCAP. The name is pronounced “tai-dee-bee,” and Ti stands for Titanium.

The project targets systems where a single database is no longer enough: data grows, high availability matters, transactions span nodes, and teams need to scale without stopping the service.

TiDB keeps the SQL model and practical MySQL compatibility while using a distributed architecture underneath, with separate compute and storage layers.

What Is Inside

A key part of TiDB is distributed transactions with two-phase commit. This helps preserve ACID guarantees even when data lives across several nodes.

The project supports horizontal and vertical scaling. Teams can add nodes or increase resources, while the compute/storage split gives more flexibility.

The TiDB ecosystem also covers analytical scenarios, vector search, and cloud variants. That makes the project more than a drop-in database replacement; it is a platform for growing data.

How People Use It

Teams choose TiDB when they need SQL but their workload and data volume require a distributed model. Examples include financial systems, commerce platforms, analytics services, and large user applications.

A migration usually starts by checking query compatibility and transaction behavior. Even when syntax is close to MySQL, indexes, plans, and latency must be measured on real data.

The limitation is that a distributed database is harder to operate than a single-node database. Topology, node latency, backups, observability, and upgrades all matter.

Minimal SQL Check

The example shows the first verification path: connect with a MySQL-compatible client, create a table, and run normal SQL.

Strengths And Limits

TiDB’s strength is the combination of SQL, transactions, and scale. For teams that do not want a completely different data model, that is a serious advantage.

The main risk is premature complexity. If a product runs comfortably on one database and does not need distributed availability or scale, TiDB adds operational work before it adds value.

TiDB fits large services, growing data systems, and teams that want to keep SQL thinking. For a small application, ordinary database tuning and proper indexes should usually come first.

Example

Compatible SQL Check

The example is a simple first test: connect through a MySQL client and run ordinary SQL commands.

Language: Plain text
mysql --host 127.0.0.1 --port 4000 --user root

CREATE DATABASE catalog;
USE catalog;
CREATE TABLE projects (id BIGINT PRIMARY KEY, name VARCHAR(255));
SELECT * FROM projects;