RDBMS 能否像 noSQL 一样按读扩展?

Can RDBMS scale on read similar to noSQL?

在对 Dynamodb 进行一些研究之后,我意识到他们的重点是非阻塞写入,因此可以使用一致的哈希方案在许多机器上水平扩展数据库。

我的问题是,如果我的需求是重读(比如说 KV 对数据,所以没有连接)而写是轻。我仍然可以通过使用 SQL likes 数据库获得良好的可扩展性吗?因为如果写入很轻,那么我真的不需要 Dynamodb 提供的写入可用性。我可以简单地向 RDBMS 添加更多从属机器以在读取时扩展,虽然写入可能会受到影响但假设我不需要扩展写入所以应该没问题。

存在一致性问题 - 如果您向外扩展,您如何管理更新过程?因为在更新传播时您可能会有一些数据库与其他数据库不同步,所以调用者获得哪个值将取决于他们碰巧与哪个实例交谈。这对你是否“不好”只是你会知道的事情。

在我见过的场景中,通常您有一个中央 RDBMS,这很好(如果需要,可以扩大规模)。复制通常用于保持 DR 实例准备就绪。

一些数据库平台具有高可用性功能,可以让您横向扩展,但我认为它非常专业($$$)。

如果您真的想扩展数据以用于读取密集型目的,那么某种专业的缓存解决方案可能会更好。您可以使用直写或后写模式(等)来更新它们。