【发布时间】:2011-11-24 10:29:57
【问题描述】:
我有一个客户,其数据结构如下……对于每个患者,可能有多个样本,每个样本在处理后可能有 400 万个数据对象。每个患者的最大样本数为 20。因此,单个患者最终可能有 8000 万行数据,当然最终会有数百个患者。
在建立一个数据库来存储对象(每个对象包含大约 30 个统计和测量字段)时,挑战非常明确 - 如何管理如此大量的数据?
我在想我应该有一个数据库,每个样本都有一个表 - 所以每个表最多可能有 400 万条记录。
我的一位同事提出了一个有趣的建议,即更进一步——为每个患者创建一个新数据库,然后为每个样本创建一个表。他的想法是,每个患者有 1 个日志,能够以每个患者为基础移动数据库等是很好的。我不能不同意他的观点。
这合理吗?出于某种原因,拥有许多数据库是不是一个坏主意?
想法?谢谢!
【问题讨论】:
-
您将对这些数据进行何种类型的搜索/查询?关系数据库引擎旨在处理单个表中的数百万行......但如果您每次访问数据库时要拉回 400 万行,您可能想要使用 RDBMS......也许是什么像 MongoDB 或 Apache Cassandra 这样面向文档?
-
@bobweinholt 所以我唯一需要对这些数据做的就是运行统计数据。大多数统计数据很简单(平均值、模式、标准差等),有些可能更高级。所以我在想 SQL CLR 或 T-SQL。但我永远不需要将所有数据拉出来。它只是为了存储计算。
标签: sql-server sql-server-2008 database-design large-data-volumes