O que é o Valkey?

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.

Pontos principais

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:

  • Armazenamento de dados na memória: armazena dados principalmente na RAM para velocidades de leitura e gravação extremamente rápidas.
  • Método de chave-valor: armazena dados em pares de chave-valor, oferecendo flexibilidade para uma variedade de tipos de dados e pesquisas rápidas.
  • Alternativa ao Redis: o Valkey evoluiu da mesma base de código do Redis, mas continua sendo de código aberto.


Perguntas frequentes sobre o 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.


Benefícios de usar o Valkey

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.


Casos de uso comuns do Valkey

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:

  • Criação de cache: o Valkey pode atuar como uma camada de cache de alta velocidade na frente de bancos de dados mais lentos baseados em disco. Os dados acessados com frequência podem ser armazenados no Valkey, reduzindo significativamente a carga no banco de dados principal e acelerando os tempos de resposta.
  • Filas de mensagens: os recursos de Pub/Sub do Valkey o tornam uma excelente opção como agente de mensagens. Ele pode ser usado para facilitar a comunicação em tempo real entre diferentes serviços ou microsserviços, oferecendo suporte a casos de uso como aplicativos de chat e notificações.
  • Análise em tempo real: para aplicativos que precisam processar e analisar dados em tempo real, como rastreadores de encomendas, apps de navegação ou placares de jogos, a velocidade do Valkey o torna uma escolha ideal.
  • Armazenamento de sessões: o gerenciamento de sessões de usuários em aplicativos da Web, como sites de e-commerce ou plataformas de mídia social, exige acesso rápido às preferências do usuário, status de login e conteúdo do carrinho de compras. O Valkey oferece uma maneira rápida e confiável de armazenar e recuperar esses dados de sessão.
  • Machine learning: a baixa latência e os recursos de pesquisa vetorial do Valkey também o tornam um banco de dados eficiente para aplicativos que usam machine learning. Você pode armazenar e pesquisar rapidamente embeddings de vetores, que são representações numéricas de dados como texto ou imagens, para realizar pesquisas complexas de similaridade. Isso pode ser usado para sugerir produtos, artigos ou mídias semelhantes aos usuários em tempo real.

Valkey versus Redis

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.

Gerencie sua implantação do Valkey com o Google Cloud

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.

  • Compute Engine (VMs): inicie instâncias do Google Compute Engine (VMs) e instale o servidor Valkey de código aberto diretamente. Isso oferece total autonomia sobre a configuração, os parâmetros de escalonamento e o sistema operacional.
  • Google Kubernetes Engine (GKE): o Valkey pode ser facilmente conteinerizado usando o Docker e implantado como um pod ou um aplicativo com estado em um cluster do GKE. Essa pode ser uma abordagem adequada para aplicativos que já utilizam o Kubernetes, oferecendo recursos de orquestração robustos e avançados.


Tenha um serviço totalmente gerenciado com o Google Cloud Memorystore para Valkey

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.

  • Totalmente gerenciado: o Google lida com o overhead operacional do gerenciamento de instâncias do Valkey, incluindo provisionamento, aplicação de patches e failover.
  • Alto desempenho: usando a infraestrutura do Google Cloud, o Memorystore para Valkey oferece a baixa latência e a alta capacidade de processamento necessárias para aplicativos exigentes em tempo real, com acesso a dados em menos de um milissegundo.
  • Alta disponibilidade: o Memorystore replica automaticamente os dados em várias zonas, oferecendo um SLA de até 99,99%.
  • Escalonável: o Memorystore oferece escalonamento contínuo de instâncias do Valkey sem tempo de inatividade para atender às demandas variáveis do seu aplicativo.
  • Seguro: o Memorystore é protegido com recursos de segurança robustos, incluindo conectividade de nuvem privada virtual (VPC), monitoramento 24 horas por dia, 7 dias por semana e gerenciamento de identidade e acesso (IAM).
  • Perfeito para aplicativos de IA: o Memorystore para Valkey oferece suporte à pesquisa de vetor de vizinho mais próximo aproximado (ANN) e à pesquisa de vetor de vizinho mais próximo exato (KNN), o que o torna um repositório de dados de baixa latência ideal para IA generativa.

Avance na sua jornada com o Memorystore

Comece a criar no Google Cloud com US$ 300 em créditos.

Google Cloud