As the world turns towards remote and hybrid work, companies also need to ensure their UCaaS solution is protected for remote worker use. They should also ensure that they have the best business phone and internet package to cater remote working (learn about business phone services and internet packages here). A distributed system like Rethink DB will help, but only if it has the feature set and infrastructure to support the needs of a user's infrastructure (i.e. it has to be able to accept clusters as part of its functional model). While it's not a problem if an application scales horizontally with fixed infrastructure, any infrastructure that scales horizontally needs to support hundreds of virtual machines. While RethinkDB is capable of doing so, it's also capable of doing so with tens of servers.
I consider it a minimal requirement that any distributed database must have support for clusters. This is because any distributed database that grows with additional features or scale also has to support distributed replication. And while it is possible to provide replication to a single database cluster, it is just not an optimal solution.
What if the cluster is not distributed?
Of course, as shown in the picture above, a cluster cannot be replicated using a database. However, there are some scenarios in which distributed systems can still support replication.
Noises and VLANs
When a database is located on a single data center, it is possible for a rogue host to spoof the connection between the master and any peer and create a new connection to the database. At best this can cause latency. At worst this can cause massive data loss.
In production, we don't usually think about this, but it's important to mention it.
Determining a common threat vector and mitigation strategies, particularly for high volume databases, will dramatically improve recovery times. A common way to deal with data loss is to assume the worst, run additional checks on data that's already in a reliable state, and then delete the existing data.
However, this is not practical for simple security reasons, especially if the database is not trusted and the risk of it being exposed increases.
In our environment, we're leveraging some heavy duty protections, including in place replay management and checks for high value customers. Visit sites like https://www.venyu.com/colocation/ and get further information.