Redka, uma alternativa escalável ao Redis com integração SQLite

Conheça o Redka, uma alternativa escalável ao Redis com integração SQLite. Confira os detalhes dessa importante opção.

A decisão do Redis, provavelmente o armazenamento de dados de chave/valor NoSQL em memória mais usado atualmente, de alterar sua política de licenciamento, o que efetivamente o tirou do ecossistema de código aberto, desencadeou uma série de eventos.

Vamos lembrá-los em ordem cronológica.

Primeiro, a Microsoft anunciou seu novo projeto de código aberto, Garnet. Então, surgiu um segundo fork do Redis, o Redict.

Poucos dias depois, um terceiro projeto, Valkey, uma alternativa de código aberto ao Redis voltada para a comunidade e apoiada por alguns dos maiores nomes da tecnologia, anunciou seu lançamento.

E, agora, é a vez do Redka.

Redka, uma alternativa escalável ao Redis com integração SQLite

Redka, uma alternativa escalável ao Redis com integração SQLite

Redka é um servidor em andamento que combina Redis e SQLite. Ele suporta dados além da RAM, garantindo desempenho e flexibilidade robustos.

No entanto, o que é mais intrigante sobre a nova iniciativa é que ela não 锓outro concorrente do Redis”, mas sim um pouco diferente. Então, do que se trata?

Redka pretende combinar a alta velocidade do Redis com os recursos duráveis de armazenamento e transação do SQLite de uma forma que seja compatível com uma API Redis.

Uma das principais limitações do Redis é que os dados devem caber na RAM. Com o Redka, seus dados não precisam necessariamente ficar presos em um espaço de memória para conjuntos de dados maiores, sem estarem sujeitos à mesma restrição de hardware.

Redka também é transacional ACID, oferecendo suporte total ao processamento confiável de operações de banco de dados com reversões automáticas em caso de falhas. Os principais recursos que Redka possui incluem:

  • Flexibilidade de armazenamento de dados : Ao contrário do Redis, que armazena principalmente dados em RAM para um resultado rápido durante o acesso, Redka gerencia a persistência de dados em um banco de dados SQLite. Isso significa que se houver uma reinicialização do sistema, seus dados permanecerão sãos e salvos no disco.
  • Operações avançadas de dados : Redka apresenta visualizações SQL, que aprimoram a introspecção e a geração de relatórios de dados – um recurso útil para empresas que precisam de análise detalhada de dados.
  • Opções de servidor duplo : os usuários podem implantar o Redka como um servidor independente ou integrá-lo diretamente em seus aplicativos Go, oferecendo flexibilidade dependendo das necessidades do projeto.

Recursos compatíveis com Redis do Redka
Redka faz Redix, seguindo-o em seu suporte para os principais tipos de dados de strings, listas, conjuntos, hashes e conjuntos classificados, bem como muitos comandos para lidar com esses tipos. Aqui estão alguns exemplos de comandos e recursos que você pode esperar dele.

  • Strings : operações como GET, SET e INCR estão disponíveis para lidar com a manipulação básica de dados.
  • Listas e Conjuntos : Comandos para gerenciar coleções ordenadas e não ordenadas, como LPOP para listas e SADD para conjuntos.
  • Hashes : você pode manipular pares campo-valor usando comandos como HSET e HGET.
  • Conjuntos classificados : ZADD e ZRANK estão prontos para uso para dados ordenados com pontuações.
  • Gerenciamento de chaves : o ciclo de vida das chaves é gerenciável com comandos como DEL e EXPIRE.

Instalação e desempenho
Comecemos pelo princípio em relação ao Redka: seu uso é muito óbvio.

Ele está disponível como um binário de arquivo único, que pode ser baixado e executado em sistemas Linux e MacOS, ou extraído como uma imagem Docker para implantar facilmente em um contêiner.

Além disso, Redka está disponível para desenvolvedores como um módulo Go em aplicativos.

No que diz respeito ao desempenho, o Redka pode não ser capaz de competir com o Redis em termos de velocidade bruta porque depende do SQLite.

No entanto, de acordo com os desenvolvedores, os benchmarks preliminares parecem indicar que ele é realmente capaz de escrever e ler dezenas de milhares de vezes por segundo.

Para mais informações, visite o repositório GitHub do projeto.

Sair da versão mobile