3 ms·
Can anybody here help me understand why many teams are using MySQL as a KV store? (Uber did it recently, so assuming many others probably did it too, network ef
by activatedgeek 10y ago
Can anybody here help me understand why many teams are using MySQL as a KV store? (Uber did it recently, so assuming many others probably did it too, network effect)
I personally love MySQL. Just want to understand what makes MySQL a great KV store as opposed to more seemingly specialized systems like Redis?
- Sanddancer 10y agoLess complexity, I imagine. If you've already got a beefy MySQL setup, then maintaining a separate Redis setup will introduce quite a bit of redundancy and chances for failure. Given that the big SQL databases have key value engines these days, you're going to get decent performance out of them as well.
- adrr 10y agoAll the tooling around SQL databases that allow you to easily setup fixtures, backups/restores, monitoring,viewing data etc. Also you can scale wide through read slaves easily.
- rhizome 10y agoFor me a primary reason would be to avoid platform spread.
- nvartolomei 10y agoOperational complexity at scale and prior experience with it. It is one thing to run one instance system and completely different story to run a clustered setup for large amounts of data with performance consideration. MySQL also proved very good at scale, at Facebook, YouTube, Uber, etc. and there are a lot of people with experience running it. Uber wrote a very good article about their switch, for them it was more about performance, though a little bit controversial.
- toomuchtodo 10y ago> Just want to understand what makes MySQL a great KV store Its not, it just happens to be good enough, which matters a lot for operational expertise/costs/etc. For example, you can store hundreds of millions of KV rows in an InnoDB table and still have <1-3ms response times on queries, while having persistence built in. Perfect is the enemy of good enough.
- activatedgeek 10y agoInteresting!