O Valkey é um repositório de dados de chave-valor na memória que pode ser usado para diversas necessidades de criação de aplicativos, incluindo armazenamento em cache, filas de mensagens e repositórios de sessão. Você também pode usá-lo como um banco de dados principal na memória, com dados armazenados na RAM para velocidades rápidas de leitura e gravação.
Como um banco de dados NoSQL, o Valkey tem um esquema mais flexível do que um banco de dados relacional, que armazena dados em colunas e linhas estritas.
O Valkey usa o método simples de chave-valor para armazenamento de dados, em que um valor é mapeado para um identificador exclusivo, a chave. Isso permite pesquisas incrivelmente rápidas ao recuperar dados diretamente pela chave. Ele também oferece flexibilidade para acomodar uma variedade de tipos de dados, incluindo strings, conjuntos, listas, hashes e streams.
Quer ir direto para a configuração de um cluster do Valkey? Saiba como começar a usar o Memorystore.
O Valkey é um repositório de dados de chave-valor de código aberto. Ele é conhecido pela latência extremamente baixa, o que o torna ideal para armazenamento em cache, filas de mensagens e aplicativos que exigem dados em tempo real. Confira informações gerais rápidas dos principais recursos do Valkey:
O Valkey pode armazenar vários tipos de dados, incluindo strings, hashes, listas, conjuntos e conjuntos classificados. Ele também oferece suporte a tipos de dados mais avançados, como fluxos, índices geoespaciais, bitmaps e vetores, o que o torna uma ferramenta versátil para uma ampla variedade de aplicativos, incluindo agentes de IA.
O principal motivo para usar um banco de dados na memória como o Valkey é a velocidade. Acessar dados da RAM é mais rápido do que ler do disco, o que permite que o Valkey alcance uma latência extremamente baixa, geralmente na faixa de submilisegundos. Essa velocidade é essencial para casos de uso como o armazenamento em cache em tempo real e análises rápidas em que o acesso imediato aos dados é essencial.
A principal diferença está na forma como eles estruturam, armazenam e recuperam dados. Um banco de dados de chave-valor como o Valkey armazena dados como uma coleção de chaves exclusivas, cada uma emparelhada com um único valor. Esse modelo simples oferece recuperação rápida ao pesquisar dados especificamente pela chave. Já um banco de dados relacional armazena dados em tabelas com JOINs que vinculam dados relacionados. Esse modelo oferece o melhor desempenho para consultas que precisam extrair dados de várias coleções.
O Valkey combina velocidade com a flexibilidade, a escalonabilidade e a resiliência necessárias para cargas de trabalho exigentes.
Banco de dados na memória de alta velocidade
Ao armazenar dados principalmente na RAM em vez de discos, o Valkey oferece capacidade de processamento incrivelmente alta e baixa latência, o que o torna adequado para aplicativos em que a velocidade é fundamental.
Código aberto
Como um projeto de código aberto, o Valkey se beneficia das contribuições da comunidade e da flexibilidade de ser integrado e personalizado sem restrições de licenciamento.
Alta disponibilidade
O Valkey oferece suporte à replicação mestre-réplica para failover automático e redundância de dados, minimizando o tempo de inatividade e oferecendo serviço contínuo.
Persistência de dados
Embora seja principalmente um banco de dados na memória, o Valkey oferece opções de persistência para evitar a perda de dados. Ele pode salvar dados no disco usando snapshots do RDB (banco de dados do Redis) e registros do AOF (arquivo somente de anexação) para garantir a durabilidade dos dados mesmo após reinicializações.
Escalonamento horizontal sem interrupções
O Valkey foi projetado para distribuir dados de maneira eficiente em vários nós e clusters. Isso significa que você pode fazer o escalonamento horizontal com facilidade para lidar com o aumento do tráfego sem queda no desempenho.
Comunicação em tempo real
O Valkey oferece um sistema de mensagens Pub/Sub, que permite a comunicação em tempo real entre vários aplicativos ou diferentes partes de um único aplicativo. Ele pode oferecer suporte a recursos como chat ao vivo e feeds de dados em tempo real.
Os armazenamentos de dados na memória, como o Valkey, são particularmente adequados para aplicativos e funções que dependem de latência extremamente baixa. Isso inclui o seguinte:
O Valkey foi inicialmente derivado do Redis 7.2, o que significa que ele começou com a mesma base de código e compartilha algumas características e funcionalidades fundamentais. Assim como o Valkey, o Redis é um repositório de dados de chave-valor na memória que oferece alta capacidade de processamento e aceita várias estruturas de dados. Ambos são conhecidos pela alta disponibilidade e escalonabilidade.
A principal diferença é que o Valkey é de código aberto, lançado sob uma licença BSD permissiva, para que os desenvolvedores possam usar, modificar e contribuir com o software.
Em 2024, o Valkey foi criado em resposta à mudança da Redis Inc. para uma licença "origem disponível" mais restritiva. Para manter uma alternativa de código aberto para a comunidade, vários colaboradores principais do Redis se uniram e lançaram o Valkey com base na versão final de código aberto do Redis.
O Valkey é orientado por uma abordagem de desenvolvimento colaborativa e liderada pela comunidade, em que o roteiro e os novos recursos são decididos pelos membros contribuintes do projeto da Linux Foundation, com contribuições dos principais fornecedores de nuvem, incluindo o Google Cloud.
Desde o Valkey 8.0, foram feitas melhorias significativas no mecanismo do Valkey, com foco em aprimoramentos na pesquisa vetorial, melhor gerenciamento de clusters e execução de comandos multithread, ou seja, a capacidade de processar comandos em paralelo em vários núcleos de CPU.
Para quem quer mais controle granular, personalização ou configurações de implantação específicas, o Valkey pode ser implantado manualmente na infraestrutura de computação do Google Cloud. Esse método oferece supervisão completa do ambiente.
O Memorystore para Valkey é um serviço totalmente gerenciado que oferece um serviço Valkey de alto desempenho, altamente disponível e escalonável na nuvem.
Ele oferece os benefícios de um banco de dados na memória sem o ônus operacional e financeiro de gerenciar a infraestrutura subjacente.
O Google Cloud cuida da carga de trabalho administrativa, incluindo aplicação de patches, segurança e escalonabilidade, para que você possa se concentrar na criação de aplicativos com dados em tempo real.