Hello,

I asked the same question to myself in the past years.

I think that the question boils down to:
How can I achieve unlimited database scalability?
Is it possible to have linear scalability (i.e. throughput increases
proportionally to the number of nodes)?

The answer is "sharding". It can be a custom solution or a database that
supports it automatically. In this way you can actually split data across
multiple nodes and the client contacts only the relevant servers for that
data (based on a shard key). See also
https://kubernetes-rails.com/#conclusion about database. Take a look at how
Cassandra, MongoDB, CouchDB and Redis Cluster work for example:
however there are huge limitations / drawbacks that come along with their
unlimited-scalability strategies.

For hot standbys, those are only useful if you have a relatively small
number of writes compared to reads. With that slave nodes you only scale
the *read* throughput.

Hope it helps,
Marco Colli

Reply via email to