Redka Debuts as a Scalable Alternative to Redis with SQLite Integration

Redka is a work-in-progress server that blends Redis and SQLite. It supports data beyond RAM, ensuring robust performance and flexibility.

The decision by Redis, probably the most widely used in-memory NoSQL key/value data store currently, to change its licensing policy, which effectively took it out of the open-source ecosystem, set off a series of events. Let’s recall them in chronological order.

First, Microsoft announced its new open-source project, Garnet. Then, a second Redis fork, Redict, emerged.

Just a few days later, a third project, Valkey, a community-driven open-source alternative to Redis backed by some of the biggest names in tech, announced its launch.

However, what is most intriguing about the new initiative is that it is not “another Redis competitor” but rather somewhat different. So, what is it about?

Meet Redka: The New Database Blending Redis’ Speed with SQLite’s Reliability

Redka aims to combine Redis’s high velocity with SQLite’s durable storage and transaction features in a way that would be compatible with a Redis API.

One of Redis’s main limitations is that the data must fit in RAM. With Redka, your data doesn’t necessarily need to stay jailed within a memory space for larger data sets without being subject to the same hardware restriction.

Redka is also ACID transactional, fully supporting reliable processing of database operations with automatic rollbacks in case of failures. Key capabilities Redka holds include:

  • Data Storage Flexibility: Unlike Redis, which mainly stores data in RAM for a fast result during access, Redka manages data persistence to an SQLite database. It means that if there is a system restart, your data will remain safe and sound on the disk.
  • Advanced Data Operations: Redka introduces SQL views, which enhance data introspection and reporting—a handy feature for businesses needing detailed data analysis.
  • Dual Server Options: Users can deploy Redka as a standalone server or integrate it directly within their Go applications, offering flexibility depending on project needs.

Redka’s Redis-Compatible Features

Redka does Redix, following it in its support for the core data types of strings, lists, sets, hashes, and sorted sets, as well as many commands for dealing with these types. Here are some examples of commands and features you might expect from it.

  • Strings: Operations like GET, SET, and INCR are available to handle basic data manipulation.
  • Lists and Sets: Commands for managing ordered and unordered collections, such as LPOP for lists and SADD for sets.
  • Hashes: You can manipulate field-value pairs using commands like HSET and HGET.
  • Sorted Sets: ZADD and ZRANK are ready to use for ordered data with scores.
  • Key Management: Key lifecycle is manageable with commands like DEL and EXPIRE.

Installation & Performance

First things first in regard to Redka: its usage is a real no-brainer. It’s available as a single-file binary, which one is able to download and run on both Linux and MacOS systems, or pull as a Docker image to deploy easily into a container. Also, Redka is available to developers as a Go module in applications.

On the performance front, Redka may be unable to compete with Redis on a raw speed basis because it relies on SQLite. However, according to the developers, preliminary benchmarks seem to indicate that it is actually able to write and read tens of thousands of times per second.

For more information, visit the project’s GitHub repository.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%