2

有一个实验室项目。保存实验室数据(原始数据和相关信息)以供研究多年的要求。所以数据要保存好几年,但是数据太大了,每个原始数据都超过10GB。如果我们将原始数据存储在 SQL Server 的文件表中,并将相关信息存储在一个普通的 SQL Server 表中,几个月或几年后,数据库的大小已经大到我们必须将一些历史数据移出数据库。

也许我们可以使用将文件(在不同的硬盘中)添加到文件流文件组中用于文件表(存储原始数据),但我觉得这不适合维护 SQL Server。我们必须保持原始数据和关系信息的一致性。

事实上,我们已经考虑使用磁带来保存历史原始数据。我们想用硬盘保存最新的原始数据,用磁带保存历史原始数据。当我们将历史数据移动到磁带上时,我们将移动日志记录在一个表中,以便我们可以知道历史数据被移动到哪里并尽快将其取出。

对我有什么好的建议:

  • 如何存储原始数据和相关信息?
  • filetable 是否适合该场景?
  • 这种情况还有其他好的解决方案吗?
4

1 回答 1

1

没有一个简单的答案。甚至微软也不会用简单的答案回复您,请参见此处:http: //msdn.microsoft.com/en-us/library/hh403405.aspx

我无法回复文件表。请记住,您需要 sql 2012。

根据我的经验(作为 DBA):
- 存储在文件系统上更适合性能和成本:您可以轻松使用不同的存储类型,不同的机器
- 存储在文件系统上更适合备份:您可以删除重复数据,管理更好的压缩等等。

真正的缺点是,如果你存储在文件系统中,你会失去事务性。

我有一个类似的场景,文件高达一些 GB:
我使用相关表来指定一些元数据以及文件的位置。

于 2014-01-14T14:01:07.270 回答