Readit News logoReadit News
hodr_super commented on EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)   github.com/eloqdata/eloqk... · Posted by u/cloudsql
hubertzhang · 7 days ago
Yes, Lua in EloqKV has no such limitations. You can freely read data, generate new keys, and even query those keys within Lua scripts. Underneath, EloqKV’s transaction layer is powered by our data substrate, which provides full ACID guarantees. FYI https://www.eloqdata.com/blog/2025/07/14/technology

Could you share a bit more about your specific use case? That will help me explain how EloqKV can best support it.

hodr_super · 7 days ago
I built a SaaS app with per-tenant caches. Initially I used Redis but ran into scale-up issues, so I tried DragonflyDB. It works well in general, but my Lua script use case isn’t supported by default.

The use case is straightforward: each tenant has cached objects like: `cache:{tenant_id}:{object_id} → cached JSON/doc`

I also maintain a tag index to find all object IDs with a given tag: `tag:{tenant_id}:{tag} → set of object_ids (tag example: “pricing”, “profile”)`

When a tag changes (say “pricing”), I use a single Lua script to look up all object IDs in the tag set and then delete their cache entries in one atomic operation.

hodr_super commented on EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)   github.com/eloqdata/eloqk... · Posted by u/cloudsql
hubertzhang · 7 days ago
I’m Hubert, CTO of EloqData. That’s a great question.

Redis Cluster is often thought of as a distributed database, but in reality it’s not truly distributed. It relies on a smart client to route queries to the correct shard—similar to how mongos works in MongoDB. This design means Redis Cluster cannot perform distributed transactions, and developers often need to use hashtags to manually place related data on the same shard.

EloqKV takes a different approach. It’s a natively distributed database with direct interconnects between nodes. You can connect to any node with a standard Redis client, and still read or write data that physically resides on other nodes. This architecture enables true distributed transactions across shards, fully supporting MULTI/EXEC and Lua scripts without special client logic or manual sharding workarounds.

hodr_super · 7 days ago
Distributed Lua is cool. Is your implementation similar to DragonflyDB, which doesn’t allow handling undeclared keys in Lua? For example, if I want to generate a new key dynamically inside a script like: `local queue_key = "queue:user:" .. uid` How does your system handle such cases?
hodr_super commented on EloqKV, a distributed database with Redis compatible API (GPLv2 and AGPLv3)   github.com/eloqdata/eloqk... · Posted by u/cloudsql
hodr_super · 7 days ago
Isn’t Redis already a distributed database with Redis Cluster?
hodr_super commented on Show HN: EloqKV – Scalable distributed ACID key-value database with Redis API   eloqdata.com/blog/2024/08... · Posted by u/hubertzhang
hodr_super · a year ago
It's interesting that you have a Cassandra version. I usually think of Cassandra as a standalone database. Why would you layer one database on top of another?
hodr_super commented on Show HN: EloqKV – Scalable distributed ACID key-value database with Redis API   eloqdata.com/blog/2024/08... · Posted by u/hubertzhang
throwaway81523 · a year ago
Redis simply serializes every operation, I thought. Transaction = run a Lua script as a single operation. I think that is ACID, if you count RAM as "durable" and doing one thing at a time as "concurrent".
hodr_super · a year ago
Yeah, I think they were talking about distributed transactions, Redis only support transaction in a single instance, not in a cluster. You can not run Lua across machines.
hodr_super commented on Show HN: EloqKV – Scalable distributed ACID key-value database with Redis API   eloqdata.com/blog/2024/08... · Posted by u/hubertzhang
PeterZaitsev · a year ago
What is license ? I see Download but it is not clear if it is Open Source
hodr_super · a year ago
If it's not open-sourced, I’m not going to use it to store my critical data. Just saying...
hodr_super commented on Show HN: EloqKV – Scalable distributed ACID key-value database with Redis API   eloqdata.com/blog/2024/08... · Posted by u/hubertzhang
hubertzhang · a year ago
Yeah, it's just a happy coincidence that our product release lined up with the Redis license change. We think EloqKV is a way more powerful and versatile product than Redis. It can definitely be used as a simple in-memory cache, just like Redis, Valkey, or Dragonfly. But the real strength of EloqKV is in its full database capabilities: scalability, consistency, and high availability, all the things you'd expect from a modern database.
hodr_super · a year ago
I took a quick look at the evaluation you did on your blog section, and the numbers look amazing, a little too good to be true to be honest. It must be quite some effort to build this, who are you guys?
hodr_super commented on Show HN: EloqKV – Scalable distributed ACID key-value database with Redis API   eloqdata.com/blog/2024/08... · Posted by u/hubertzhang
hodr_super · a year ago
It does seem that there are a lot of activities to replace/enhance/improve Redis lately. Dragonfly, Garnet from Microsoft, and the BSD licensed Redis fork Valkey, to name just a few. Now this.

u/hodr_super

KarmaCake day7July 1, 2024View Original