跨多个物理节点对表进行分区

时间:2010-03-01 08:15:08

标签: sql-server-2008 data-warehouse database-partitioning

所以我目前正在开发一个涉及收集和存储一些大型数据集的项目(就我以前的工作而言)。数据基本上由元信息和实际值组成(其中值随时间变化趋势)。

元信息本身相对较大,但没什么大不了的,我可能会说它会在接下来的几年里增长1000万到5000万行。这对我来说似乎是可以管理的,如果它被正确索引(并且数据非常容易索引,边界非常明确),那么单个强大的SQL Server就足以提供对这些数据的快速访问... ...

然而,趋势数据是一个完全不同的故事。在一年之内,我们很容易每天吸引4000到5000万行,而且在接下来的3到4年里,这可能实际上每年增加一倍。

此趋势数据还具有非常明确的边界,可将其拆分为更易于管理的大小块。我希望我能设置某种分区机制,将这些数据分布在多个物理数据库节点上。数据基本上都包含在一个表中。我查看了SQL Server表分区,但找不到通过多个服务器传播数据的方法。

我的问题是,是否有一些“相对简单”的方法在多个物理节点上实现表分区。我也花了一些时间查看Sql Server PDW,但很难在线查找信息,我不想继续这样做,直到我确定没有简单的方法来实现这种解决方案使用内置的功能进入SQL Server。

非常感谢任何建议......

1 个答案:

答案 0 :(得分:1)

我不是这方面的专家,但我相信你可能正在寻找的是数据库'分片'。对分片here的问题和好处进行了有趣的分析。

最终,实施“分片”设计可能会非常昂贵,但如果您的数据在单个数据库中无法管理,那么这可能是一个很好的解决方案。

Wikipedia页面上还有少量信息,其中包含支持分片的软件列表(例如Hibernate ORM)