4 ms·
There are plenty of modern, distributed RDBMSes that make sharding transparent to the user (E.g. cockroachDB, yugabyte, vitess, many cloud offerings, etc.). Mos
by srich36 6y ago
There are plenty of modern, distributed RDBMSes that make sharding transparent to the user (E.g. cockroachDB, yugabyte, vitess, many cloud offerings, etc.). Most NoSQL databases end up adding transactions because they are important, and thus the scale advantages for NoSQL systems over relational databases are diminishing, if remaining at all.
- bushbaba 6y agoLatency at p99 is substantially better at scale with a key value lookup in nosql over postgresql. Thing is most people don’t have scale these days. You can get a single box with hundreds of logical cores and many hundreds of TiB of locally attached ssd. Until you exceed that you don’t necessarily have scale.
- ZephyrBlu 6y agoDistributed databases like cockroachDB are KV stores.
- collyw 6y agoMySQL had a Berkley DB engine underneath, that's a KV store too. I wouldn't say that makes /made MySQL a key value store.
- threeseed 6y ago> You can get a single box with hundreds of logical cores and many hundreds of TiB of locally attached ssd And then that box falls over because the entire region fails like just happened yesterday with OVH. Or it just randomly fails like has happened to me with AWS dozens of times. Vertically scaling a database on your own cloud instances is amateur hour. Either use a cloud-managed database or one that is highly available.
- bushbaba 6y agoSure. And those services support some fairly beefy instance types. Such as https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-rds-for-sql-server-now-supports-x1-and-x1e-instance-types/ https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-rd...
- samlambert 6y agoWell it depends what you consider scale. When you look at the high scale deployments like Slack, YouTube, GitHub, Square, etc they are all using Vitess and MySQL.
- bushbaba 6y agoYouTube doesn’t use just mysql or vitess these days they migrated to other google databases. Slack, GitHub both are stupidly shardable. I doubt it’s one RDBMS handling every customer, chat room, git repo. And instead they’ve segmented the workload across multiple instances. That doesn’t work for every use case
- samlambert 6y agoOf course they run on multiple instances. It doesn't work for every use case but it works for more than people realize. Too many people vertically scale, or add read replicas which is a ticking time bomb.