Sobre el proyecto
TiDB es una base de datos SQL distribuida de código abierto, nativa en la nube, desarrollada por PingCAP, liberada bajo la licencia Apache 2.0. Está diseñada para alta disponibilidad, escalabilidad horizontal y vertical, consistencia fuerte y alto rendimiento, y está orientada a cargas de trabajo que crecen de manera impredecible, incluidos casos de uso agente y relacionados con la inteligencia artificial.
Funcionalidades clave descritas en el README:
- Transacciones distribuidas: utiliza un protocolo de commit en dos fases para cumplir con ACID y consistencia fuerte entre múltiples nodos, con el objetivo de preservar la corrección en caso de particiones de red o fallos de nodos.
- Escalabilidad: puede escalar horizontalmente agregando nodos o verticalmente aumentando los recursos de nodos existentes, sin interrupciones. Su arquitectura separa el cálculo del almacenamiento, por lo que ambos pueden ajustarse de forma independiente.
- Alta disponibilidad: el consenso Raft integrado proporciona conmutación por error automática; los datos se almacenan en múltiples réplicas y las transacciones se comprometen solo después de escribirse en una mayoría de réplicas. La colocación de réplicas se puede configurar para diferentes niveles de tolerancia a desastres.
- HTAP: combina TiKV, un motor de almacenamiento basado en filas, con TiFlash, un motor de almacenamiento columnar. TiFlash replica los datos de TiKV en tiempo real mediante el protocolo Multi-Raft Learner, y el servidor TiDB coordina la ejecución de consultas entre ambos motores.
- Despliegue nativo en la nube: puede ejecutarse en nubes públicas, en lugar de instalación o en Kubernetes. TiDB Operator automatiza las operaciones del clúster en Kubernetes, y TiDB Cloud ofrece un servicio totalmente gestionado con un plan gratuito.
- Compatibilidad con MySQL: compatible con MySQL 8.0, lo que permite el uso de protocolos, frameworks y herramientas familiares, con herramientas de migración disponibles para mover los datos de la aplicación a TiDB.
- Otras funciones mencionadas incluyen migración de datos, changefeed, búsqueda de vectores y recuperación ante desastres.
Opciones para comenzar rápidamente incluyen un clúster de prueba local, despliegue en Kubernetes mediante TiDB Operator o TiDB Cloud. Las aplicaciones pueden conectarse mediante controladores de MySQL u ORMs. El soporte de la comunidad está disponible a través de Discord, Slack, Stack Overflow, un foro chino y GitHub Issues/Discussions. El proyecto acepta contribuciones a través de su guía para contribuyentes, guía de desarrollo, buenas primeras tareas y mapa de contribuciones.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.