Dispoñible versión de DBMS distribuído TiDB 4.0desenvolvido baixo a influencia das tecnoloxías de Google Padiola и F1. TiDB pertence á categoría de sistemas híbridos HTAP (Hybrid Transactional/Analytical Processing) capaces tanto de proporcionar transaccións en tempo real (OLTP) como de procesar consultas analíticas. O proxecto está escrito en Go e distribuído por licenciado baixo Apache 2.0.
Características de TiDB:
Soporte para SQL e a provisión dunha interface de cliente compatible co protocolo MySQL, o que facilita a adaptación das aplicacións existentes escritas para MySQL a TiDB e tamén permite utilizar bibliotecas cliente comúns. Ademais do protocolo MySQL, pode usar a API baseada en JSON e o conector para Spark para acceder ao DBMS.
Das características de SQL, son compatibles os índices, as funcións agregadas, as expresións GROUP BY, ORDER BY, DISTINCT, combinacións (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vistas, funcións de ventá e subconsultas. As oportunidades proporcionadas son suficientes para organizar o traballo con TiDB de aplicacións web como PhpMyAdmin, lentes e WordPress;
Ampliación e resistencia: a potencia de almacenamento e procesamento pódese ampliar simplemente engadindo novos nodos. Os datos distribúense entre nós con redundancia para permitir que as operacións continúen se fallan nodos individuais. Os fallos son tratados automaticamente.
O sistema garante a coherencia e parece un gran DBMS para o software do cliente, a pesar de que os datos de moitos nodos se usan realmente para completar a transacción.
Pódense usar diferentes backends para o almacenamento físico de datos en nodos, por exemplo, motores de almacenamento local GoLevelDB e BoltDB ou motores de almacenamento distribuído nativo. TiKV e TiFlash. TiKV almacena os datos en filas en formato clave/valor e é máis óptimo para tarefas de procesamento de transaccións (OLTP). TiFlash almacena os datos de forma baseada en columnas e permítelle acadar un maior rendemento ao resolver problemas analíticos (OLAP).
A capacidade de cambiar de forma asíncrona o esquema de almacenamento, o que lle permite engadir columnas e índices sobre a marcha sen deter o procesamento das operacións en curso.
Na nova versión:
Por defecto, o colector de lixo distribuído Green GC está activado, o que pode aumentar significativamente a velocidade da recollida de lixo en grandes clústeres e mellorar a estabilidade;
Engadiuse soporte para grandes transaccións, cuxo tamaño está limitado case polo tamaño da memoria física. O límite de tamaño de transacción única aumentou de 100 MB a 10 GB;
Engadido soporte para os comandos BACKUP e RESTORE para a copia de seguridade;
Engadida a posibilidade de establecer un bloqueo nas mesas;
Engadido mecanismo de illamento de transaccións compatible con MySQL a nivel de lectura (READ COMMITTED);
Engadiuse soporte para as expresións LIKE e WHERE ao comando "ADMIN SHOW DDL JOBS";
Engadiuse o parámetro oom-use-tmp-storage, que permite usar ficheiros temporais para almacenar en caché resultados intermedios en condicións de RAM insuficiente;
Engadiuse unha palabra clave aleatoria para asignar valores aleatorios aos atributos;
O comando CARGAR DATOS agora ten a capacidade de usar expresións hexadecimais e binarias;
Engadíronse 15 parámetros para controlar o comportamento do optimizador;
Ferramentas engadidas para diagnosticar o rendemento das consultas SQL. Engadiuse o rexistro de consultas lentas dispoñible a través das táboas do sistema SLOW_QUERY/CLUSTER_SLOW_QUERY;
Engadido soporte para funcións para traballar con secuencias;
Engadida a posibilidade de cambiar dinámicamente os parámetros de configuración lidos desde o PD (Controlador de colocación, servidor de xestión de clúster). Engadiuse a posibilidade de usar a instrución "SET CONFIG" para cambiar a configuración dos nodos PD/TiKV.
Engadida a configuración max-server-connections para limitar o número máximo de conexións simultáneas ao servidor (4096 por defecto);
Mellora do rendemento nas situacións nas que as columnas solicitadas están completamente cubertas por índices;
Engadida optimización de consulta baseada na fusión de índices;
Mellora do rendemento das operacións con intervalos de valores;
Reduciu a carga da CPU almacenando en caché os resultados do acceso aos índices e filtrando os duplicados;
Engadido soporte para un novo formato de almacenamento de cadeas que permite aumentar o rendemento das táboas cunha gran cantidade de columnas;
A función GROUP_CONCAT agora admite a expresión "ORDER BY";
Engadida a posibilidade de extraer datos do rexistro de TiFlash mediante SQL;
O comando "RECOVER TABLE" implementa soporte para recuperar táboas truncadas;
Engadiuse a táboa do sistema DDLJobs para consultar detalles sobre a execución do traballo DDL;
Engadida a posibilidade de usar o comando SHOW CONFIG para mostrar a configuración de PD e TiKV;