zlacker

[parent] [thread] 6 comments
1. hardwa+(OP)[view] [source] 2021-06-12 09:34:32
Hey I assume this is like a joke and not too serious, and we'd all switch off when things got a bit hairy, but I sure hope other readers can tell.

I am literally in the middle of digging a company out of this mistake (keeping Redis too long) right now. If your software/data is worth something, take a week or a month and figure out a reasonable schema, use an auto-generation tool, ORM, or hire a DB for a little bit to do something for you. Even MongoDB is better than redis if your're gonna do something like this.

replies(2): >>tluybe+n7 >>chrisd+l8
2. tluybe+n7[view] [source] 2021-06-12 10:56:34
>>hardwa+(OP)
> take a week or a month and figure out a reasonable schema, use an auto-generation tool, ORM, or hire a DB for a little bit to do something for you.

Sorry but am I the only one who is very worried about the state of software? There are people who drank so much of the schemaless (which was not an actual issue for any dev worth her salt to begin with) that you have to dispense this kind of advice? I find that bordering on criminal if someone did that to you and carries the title programmer.

Again, maybe that is just me.

Edit: not an attack on the parent: good advice. Just didn't know it was that bad. And sad.

3. chrisd+l8[view] [source] 2021-06-12 11:07:06
>>hardwa+(OP)
If you store protos in your Redis keys (like most people using “NoSQL” for data storage), this comment doesn’t have much punch. Pretty sure we all can think of some pretty high profile examples of NoSQL + structured data working very very well at scale.
replies(1): >>hardwa+l9
◧◩
4. hardwa+l9[view] [source] [discussion] 2021-06-12 11:20:36
>>chrisd+l8
I'm not trying to get on people who are using redis as a cache (for photos, or any other ephemeral data).

The idea I was trying to get at was using redis to store data traditionally reserved for OLTP workloads.

> Pretty sure we all can think of some pretty high profile examples of NoSQL + structured data working very very well at scale.

Well that's the thing, you very rarely hear of companies who cursed their decision early on to use NoSQL when they realized that their data was structured but in 20 different ways over the lifetime of the product. Some datasets only need light structure (key/value, a loosely defined document, schema-included documents), and other things should probably have a schema and be stored in a database with a tight grip on that schema and data consistency/correctness. Please don't use redis in that latter case.

replies(2): >>chrisd+3a >>dionia+Tv
◧◩◪
5. chrisd+3a[view] [source] [discussion] 2021-06-12 11:28:41
>>hardwa+l9
I mean, Google was built on protos in a “NoSQL” database (BigTable). I think maybe you are overindexing on personal experience.
replies(1): >>hardwa+xc
◧◩◪◨
6. hardwa+xc[view] [source] [discussion] 2021-06-12 12:00:02
>>chrisd+3a
Sure, but:

1) 99.9% of internet-facing/adjacent businesses are not Google and will never reach even 1% of Google's scale

2) Proto + BigTable is very different from just throwing stuff in redis/mongo. Proto schemas are compile-time enforced, which is great for some teams and might slow others down. Google enforces more discipline than your average engineering team -- this is overkill for most engineering teams.

◧◩◪
7. dionia+Tv[view] [source] [discussion] 2021-06-12 15:17:41
>>hardwa+l9
operations aside, the big problem in my experience dealing with these systems is you are extremely limited (on purpose) and cant do much sorting/filtering/aggregation/querying. that's what really makes true db's powerful. I love redis for what it does, i just dont think it replaces a DB well in many cases where its non-transient data
[go to top]