zlacker

[parent] [thread] 10 comments
1. miohta+(OP)[view] [source] 2021-06-12 08:37:29
Not all use cases require reliable data storage and it is ok lose few seconds of data. Think simple discussion forums, internal chat applications. There are some scenarios where ease of use and a single server scalability pays off in the faster development and devops cost.
replies(3): >>arpa+i >>charro+Xe >>EvilEy+Kj
2. arpa+i[view] [source] 2021-06-12 08:40:12
>>miohta+(OP)
GP was asking why redis is not a reliable storage solution/database. Redis is great as an unreliable (not source-of-truth) storage.
replies(1): >>kwdc+cL
3. charro+Xe[view] [source] 2021-06-12 11:32:00
>>miohta+(OP)
I work on a SaaS community forums service and I can assure you data loss is not acceptable to our clients.

As a result we use MySQL w/ memcached, although we are considering a swap to redis for the caching layer.

4. EvilEy+Kj[view] [source] 2021-06-12 12:33:29
>>miohta+(OP)
> Not all use cases require reliable data storage and it is ok lose few seconds of data. Think simple discussion forums, internal chat applications.

That is definitely not ok. I'd be really pissed as a user if I wrote a huge comment and it suddenly disappeared.

replies(1): >>miohta+Bo
◧◩
5. miohta+Bo[view] [source] [discussion] 2021-06-12 13:23:58
>>EvilEy+Kj
It only disappears if there is a catastrophic failure. The likelihood for such thing to happen when you write a huge comment are less than jackpot in Las Vegas, a sensible risk tradeoff for better development experience and cost.
replies(2): >>TheCoe+ZG >>obstac+Da1
◧◩◪
6. TheCoe+ZG[view] [source] [discussion] 2021-06-12 16:20:52
>>miohta+Bo
How is that a sensible tradeoff compared to just using something that was actually designed to be a database when you need a database?
replies(1): >>miohta+n32
◧◩
7. kwdc+cL[view] [source] [discussion] 2021-06-12 16:55:35
>>arpa+i
For that temporary use case, how does it compare to memcached?
replies(1): >>jasonw+Tc1
◧◩◪
8. obstac+Da1[view] [source] [discussion] 2021-06-12 20:43:16
>>miohta+Bo
> a sensible risk tradeoff

Note the tradeoff doesn't make sense as soon as you're operating at a meaningful scale. A small likelihood of failure at small scale translates to "I expect a failure a million years from now", whereas at large scale it's more like "a month from now". Accepting the same percent risk of data loss in the former case might be OK, but in the latter case is irresponsible. Provided whatever you're storing is not transient data.

replies(1): >>miohta+B32
◧◩◪
9. jasonw+Tc1[view] [source] [discussion] 2021-06-12 21:06:54
>>kwdc+cL
Mostly boils down to Redis having a richer API, and memcached being faster / more efficient. The new EXT store stuff allows you to leverage fast ssd's to cache stupid huge datasets. Memcached is also one of the most battle tested things out there in open source. I've used them both plenty over the years, but tend to lean towards memcached now unless I really need some Redis API feature.
◧◩◪◨
10. miohta+n32[view] [source] [discussion] 2021-06-13 07:54:02
>>TheCoe+ZG
You do not need a relational database for a simple chat/forum application.
◧◩◪◨
11. miohta+B32[view] [source] [discussion] 2021-06-13 07:57:15
>>obstac+Da1
You are correct. I wrote the original comment as "single server" so I assume it does not mean a meaningful scale and can be more effectively dealt with a support ticket. Not everything needs to be growth trajectory SaaS.
[go to top]