Está disponível uma nova versão do Tarantool 2.8 DBMS, que fornece armazenamento permanente de dados com informações recuperadas do banco de dados na memória. O SGBD combina a alta velocidade de processamento de consultas característica dos sistemas NoSQL (por exemplo, Memcached e Redis) com a confiabilidade dos SGBDs tradicionais (Oracle, MySQL e PostgreSQL). Tarantool é escrito em C e permite criar procedimentos armazenados em Lua. O código é distribuído sob a licença BSD.
O SGBD permite trabalhar de forma eficiente com grandes volumes de dados sob altas cargas. Entre as funcionalidades do Tarantool estão a possibilidade de criar manipuladores na linguagem Lua (LuaJIT está integrado), a utilização do formato MessagePack na troca de dados com o cliente, a presença de dois motores integrados (armazenamento em RAM com reset para uma unidade permanente e armazenamento em disco de dois níveis baseado em árvore LSM), suporte para chaves secundárias, quatro tipos de índices (HASH, TREE, RTREE, BITSET), ferramentas para replicação síncrona e assíncrona no modo mestre-mestre, suporte para autenticação de conexão e controle de acesso, capacidade de processar consultas SQL.
Principais mudanças:
- Estabilização de MVCC (Multi-Version Concurrency Control) no mecanismo in-memory memtx.
- Suporte a transações no protocolo binário IPROTO. Anteriormente, uma transação exigia a escrita de um procedimento armazenado em Lua.
- Suporte para replicação síncrona, que funciona em relação a tabelas individuais.
- Um mecanismo para alternar automaticamente para um nó de backup (failover) baseado no protocolo RAFT. A replicação assíncrona baseada em WAL foi implementada há muito tempo no Tarantool; agora você não precisa monitorar manualmente o nó mestre.
- A comutação automática de nó mestre também está disponível no caso de uma topologia com fragmentação de dados (é usada a biblioteca vshard, que distribui dados entre servidores usando buckets virtuais).
- Melhorar a estrutura para a construção de aplicativos de cluster Tarantool Cartridge ao trabalhar em ambientes virtuais. O cartucho Tarantool agora suporta melhor a carga.
- O trabalho da função Ansible para implantação de cluster foi acelerado em até 15 a 20 vezes. Isso facilita o trabalho com clusters grandes.
- Surgiu uma ferramenta para migração simplificada de versões anteriores >1.6 e <1.10, que está disponível usando uma opção adicional na inicialização. Anteriormente, a migração tinha que ser feita através da implantação da versão provisória 1.10.
- O armazenamento de pequenas tuplas foi otimizado.
- SQL agora oferece suporte a UUIDs e melhora a conversão de tipo.
Vale ressaltar que a partir da versão 2.10 haverá uma transição para uma nova política de geração de releases. Para versões significativas que quebram a compatibilidade com versões anteriores, o primeiro dígito da versão mudará, para versões intermediárias - o segundo, e para versões corretivas - o terceiro (após 2.10, a versão 3.0.0 será lançada).
Fonte: opennet.ru