SQL Server 2008 的任何分片功能?
3 回答
在codeplex中检查这个项目。
SQL Server 和 SQL Azure 分片库
该库提供了一种 Shard 技术,可让您轻松地将数据库查询负载分散到多个数据库(SQL Server 和 SQL Azure)上。使用任务并行库 (TPL) 和缓存来实现高性能。
我想说 SQL Server 和 SQL Azure Shard Library 没有分片。在我看来,分片涉及在节点在线时重新平衡节点上的数据,而上述只是在数据库中爆破 SQL 并收集结果。重新平衡数据仍由您自己决定。
Gizzard 似乎是分片的(包括数据的重新平衡),尽管它是基于 JVM 的。https://github.com/twitter/gizzard
我仍然没有找到使用 .Net 和 SQL Server 进行分片的好选择。
是的,它支持分片,但不像 NoSQL。
NoSQL:NoSQL 分片数据基于行,即假设 DB 表有 100 行,那么 DB1 可以有 40 行,DB2 可以有 60 行,因为我们知道 NoSQL 中存储的数据以颓废的形式存储。
SQL:在 SQL 中,您不能轻松地对表数据进行分片,当您对表进行分片时,您必须将其引用表也保存在单个 DB 中。
假设我们在一个城市有多家商店,那么每个商店出售的产品可以是不同数据库(即分片)中的商店,但产品表可能引用城市中的所有商店,即每个商店可能需要所有产品的完整列表。