3 ms·
I don't think distributed databases are aiming primarily at increasing write throughput over a single node. The question is, how many transactions can you writ
by jrockway 4y ago
I don't think distributed databases are aiming primarily at increasing write throughput over a single node. The question is, how many transactions can you write per second from your California datacenter to your New York postgres leader when someone typos the BGP rule controlling that database's IP address? Probably zero. That's the performance number these databases are trying to increase.
Many people can say, "wait, that doesn't matter to me at all, that happens at most once a year and all of my customers are also offline when it happens". Indeed, that's why people are doing just fine with postgres. But, some things are a little more mission critical than average, and so these technologies exist for them.
One thing that does tip the scale towards these distributed databases are operational concerns. "Apply security patch" or "migrate to new major version" look a lot to distributed systems like "tornado took out the data center" or "hard disk turned into many disconnected chunks of steel". So while you might not be super concerned about disasters, you might still be interested in keeping your compute nodes disposable or in doing regular maintenance without downtime. I don't think the operational balance is quite there yet, but it's definitely worth looking into every few months to see what the state of the art is.
- baq 4y agoThat would be my point if I was about to make a more elaborate post - I don't expect this to run 20ktps on a geographically distributed cluster, but if it can do 100tps with synchronous replication between east and west coast it opens a different set of possibilities than 5tps. If it can do 20ktps... it makes my life a whole lot easier, which is quite fine by me, too ;)
- azurelake 4y agoYou can already do this with MySQL/Postgres/etc., and there's no special magic in any of these newer tools that allow you to avoid the speed of light. The reason people don't typically run WAN synchronous setups is exactly because of that (and network reliability). The only way to a "free lunch" is via CRDTs. edit: This is in no way a knock on FDB by the way. I think it's a really interesting piece of technology and I want to explore it more. Just that it doesn't have a way to do consensus faster than the speed of light :)