Lanzamiento del DBMS Tarantool 2.8

Está disponible una nueva versión del DBMS Tarantool 2.8, que proporciona almacenamiento de datos permanente con información recuperada de la base de datos en memoria. El DBMS combina la alta velocidad de procesamiento de consultas característica de los sistemas NoSQL (por ejemplo, Memcached y Redis) con la confiabilidad de los DBMS tradicionales (Oracle, MySQL y PostgreSQL). Tarantool está escrito en C y le permite crear procedimientos almacenados en Lua. El código se distribuye bajo la licencia BSD.

El DBMS le permite trabajar de manera eficiente con grandes volúmenes de datos bajo cargas elevadas. Entre las características de Tarantool se encuentran la capacidad de crear controladores en lenguaje Lua (LuaJIT está integrado), el uso del formato MessagePack al intercambiar datos con el cliente, la presencia de dos motores integrados (almacenamiento en RAM con reinicio a una unidad permanente y almacenamiento en disco de dos niveles basado en LSM-tree), soporte para claves secundarias, cuatro tipos de índices (HASH, TREE, RTREE, BITSET), herramientas para replicación sincrónica y asincrónica en modo maestro-maestro, soporte para autenticación de conexión y control de acceso, capacidad de procesar consultas SQL.

Principales cambios:

  • Estabilización de MVCC (Control de concurrencia multiversión) en el motor en memoria memtx.
  • Soporte de transacciones en el protocolo binario IPROTO. Anteriormente, una transacción requería escribir un procedimiento almacenado en Lua.
  • Soporte para replicación sincrónica, que funciona en relación con tablas individuales.
  • Un mecanismo para cambiar automáticamente a un nodo de respaldo (conmutación por error) basado en el protocolo RAFT. La replicación asincrónica basada en WAL se ha implementado desde hace mucho tiempo en Tarantool; ahora no es necesario monitorear manualmente el nodo maestro.
  • El cambio automático de nodo maestro también está disponible en el caso de una topología con fragmentación de datos (se utiliza la biblioteca vshard, que distribuye datos entre servidores mediante depósitos virtuales).
  • Mejora del marco para crear aplicaciones de clúster Tarantool Cartucho cuando se trabaja en entornos virtuales. El cartucho Tarantool ahora sostiene mejor la carga.
  • El trabajo del rol de Ansible para la implementación de clústeres se ha acelerado entre 15 y 20 veces. Esto facilita el trabajo con grupos grandes.
  • Ha aparecido una herramienta para la migración simplificada desde versiones anteriores >1.6 y <1.10, que está disponible mediante una opción adicional al inicio. Anteriormente, la migración debía realizarse mediante la implementación de la versión provisional 1.10.
  • Se ha optimizado el almacenamiento de pequeñas tuplas.
  • SQL ahora admite UUID y mejora la conversión de tipos.

Vale la pena señalar que a partir de la versión 2.10 habrá una transición a una nueva política de generación de lanzamientos. Para versiones importantes que violan la compatibilidad con versiones anteriores, el primer dígito de la versión cambiará, para versiones intermedias, el segundo, y para versiones correctivas, el tercero (después de 2.10, se lanzará la versión 3.0.0).

Fuente: opennet.ru

Añadir un comentario