【发布时间】:2017-11-26 14:48:05
【问题描述】:
我总是读到 MySQL 的可扩展性不如 NoSQL 数据库。这是关系数据库的主要缺点之一。为什么会这样?为什么它不能像 NoSQL 数据库一样可扩展。我想我们可以很容易地通过 Sharding 进行分发,那为什么会这样呢?
要么我的想法有问题。
【问题讨论】:
-
当您将 mysql 数据库分成两个分片并在应用程序逻辑中在它们之间切换时,恭喜您,您只是破坏了事务。你知道不能运行跨越两个分片的 ACID 事务。这只是一个例子。 NoSQL 数据库通过根本没有 ACID 来解决这个问题,即使在单节点模式下也是如此。 :)
-
一些 RDBMS 可以分片并拥有所有/大部分功能,不过(我听说是 MS SQL Server)。
-
@SergioTulentsev,DTC(分布式事务)呢?
-
@Rahul:微软软件?怎么样?
-
@SergioTulentsev,是的,不确定其他平台,但如果它是 .NET 框架,那么您可以实现 DTC。在这里阅读msdn.microsoft.com/en-us/library/windows/desktop/…