Banco de dados SQL distribuído e cloud-native, baseado em um armazenamento key-value fortemente consistente e compatível com o protocolo wire do PostgreSQL.
pingcap/tidb
Banco de dados SQL distribuído e open source, compatível com MySQL 8.0, com transações ACID, análises HTAP e busca vetorial.
Alternativa open source a:Amazon Aurora
CockroachDB
- Estrelas
- 40,667
- Forks
- 6,275
- Issues abertas
- 7,338
- Último commit
- há 15 horas
O que é?
O TiDB é um banco de dados SQL distribuído e cloud native, projetado para alta disponibilidade, escalabilidade horizontal e vertical e consistência forte. Ele usa um protocolo de commit em duas fases para permitir que as transações abranjam vários nós sem abrir mão das garantias ACID. Os dados são replicados com o protocolo de consenso Raft, e as transações só são confirmadas depois que a maioria das réplicas os grava, o que permite failover automático quando algumas réplicas falham.
O TiDB separa computação e armazenamento. O TiKV é o mecanismo de armazenamento orientado a linhas, enquanto o TiFlash é um mecanismo colunar que replica dados do TiKV em tempo real. Assim, consultas analíticas e cargas de trabalho transacionais podem operar sobre os mesmos dados. O TiDB é compatível com os protocolos e as ferramentas do MySQL 8.0 e pode ser implantado em nuvens públicas, no local ou no Kubernetes com o TiDB Operator. Também está disponível como serviço totalmente gerenciado no TiDB Cloud.
O projeto é escrito em Go e distribuído sob a licença Apache 2.0. Também oferece suporte a busca vetorial e changefeeds para sincronização de dados, além de ferramentas de migração para transferir dados de aplicações existentes para o TiDB.
Recursos principais
- 01Transações distribuídas com garantias ACID usando commit em duas fases
- 02Escalabilidade horizontal e vertical com computação e armazenamento separados
- 03Replicação baseada em Raft com failover automático entre réplicas
- 04HTAP com o armazenamento orientado a linhas do TiKV e o armazenamento colunar do TiFlash
- 05Compatibilidade com o protocolo e as ferramentas do MySQL 8.0
- 06Busca vetorial e changefeeds para sincronização de dados
Casos de uso
- Substituir uma implantação MySQL de nó único que já ultrapassou a capacidade de um servidor
- Executar consultas transacionais e analíticas sobre o mesmo conjunto de dados ativo
- Criar aplicações de IA que precisam de armazenamento SQL e busca vetorial
- Implantar um banco de dados com escalabilidade horizontal no Kubernetes
Início rápido
- 1
Inicie um cluster de testes local usando o guia de início rápido do TiDB
- 2
Explore a documentação de SQL do TiDB
- 3
Use um driver MySQL ou um ORM para criar um app com o TiDB
Antes de usar
- O caminho principal indicado no README é um serviço de nuvem gerenciado ou uma implantação no Kubernetes; por isso, hospedar um cluster por conta própria exige bastante trabalho de configuração.
- O TiDB é um banco de dados distribuído com muitos componentes, então é mais pesado de executar do que um banco de dados de nó único.
Tópicos
Perguntas frequentes
- O que é tidb?
- Banco de dados SQL distribuído e open source, compatível com MySQL 8.0, com transações ACID, análises HTAP e busca vetorial. O TiDB é um banco de dados SQL distribuído e cloud native, projetado para alta disponibilidade, escalabilidade horizontal e vertical e consistência forte. Ele usa um protocolo de commit em duas fases para permitir que as transações abranjam vários nós sem abrir mão das garantias ACID. Os dados são replicados com o protocolo de consenso Raft, e as transações só são confirmadas depois que a maioria das réplicas os grava, o que permite failover automático quando algumas réplicas falham.
- tidb é gratuito? Qual é a licença?
- tidb é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- tidb ainda é mantido?
- Manutenção ativa. O último commit de tidb foi em 21 de out. de 2026.
- Para que posso usar tidb?
- Substituir uma implantação MySQL de nó único que já ultrapassou a capacidade de um servidor Executar consultas transacionais e analíticas sobre o mesmo conjunto de dados ativo Criar aplicações de IA que precisam de armazenamento SQL e busca vetorial Implantar um banco de dados com escalabilidade horizontal no Kubernetes
- Como instalar tidb?
- Inicie um cluster de testes local usando o guia de início rápido do TiDB Explore a documentação de SQL do TiDB Use um driver MySQL ou um ORM para criar um app com o TiDB
- Onde consigo tidb?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pingcap/tidb
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Banco de dados relacional distribuído, leve e tolerante a falhas, baseado em SQLite e replicado entre nós por consenso Raft.
Banco de dados open source de analytics e busca em tempo real com MPP, que oferece consultas SQL rápidas, aceleração de consultas em lakehouses e busca híbrida por texto e vetores.
Milvus é um banco de dados vetorial distribuído e open source para armazenar e pesquisar embeddings em grande escala, usado em buscas com IA e aplicações de RAG.
ORM completo para Go que mapeia structs para tabelas de banco de dados e oferece suporte a associações, hooks, transações e migrações.
Um compilador SQL que lê suas consultas e gera código type-safe em Go, Kotlin, Python e TypeScript.