E foi lançado o Valkey 8 com melhorias em velocidade e eficiência, e mais. Confira as novidades e veja como instalar no Linux.
Devido à mudança da política de licenciamento do Redis e ao afastamento do software livre, o projeto Valkey surgiu como uma resposta a essa decisão, apoiado por grandes gigantes de TI como Google, Oracle e AWS.
Dito isso, o Valkey é um armazenamento de dados em memória de código aberto que segue a mesma ideia do Redis.
Sendo mais detalhista, o Valkey é um datastore de chave/valor de alto desempenho de código aberto (BSD) que suporta uma variedade de cargas de trabalho, como cache, filas de mensagens e pode atuar como um banco de dados primário.
E o Valkey pode ser executado como um daemon autônomo ou em um cluster , com opções para replicação e alta disponibilidade .
Além disso, o Valkey suporta nativamente uma rica coleção de tipos de dados, incluindo strings, numbers, hashes, lists, sets, sorted sets, bitmaps , hyperloglogs e muito mais. Você pode operar em estruturas de dados no local com uma coleção expressiva de comandos.
O Valkey também suporta extensibilidade nativa com suporte de script integrado para Lua e suporta plugins de módulo para criar novos comandos, tipos de dados e muito mais.
Agora, os desenvolvedores do Valkey anunciaram a disponibilidade geral da nova versão 8.0, marcando um marco significativo na evolução do projeto.
Novidades do Valkey 8
O Valkey 8.0 promete desempenho superior, lidando com até 1,2 milhão de consultas por segundo.
Embora a versão inicial, 7.2.5, lançada há mais de cinco meses, tenha se concentrado na compatibilidade e continuidade da licença, esta grande atualização apresenta muitos novos recursos para melhorar a velocidade, eficiência e confiabilidade.
O Valkey 8.0 apresenta melhorias substanciais ao sistema de threading de E/S existente. Notavelmente, o threading de E/S assíncrono permite que os threads principal e de E/S operem simultaneamente, maximizando o rendimento e minimizando gargalos.
Além disso, a utilização inteligente do núcleo distribui tarefas de E/S em vários núcleos com base no uso em tempo real, reduzindo o tempo ocioso e melhorando a eficiência energética.
Outro aprimoramento importante é o loteamento de comandos, que otimiza os padrões de acesso à memória ao pré-buscar dados acessados com frequência. Isso minimiza as perdas de cache da CPU e reduz o número de acessos à memória necessários para operações de dicionário.
No total, essas melhorias permitem que o Valkey 8.0 manipule até 1,2 milhão de consultas por segundo (QPS) na plataforma r7g da AWS, um aumento significativo em relação ao limite anterior de 380 mil QPS.
A nova versão principal também melhora as operações de dimensionamento de cluster por meio de migrações de slot. Agora, o failover automático para fragmentos vazios garante alta disponibilidade desde o início do processo de dimensionamento.
Além disso, a replicação dos estados de migração de slot sincroniza todos os comandos CLUSTER SETSLOT para réplicas antes da execução no nó primário. Isso reduz a chance de indisponibilidade se o primário falhar.
Em termos de replicação, o Valkey 8.0 introduz um esquema de replicação de canal duplo. Isso permite que o RDB (arquivo do banco de dados Redis) e o backlog da réplica sejam transferidos simultaneamente, acelerando a sincronização.
O nó primário sofre pressão de memória reduzida, e a conexão dedicada para transferência de RDB libera recursos para lidar com consultas de clientes de forma mais eficiente.
O Valkey 8.0 apresenta uma infraestrutura abrangente de métricas por slot, fornecendo visibilidade detalhada do desempenho e uso de recursos de slots individuais.
Isso inclui rastrear as contagens de chaves de cada slot, uso da CPU e bytes de entrada/saída da rede. Os benchmarks iniciais indicam que habilitar essas métricas detalhadas incorre em uma sobrecarga insignificante de aproximadamente 0,7% em QPS.
Os ganhos de eficiência também são realizados por meio de reduções na sobrecarga de memória. As chaves agora são incorporadas no dicionário principal, eliminando ponteiros de chave separados e reduzindo significativamente o uso de memória.
Para cenários com chaves de 16 bytes e valores de 8 ou 16 bytes, os usuários podem esperar uma redução de 9 a 10% no uso geral de memória, juntamente com melhorias de desempenho.
O Valkey 8.0 também traz vários outros recursos dignos de nota:
- Suporte a pilha dupla IPv4 e IPv6: opere perfeitamente em ambientes de IP mistos para compatibilidade e flexibilidade aprimoradas.
- Eficiência aprimorada de Pub/Sub: mensagens de cluster leves otimizam a comunicação, reduzindo a sobrecarga para operações mais rápidas.
- Valkey sobre RDMA (experimental): o acesso direto à memória entre clientes e servidores Valkey desbloqueia melhorias significativas de desempenho, proporcionando um aumento de até 275% na taxa de transferência.
Para saber mais sobre essa versão do Valkey, acesse a nota de lançamento.
Como instalar ou atualizar o Valkey
Para instalar a versão mais recente do Valkey nas principais distribuições Linux, leia a página de documentação da instalação do software.