Está disponível uma nova versão do SGBD Tarantool 2.8, que garante o armazenamento permanente de dados com recuperação de informações da memória (banco de dados em memória). O SGBD combina a alta velocidade de processamento de consultas típica de sistemas NoSQL (como Memcached e Redis) com a confiabilidade dos SGBDs tradicionais (Oracle, MySQL e PostgreSQL). Tarantool é escrito em C e permite a criação de procedimentos armazenados em Lua. O código é distribuído sob a licença BSD.
O SGBD permite trabalhar de forma eficaz com grandes volumes de dados sob altas cargas. Entre as características do Tarantool, destaca-se a possibilidade de criar manipuladores em Lua (com LuaJIT embutido), a aplicação do formato MessagePack na troca de dados com o cliente, a presença de dois mecanismos integrados (armazenamento na RAM com fallback para armazenamento permanente e um armazenamento em disco de dois níveis baseado em LSM-tree), suporte a chaves secundárias, quatro tipos de índices (HASH, TREE, RTREE, BITSET), ferramentas para replicação síncrona e assíncrona em modo master-master, suporte à autenticação de conexões e controle de acesso, e a capacidade de processar comandos SQL.
Principais mudanças:
- Estabilização MVCC (Controle de Conflito de Versões Múltiplas) no mecanismo em memória memtx.
- Suporte à transacionalidade no protocolo binário IPROTO. Anteriormente, para transações, era necessário escrever um procedimento armazenado em Lua.
- Suporte à replicação síncrona, que opera vinculada a tabelas específicas.
- Mecanismo de failover automático para um nó de reserva baseado no protocolo RAFT. O Tarantool já implementava replicação assíncrona baseada em WAL, agora não é mais necessário monitorar manualmente o nó master.
- A mudança automática do nó master também está disponível em caso de topologia com segmentação (sharding) de dados (utiliza a biblioteca vshard, que distribui dados entre servidores usando baldes virtuais).
- Melhoria do framework para construção de aplicativos em cluster Tarantool Cartridge ao trabalhar em ambientes virtuais. O Tarantool Cartridge agora suporta melhor a carga.
- A operação da função Ansible para implantação de clusters foi acelerada de 15 a 20 vezes. Assim, o trabalho com grandes clusters se tornou mais fácil.
- Um novo recurso foi introduzido para simplificar a migração de versões antigas >1.6 e < 1.10, disponível como uma opção adicional ao iniciar. Anteriormente, a migração precisava ser feita através da instalação de uma versão intermediária 1.10.
- Foi otimizado o armazenamento de tuplas de pequeno tamanho.
- O suporte a UUID foi implementado no SQL e a conversão de tipos foi aprimorada.
Vale ressaltar que a partir da versão 2.10 haverá uma nova política de formação de lançamentos. Em lançamentos significativos com quebra de compatibilidade, o primeiro dígito da versão mudará; em versões intermediárias, o segundo, e em correções, o terceiro (após 2.10, será lançado o 3.0.0).
Fonte: opennet.ru
