2013-10-28 61 views
2

有一個實驗室項目。多年保存實驗室數據(原始數據和相關信息)的需求。所以數據必須保存多年,但數據如此之大,每個原始數據大於10 GB。如果我們將原始數據存儲在SQL Server的filetable中並將相關信息存儲在正常的SQL Server表中,那麼在數月或數年後,數據庫的大小要比我們必須將某些歷史數據移出數據庫大得多。SQL Server的filetable是否適合存儲大文件(大於10 GB)?

也許我們可以使用向文件列表(存儲原始數據)的文件流文件組添加文件(在不同的硬盤上),但我覺得這不適合維護SQL Server。我們必須保持原始數據和關係信息的一致性。

實際上我們已經考慮用磁帶來保存歷史原始數據。我們希望使用硬盤來保存最新的原始數據並使用磁帶來保存歷史原始數據。當我們將歷史數據移動到磁帶時,我們將移動日誌記錄在表格中,以便我們可以知道歷史數據的移動位置,並儘快提取。

有我一個很好的建議:

  • 如何存儲的原始數據和相關信息?
  • filetable是否適合該場景?
  • 對於這種情況還有另一個好的解決方案嗎?
+0

我想說,將元數據存儲在數據庫中,將文件本身存儲在「其他地方」。這取決於你想如何,何時和多久使用它。我不應該將這些文件保存在數據庫中,但是您已經自己回答了這個問題。 – Alfons

+0

一個需求細節:我們有一臺機器(Xradia MicroXCT)來掃描樣品(如小石塊),在處理過程中我們將爲MicroXCT的控制系統輸入一些參數。由於參數對於MicroXCT的結果很重要,所以我們必須保存參數以及尺寸大於10 GB的MicroXCT結果(原始數據)._原始數據將在接下來的幾天或幾個月或幾年中處理,因此我們必須長時間保留原始數據和參數._ – huoxudong125

+0

原始數據是創建整個數據集的單個文件還是一系列文件? –

回答

1

這不是一個簡單的答案。 即使微軟不會回答你一個簡單的答案,請看這裏: http://msdn.microsoft.com/en-us/library/hh403405.aspx

我無法在filetables上回復。只要記住,你需要SQL 2012

根據我的經驗(如DBA):
- 在文件系統存儲是表演和更好:你可以使用不同的伊斯利存儲類型,不同的機器
- 在文件系統存儲是更適合備份:可以重複數據刪除,管理更好的壓縮等等。

真正的缺點是,如果你存儲在文件系統中,你會失去事務性。

我有一個類似的情況,文件高達一些GB:
我用一個關聯表來指定一些元數據和文件的位置。

相關問題