【问题标题】:Conceptually, how does database sharding differ from a federation从概念上讲,数据库分片与联邦有何不同
【发布时间】:2012-04-06 08:51:43
【问题描述】:

谁能提供以下之间的关键概念差异:

  1. MongoDB 分片
  2. SQL Server 联合实例。

它们看起来非常相似,但我不知道我是否遗漏了什么重要的东西。

谢谢。

【问题讨论】:

  • 分片是将一组数据拆分到不同的服务器上,而联邦是一组人类、火神人和安多利亚人。
  • 是的,但不是我想要的答案!
  • @AlexHowansky 我不知道我是否应该举报或投票,也许我可以两者兼得。

标签: sql-server mongodb sharding


【解决方案1】:

在高层次上,它们是相似的。

  • 在 MongoDB 中,您有多个“副本集”,您可以跨这些集“分片”数据以实现水平可扩展性。
  • 在 SQL Server 中,您可以在服务器之间使用“复制”,然后在复制的服务器之间提供“分区视图”以实现水平可扩展性。

最大的区别在于实现和技术本身。例如,SQL Server 支持连接,实际上有一些跨服务器连接的逻辑。 MongoDB 没有连接的概念,也没有提供这种逻辑。

两个系统都使用某种形式的分区键来对数据进行分区。 SQL Server 需要应用程序级逻辑来将查询发送到最佳节点 (colocating)。 MongoDB 提供了一个路由程序mongos,它可以正确路由分片查询,而无需额外的应用程序逻辑。

还有平衡的问题。 MongoDB 提供自动平衡,因此如果一个分片数据过载,其中一些数据将被发送到其他节点。使用 SQL Server,您必须手动定义分区和它们所在的服务器。

显然还有很多其他细节,但这看起来像是高级别的差异。

【讨论】:

  • 谢谢盖茨,很好的回答。关于连接的公平点,但数据很容易被隔离,所以这不是问题。
猜你喜欢
  • 1970-01-01
  • 2013-11-26
  • 2019-06-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2013-05-08
  • 2014-03-09
  • 1970-01-01
相关资源
最近更新 更多