Lanzamiento del DBMS distribuido TiDB 4.0

Disponible lanzamiento de un DBMS distribuido TiDB 4.0, desarrollado bajo la influencia de las tecnologías de Google. Llave и F1. TiDB pertenece a la categoría de sistemas híbridos HTAP (Hybrid Transactional/Analytical Processing), capaces tanto de proporcionar transacciones en tiempo real (OLTP) como de procesar consultas analíticas. El proyecto está escrito en Go y distribuido por licenciado bajo Apache 2.0.

Características de TiDB:

  • Soporte SQL y provisión de una interfaz de cliente compatible con el protocolo MySQL, que simplifica la adaptación de aplicaciones existentes escritas para MySQL a TiDB y también permite el uso de bibliotecas de cliente comunes. Además del protocolo MySQL, puede utilizar una API basada en JSON y un conector para Spark para acceder al DBMS.
  • Las características de SQL admiten índices, funciones agregadas, GROUP BY, ORDER BY, expresiones DISTINCT, fusiones (UNIÓN IZQUIERDA / UNIÓN DERECHA / UNIÓN CRUZADA), vistas, funciones de ventana y subconsultas. Las capacidades proporcionadas son suficientes para organizar el trabajo con TiDB para aplicaciones web como PhpMyAdmin, Gogs y WordPress;
  • Escalabilidad horizontal y tolerancia a fallas: el tamaño del almacenamiento y la potencia de procesamiento se pueden aumentar simplemente conectando nuevos nodos. Los datos se distribuyen entre nodos con redundancia, lo que permite que la operación continúe si fallan los nodos individuales. Las fallas se manejan automáticamente.
  • El sistema garantiza coherencia y para el software del cliente parece un DBMS grande, a pesar de que, en realidad, se atraen datos de muchos nodos para completar la transacción.
  • Para almacenar físicamente datos en nodos, se pueden utilizar diferentes backends, por ejemplo, motores de almacenamiento locales GoLevelDB y BoltDB o nuestros propios motores de almacenamiento distribuido. TiKV y TiFlash. TiKV almacena datos en cadenas en formato clave/valor y es más óptimo para tareas de procesamiento de transacciones (OLTP). TiFlash almacena datos en forma de columnas y le permite lograr un mayor rendimiento al resolver problemas analíticos (OLAP).
  • La capacidad de cambiar de forma asincrónica el esquema de almacenamiento, lo que le permite agregar columnas e índices sobre la marcha sin detener el procesamiento de las operaciones en curso.

En el nuevo lanzamiento:

  • De forma predeterminada, el recolector de basura distribuido Green GC está habilitado, lo que puede aumentar significativamente la velocidad de recolección de basura en grupos grandes y mejorar la estabilidad;
  • Se agregó soporte para transacciones grandes, cuyo tamaño está limitado casi por el tamaño de la memoria física. El límite de tamaño para una sola transacción se aumentó de 100 MB a 10 GB;
  • Se agregó soporte para los comandos BACKUP y RESTORE para realizar copias de seguridad;
  • Se agregó la capacidad de establecer candados en las mesas;
  • Se agregó un mecanismo de aislamiento de transacciones a nivel de lectura compatible con MySQL (LECTURA COMPROMETIDA);
  • Se agregó soporte para expresiones LIKE y WHERE al comando “ADMIN SHOW DDL JOBS”;
  • Se agregó el parámetro oom-use-tmp-storage, que le permite usar archivos temporales para almacenar en caché los resultados intermedios cuando no hay suficiente RAM;
  • Se agregó la palabra clave Random para asignar valores aleatorios a los atributos;
  • El comando LOAD DATA ahora tiene la capacidad de utilizar expresiones hexadecimales y binarias;
  • Se agregaron 15 parámetros para controlar el comportamiento del optimizador;
  • Se agregaron herramientas para diagnosticar el rendimiento de consultas SQL. Se agregó un registro de consultas lentas, accesible a través de las tablas del sistema SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Se agregó soporte para funciones para trabajar con secuencias;
  • Se agregó la capacidad de cambiar dinámicamente los parámetros de configuración leídos desde PD (controlador de ubicación, servidor de administración de clústeres). Se agregó la capacidad de usar la expresión “SET CONFIG” para cambiar la configuración de los nodos PD/TiKV.
  • Se agregó la configuración max-server-connections para limitar el número máximo de conexiones simultáneas al servidor (predeterminado 4096);
  • Rendimiento mejorado en situaciones en las que las columnas solicitadas están completamente cubiertas por índices;
  • Se agregó optimización de consultas basada en la combinación de índices;
  • Mejor desempeño de operaciones con rangos de valores;
  • Carga de CPU reducida al almacenar en caché los resultados del acceso a índices y filtrar duplicados;
  • Se agregó soporte para un nuevo formato de almacenamiento de filas que le permite aumentar el rendimiento de tablas con una gran cantidad de columnas;
  • La función GROUP_CONCAT ahora admite la expresión "ORDER BY";
  • Se agregó la capacidad de extraer datos del registro TiFlash a través de SQL;
  • El comando RECOVER TABLE ahora admite la restauración de tablas truncadas;
  • Se agregó la tabla del sistema DDLJobs para consultar detalles sobre la ejecución del trabajo DDL;
  • Se agregó la capacidad de usar el comando SHOW CONFIG para mostrar las configuraciones de PD y TiKV;
  • Encendido caché del coprocesador de forma predeterminada;
  • El número de corrutinas en la fase de reintento de una confirmación ahora se puede controlar mediante la configuración de concurrencia del confirmador;
  • Se agregó la capacidad de mostrar regiones de partición de tabla;
  • Se ha agregado la capacidad de limitar el tamaño del almacenamiento temporal al servidor tidb;
  • Se agregó soporte para las operaciones “insertar en la partición tbl_name (lista_nombre_partición)” y “reemplazar en la partición tbl_name (lista_nombre_partición)”;
  • En el hash utilizado para la partición, se agregó soporte para filtrado basado en el atributo "es nulo";
  • Para tablas particionadas, se agregó soporte para operaciones de verificación, limpieza y reparación de índice.

Fuente: opennet.ru

Añadir un comentario