TiDB - TiDB
Desarrollador (es) | PingCAP Inc. |
---|---|
Versión inicial | 15 de octubre de 2017 |
Lanzamiento estable | |
Repositorio | |
Escrito en | Ir (TiDB), óxido (TiKV) |
Disponible en | Inglés, chino |
Tipo | NewSQL |
Licencia | Apache 2.0 |
Sitio web |
pingcap |
TiDB (/ 'taɪdiːbi: /, "Ti" significa Titanium) es una base de datos NewSQL de código abierto que admite cargas de trabajo de procesamiento analítico y transaccional híbrido ( HTAP ). Es compatible con MySQL y puede proporcionar escalabilidad horizontal, gran consistencia y alta disponibilidad. Está desarrollado y respaldado principalmente por PingCAP , Inc. y tiene licencia de Apache 2.0. TiDB se inspiró en el diseño inicial de los documentos Spanner y F1 de Google.
TiDB fue reconocido por InfoWorld 2018 Bossie Award como uno de los mejores software de código abierto para almacenamiento y análisis de datos.
Historia
Historia de la Compañía
PingCAP Inc., una empresa de software fundada en abril de 2015, comenzó a desarrollar TiDB después de su fundación. La empresa es el desarrollador, mantenedor y controlador principal de TiDB y sus comunidades de código abierto asociadas. PingCAP es una empresa respaldada por empresas de riesgo; anunció su financiación de la ronda Serie C de 50 millones de dólares en septiembre de 2018.
Historial de versiones
Consulte todas las notas de la versión de TiDB .
- El 7 de abril de 2021 se lanzó TiDB 5.0 GA .
- El 28 de mayo de 2020, se lanzó TiDB 4.0 GA . Sus características clave incluyen: TiFlash , TiDB Dashboard (experimental), TiUP , transacciones pesimistas , reglas de colocación en cascada (experimental), programación elástica (experimental), transacciones grandes, nuevas características SQL , `utf8mb4_general_ci` y` utf8mb4_general_ci` y` colaciones utf8_general_ci`, comunicación cifrada mejorada, cifrado transparente de datos (TDE), copia de seguridad y restauración , caché del coprocesador (experimental), lectura del seguidor y TiCDC (experimental).
- El 28 de junio de 2019, se lanzó TiDB 3.0 GA .
- El 27 de abril de 2018, se lanzó TiDB 2.0 GA .
- El 16 de octubre de 2017, se lanzó TiDB 1.0 GA .
Principales características
Escalabilidad horizontal
TiDB puede ampliar tanto el procesamiento de SQL como la capacidad de almacenamiento agregando nuevos nodos. Esto hace que el escalado de la capacidad de la infraestructura sea más fácil y flexible en comparación con las bases de datos relacionales tradicionales que solo escalan verticalmente.
Compatibilidad con MySQL
TiDB actúa como si fuera un servidor MySQL 5.7 para aplicaciones. Un usuario puede seguir utilizando todas las bibliotecas cliente de MySQL existentes. Debido a que la capa de procesamiento SQL de TiDB está construida desde cero, no una bifurcación de MySQL, su compatibilidad no es del 100% y existen diferencias de comportamiento conocidas entre MySQL y TiDB.
Transacciones distribuidas con fuerte consistencia
TiDB fragmenta internamente una tabla en pequeños fragmentos basados en rangos que se denominan "Regiones". Cada región tiene un tamaño predeterminado de aproximadamente 100 MB, y TiDB utiliza internamente un compromiso de dos fases para garantizar que las regiones se mantengan de una manera transaccionalmente coherente.
Nativo de la nube
TiDB está diseñado para funcionar en la nube para hacer que la implementación, el aprovisionamiento, las operaciones y el mantenimiento sean flexibles. La capa de almacenamiento de TiDB, llamada TiKV, se convirtió en un proyecto miembro de Cloud Native Computing Foundation (CNCF) en agosto de 2018, como un proyecto de nivel Sandbox, y se convirtió en un proyecto alojado a nivel de incubación en mayo de 2019. TiKV se graduó de CNCF en septiembre de 2020. La arquitectura de la plataforma TiDB también permite escalar el procesamiento y el almacenamiento de SQL de forma independiente.
HTAP en tiempo real
TiDB puede admitir cargas de trabajo de procesamiento de transacciones en línea ( OLTP ) y procesamiento analítico en línea ( OLAP ). TiDB tiene dos motores de almacenamiento: TiKV, un almacén de filas y TiFlash, un almacén de columnas. Los datos se pueden replicar de TiKV a TiFlash en tiempo real para garantizar que TiFlash procese los datos más recientes.
Alta disponibilidad
TiDB utiliza el algoritmo de consenso de Raft para garantizar que los datos estén altamente disponibles y se replican de forma segura en todo el almacenamiento en los grupos de Raft. En caso de falla, un grupo de balsa elegirá automáticamente un nuevo líder para el miembro fallado y auto-reparará el clúster de TiDB sin ninguna intervención manual requerida. Las operaciones de falla y autocuración son transparentes para las aplicaciones.
Métodos de implementación
Kubernetes con operador
TiDB se puede implementar en un entorno de nube habilitado para Kubernetes utilizando TiDB Operator. Un operador es un método para empaquetar, implementar y administrar una aplicación de Kubernetes. Está diseñado para ejecutar cargas de trabajo con estado y fue introducido por primera vez por CoreOS en 2016. TiDB operador fue desarrollado originalmente por PingCAP y abierto de fuentes en agosto de 2018. TiDB de mando sirve para desplegar TiDB en un ordenador portátil, Google Cloud Platform Google 's Kubernetes Engine y Elastic Container Service de Amazon Web Services para Kubernetes.
TiUP
TiDB 4.0 presenta TiUP , una herramienta de operación y mantenimiento de clústeres. Ayuda a los usuarios a instalar y configurar rápidamente un clúster de TiDB con unos pocos comandos.
TiDB Ansible
TiDB se puede implementar con Ansible mediante el uso de un libro de jugadas de TiDB Ansible (no recomendado).
Estibador
Docker se puede usar para implementar TiDB en un entorno en contenedores en múltiples nodos y múltiples máquinas, y Docker Compose se puede usar para implementar TiDB con un solo comando con fines de prueba.
Herramientas
TiDB tiene una serie de herramientas de código abierto creadas a su alrededor para ayudar con la replicación y migración de datos para los usuarios existentes de MySQL y MariaDB .
Migración de datos TiDB (DM)
La migración de datos TiDB (DM) es adecuada para replicar datos de tablas MySQL o MariaDB ya fragmentadas en TiDB. Un caso de uso común de DM es conectar tablas MySQL o MariaDB a TiDB, tratar a TiDB casi como un esclavo y luego ejecutar directamente cargas de trabajo analíticas en este clúster de TiDB casi en tiempo real.
Copia de seguridad de restauracion
Backup & Restore (BR) es una herramienta distribuida de copia de seguridad y restauración para datos de clúster TiDB. Ofrece altas velocidades de copia de seguridad y restauración para clústeres TiDB a gran escala.
Bola de masa hervida
Dumpling es una herramienta de exportación de datos que exporta datos almacenados en TiDB o MySQL. Permite a los usuarios realizar copias de seguridad lógicas completas o volcados completos desde TiDB o MySQL.
Rayo TiDB
TiDB Lightning es una herramienta que admite la importación completa de alta velocidad de un gran volcado de MySQL en un nuevo clúster de TiDB, lo que proporciona una experiencia de importación más rápida que la ejecución de cada declaración SQL. Esta herramienta se utiliza para completar rápidamente un clúster de TiDB inicialmente vacío con muchos datos, con el fin de acelerar las pruebas o la migración de producción. La mejora de la velocidad de importación se logra al analizar las declaraciones SQL en pares clave-valor, luego generar directamente archivos de tabla de cadenas ordenadas (SST) en RocksDB .
Binlog TiDB
TiDB Binlog es una herramienta que se utiliza para recopilar los cambios lógicos realizados en un clúster de TiDB. Se utiliza para proporcionar copia de seguridad y replicación incrementales, ya sea entre dos clústeres de TiDB o desde un clúster de TiDB a otra plataforma descendente.
Es similar en funcionalidad a la replicación primaria-secundaria de MySQL. La principal diferencia es que, dado que TiDB es una base de datos distribuida, el binlog generado por cada instancia de TiDB debe fusionarse y clasificarse de acuerdo con el momento de la confirmación de la transacción antes de consumirse en sentido descendente.
Estudios de caso
Actualmente, TiDB es utilizado por casi 1,000 empresas, incluidas PayPay , Shopee , BookMyShow , Xiaomi , Zhihu , Meituan-Dianping , iQiyi , Zhuan Zhuan , Mobike , Yiguo.com , VNG , JD Cloud and AI , NetEase Games y Yuanfudao.com .