← Ко всем open source проектам

TiDB

pingcap/tidb

TiDB — распределенная SQL-база данных с транзакциями, масштабированием и совместимостью с MySQL.

Форки 6,202
Автор pingcap
Язык Go
Лицензия Apache-2.0
Обновлено 2026-06-27

Что это такое

TiDB — открытая распределенная SQL-база данных от PingCAP. Название читается как “тай-ди-би”, а Ti расшифровывается как Titanium.

Проект ориентирован на системы, где обычной одиночной базы становится мало: растут данные, появляются требования к высокой доступности, нужны транзакции между узлами и возможность масштабировать нагрузку без остановки сервиса.

TiDB сохраняет SQL-модель и совместимость с MySQL на уровне практического использования, но под капотом строит распределенную архитектуру с отдельными слоями вычислений и хранения.

Что внутри

Важная часть TiDB — распределенные транзакции с двухфазным подтверждением. Это позволяет сохранять ACID-гарантии даже когда данные лежат на нескольких узлах.

Проект поддерживает горизонтальное и вертикальное масштабирование. Команда может добавлять узлы или увеличивать ресурсы существующих узлов, а архитектура с разделением вычислений и хранения дает больше гибкости.

В экосистеме TiDB также есть аналитические сценарии, векторный поиск и облачные варианты. Поэтому проект интересен не только как замена одной базы, но и как платформа для растущих данных.

Как используют

TiDB выбирают для продуктов, где SQL нужен, но нагрузка и объем данных уже требуют распределенной модели. Это могут быть финансовые системы, торговые платформы, аналитические сервисы или большие пользовательские приложения.

Миграция обычно начинается с проверки совместимости запросов и поведения транзакций. Даже если синтаксис близок к MySQL, реальные индексы, планы запросов и задержки нужно измерять на своих данных.

Ограничение в том, что распределенная база сложнее одиночной. Нужно понимать топологию, задержки между узлами, резервное копирование, наблюдение и обновления.

Минимальная проверка SQL

Пример показывает идею первичной проверки: подключиться совместимым клиентом, создать таблицу и выполнить обычный SQL-запрос.

Сильные стороны и ограничения

Сильная сторона TiDB — сочетание SQL, транзакций и масштабирования. Для команд, которые не хотят уходить в полностью другую модель данных, это серьезный аргумент.

Главный риск — преждевременное усложнение. Если проект спокойно живет на одной базе и не упирается в доступность или масштаб, распределенная архитектура добавит больше операционной работы, чем пользы.

TiDB подойдет большим сервисам, системам с ростом данных и командам, которым нужна совместимость с SQL-мышлением. Для маленького приложения лучше сначала исчерпать возможности обычной базы и правильных индексов.

Пример

Проверка совместимого SQL

Пример оставлен как простой сценарий: подключение через MySQL-клиент и обычные SQL-команды для первой проверки.

Язык: 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;