Re:Principles of Sharding for Relational Databases
by kakwa_ on Wednesday August 09, 2017 @05:47PM
(#14974007)
Also, when architecturing for shards, you must take into account availability.
Having several shards can lower the availability of your application if it cannot handle the absence of a shard.
For example if you have 99.9% availability on your individual DBs, and if you split it up into 10 shards, availability will drop to 99% (8 hours VS 3 days of downtime a year).
To handle that, you need to add replication and automatic fail-overs, adding even more complexity.
Having several shards can lower the availability of your application if it cannot handle the absence of a shard.
For example if you have 99.9% availability on your individual DBs, and if you split it up into 10 shards, availability will drop to 99% (8 hours VS 3 days of downtime a year).
To handle that, you need to add replication and automatic fail-overs, adding even more complexity.