如果您使用一个用于写入的数据库和多个用于读取的数据库来扩展 SQL 服务器。将数据从写入数据库复制到其他读取数据库不会有延迟吗?在哪种情况下数据不一致?
那么在 CAP 定理中,规模化的关系数据库会落在哪里呢?
更新:
在关系数据库中,一致性意味着不会有部分更新。例如,如果有人将钱从一个账户转移到另一个账户,而整个事情是一笔交易的一部分,那么您就不会从一个账户中取出钱,但不会出现在另一个账户中。
在 CAP 定理中,一致性意味着所有组件都看到相同的数据。这种一致性不同于 ACID 中的一致性。
据我所知,像 SQL Server 这样的关系数据库应该是 CA(一致且可用)。如果只有一个数据库,这将是有意义的。因为每个人都会看到相同的数据。但是,如果 SQL Server 使用多个数据库进行扩展呢?在那种情况下,所有数据库仍然会看到相同的数据吗?如果不是,它是否一致(在 CAP 定理中)?
我的感觉是缩放的关系数据库是 AP(可用和分区容错)而不是 CA(一致和可用)。