Sobre o projeto

TiDB é um banco de dados SQL distribuído nativo em nuvem da PingCAP, licenciado sob a Apache 2.0. Foi projetado para alta disponibilidade, escalonamento horizontal e vertical, consistência forte e alto desempenho, e é indicado para cargas de trabalho com crescimento imprevisível, incluindo casos de uso agêntes e relacionados à IA. Funcionalidades principais descritas no README: - Transações distribuídas: utiliza um protocolo de commit em duas fases para conformidade ACID e consistência forte em múltiplos nós, visando preservar a correção em partições de rede ou falhas de nó. - Escalonamento: pode escalar horizontalmente adicionando nós ou verticalmente aumentando os recursos de nós existentes, sem interrupções. Sua arquitetura separa computação de armazenamento, permitindo ajustes independentes. - Alta disponibilidade: consenso Raft integrado fornece failover automático; os dados são armazenados em múltiplas réplicas e as transações são confirmadas apenas após escrita em uma maioria de réplicas. A colocação de réplicas pode ser configurada para níveis diferentes de tolerância a desastres. - HTAP: combina o TiKV, motor de armazenamento baseado em linhas, com o TiFlash, motor de armazenamento em colunas. O TiFlash replica dados do TiKV em tempo real usando o protocolo Multi-Raft Learner, e o TiDB Server coordena a execução de consultas entre os dois motores. - Implantação nativa em nuvem: pode executar em nuvens públicas, no local ou no Kubernetes. O TiDB Operator automatiza operações de cluster no Kubernetes, e o TiDB Cloud oferece um serviço totalmente gerenciado com um plano gratuito. - Compatibilidade com MySQL: compatível com MySQL 8.0, permitindo o uso de protocolos, frameworks e ferramentas familiares, com ferramentas de migração disponíveis para mover dados de aplicativos para o TiDB. - Outras funcionalidades incluem migração de dados, changefeed, busca vetorial e recuperação de desastres. Opções de início rápido incluem um cluster de teste local, implantação no Kubernetes via TiDB Operator ou TiDB Cloud. Aplicações podem se conectar por meio de drivers MySQL ou ORMs. Suporte comunitário está disponível via Discord, Slack, Stack Overflow, fórum chinês e GitHub Issues/Discussions. O projeto aceita contribuições por meio de seu guia de contribuidor, guia de desenvolvimento, boas primeiras tarefas e mapa de contribuição.