News for hackers. Stuff that matters.
Re:In-memory database Redis wants to dabble in disk by reconditerose on Thursday October 19, 2023 @11:13AM (#37943993)
It is part of the drive to make Redis "more like your classic database," he said. In the future, support for natural language queries and enhanced vector and feature store capabilities will be added.

Seems way off the mark for why people use Redis. Developers use it precisely because it's not like their classic databases.

Re:In-memory database Redis wants to dabble in disk by dimgl on Thursday October 19, 2023 @05:08PM (#37948749)
I don’t think that’s necessarily always true. I was recently looking into using Redis as a regular database. Unfortunately data is still kept in memory even if it’s persisted on disk, so it was a no-go. You’d be surprised what people want!
Re:In-memory database Redis wants to dabble in disk by ReflectedImage on Thursday October 19, 2023 @05:15PM (#37948835)
Perhaps you are looking for LMDB?
Re:In-memory database Redis wants to dabble in disk by tayo42 on Thursday October 19, 2023 @05:56PM (#37949273)
What were you trying to accomplish? Curious about your use if you can share it
Re:In-memory database Redis wants to dabble in disk by super_scooper on Thursday October 19, 2023 @06:50PM (#37949881)
>You’d be surprised what people want!

If what you want is persistent k/v, then there are already tons databases that can do that. Redis has a different use case, so what are you trying to say? That you want to misuse tools?

Re:In-memory database Redis wants to dabble in disk by lmm on Thursday October 19, 2023 @09:28PM (#37951193)
> If what you want is persistent k/v, then there are already tons databases that can do that.

Are there? What's a good, mainstream, persistent k/v for cheap single-node instances? PostgreSQL's KV support isn't good enough, Cassandra and MongoDB expect to be set up as a cluster and have all the overhead of that, BikeshedDB is alpha and I won't touch their upstream for obvious reasons, CouchDB is pretty much unmaintained, ....

Re:In-memory database Redis wants to dabble in disk by chokolad on Thursday October 19, 2023 @09:58PM (#37951432)
How about LMDB ? It’s single writer/multiple reader, very fast and reliable.
Re:In-memory database Redis wants to dabble in disk by lmm on Thursday October 19, 2023 @10:16PM (#37951569)
This thread is my first time hearing of it, it doesn't seem particularly established/mature (e.g. I can't find cloud services offering managed instances, whereas there are plenty of those for Redis)
Re:In-memory database Redis wants to dabble in disk by ddorian43 on Friday October 20, 2023 @12:50AM (#37952482)
You didn't read enough what it actually is. Its embedded db like rocksdb.
Re:In-memory database Redis wants to dabble in disk by lmm on Friday October 20, 2023 @12:54AM (#37952499)
Then it's hardly a substitute for Redis.
Re:In-memory database Redis wants to dabble in disk by ddorian43 on Friday October 20, 2023 @12:58AM (#37952516)
You put redis on top of it.
Re:In-memory database Redis wants to dabble in disk by lmm on Friday October 20, 2023 @02:07AM (#37952819)
Are you suggesting that there's no need for Redis to integrate persistent-storage support because every user should download some library and patch the Redis source themselves? And that would somehow be better?
Re:In-memory database Redis wants to dabble in disk by ddorian43 on Friday October 20, 2023 @02:13AM (#37952854)
I'm suggesting you haven't read enough before replying, just like I did on my first comment. See "Myrocks" as an example of what the first user meant with lmdb. Replace "mysql -> redis" and "rocksdb -> lmdb".
Re:In-memory database Redis wants to dabble in disk by lmm on Friday October 20, 2023 @02:15AM (#37952870)
I'm looking for a standard, well-known, drop-in product - that's what Redis is, that's why persistent storage support in Redis is interesting. If I have to search up some combination thing then it's already a non-starter.
Re:In-memory database Redis wants to dabble in disk by ddorian43 on Friday October 20, 2023 @02:18AM (#37952880)
This is pointless.
Re:In-memory database Redis wants to dabble in disk by chx on Friday October 20, 2023 @12:46AM (#37952465)
RocksDB?
Re:In-memory database Redis wants to dabble in disk by lmm on Friday October 20, 2023 @12:49AM (#37952480)
RocksDB is cool but it seems to be more of a toolkit for building your own K/V store than a standalone product like Redis?
Re:In-memory database Redis wants to dabble in disk by FridgeSeal on Friday October 20, 2023 @04:42AM (#37953679)
RocksDB, Badger if you want embedded; which seems to be a more popular mechanism among kv-stores.

LMDB.

FoundationDB, etcd, consul in single node mode.

Re:In-memory database Redis wants to dabble in disk by lmm on Saturday October 21, 2023 @03:39AM (#37964874)
I'm not looking for embedded, we're talking about a Redis substitute. etcd/consul feel oriented towards running as a cluster and I'd expect overhead for that. FoundationDB is potentially a good shout, but it's not that established, e.g. it doesn't seem to be available in a managed way in cloud hosting environments.
Re:In-memory database Redis wants to dabble in disk by FridgeSeal on Saturday October 21, 2023 @07:55AM (#37966054)
KV Stores seem to be in a kind of split place, existing either as embedded, or full cluster mode. There isn’t really a “sqlite” or “postgres” of persistent KV stores. Cloud providers ship their own proprietary KV-stores: Dynamo in AWS, Bigtable in GCP. If you are ok with hosted, Scylla is also an option.

I’m always shocked that people use Redis for anything other than an ephemeral cache.

Re:In-memory database Redis wants to dabble in disk by lmm on Saturday October 21, 2023 @08:18PM (#37971728)
Your second paragraph follows from your first - people use Redis in this space because it's the closest thing there is to an "sqlite" or "postgres" for KV. Which is why I think Redis with persistence actually makes a lot of sense and fills a gap in the market.
Re:In-memory database Redis wants to dabble in disk by reconditerose on Thursday October 19, 2023 @06:53PM (#37949911)
I'll bite. I think with most relational and document databases, my view of the "classical world", you are often storing all of your data in tables or documents in a structured way. Normalizing the data where possible. You're then building indexes on that data to pull it out in a useful operational, optimizing for the most common operations. If a new use case comes up, you add some more tables, add some constraints, and create some new indexes.

I think with Redis, you are starting knowing that your use case needs to be fast. You start with the access patterns and fit that into key/value lookups (or search with modules). You're typically denormalizing the data, duplicating it or aggregating it from other places, so that you can serve operational data fast. Otherwise, just use in-memory SQL.

Re:In-memory database Redis wants to dabble in disk by willsmith72 on Thursday October 19, 2023 @06:53PM (#37949913)
The lines between data "stores" are blurring. I've seen it before where x team needs a fast key value store, so the obvious choice is redis. A year down the line, the product is evolving and the devs want to do some "classic" queries. Maybe it makes sense to keep it in redis based on their support for the queries you need, rather than migrating/replicating to a whole other system.