在100 MB上,我會說你應該不會在存檔上花太多時間,而只是使用傳統的備份策略。數據庫的大小非常小,歸檔過程相當複雜,收益甚微,因爲歸檔過程通常只與大型數據庫相關。
一般來說,數據庫術語的備份是一種在發生災難時(意外數據刪除,服務器崩潰等)提供可恢復性的方法。歸檔通常意味着您對數據進行分區。
歸檔的一個可能的目標是保持特定的數據可用於查詢,但無法修改它。在處理大量數據庫時,這是提高性能的極好方法,因爲只讀數據可以比「熱」數據更密集地索引。它還允許您將只讀數據移動到針對READ操作進行了優化的獨立RAID分區,而不必擔心典型的RDBMS IO。另外,通過從常規數據庫中刪除非活動數據意味着表中包含的數據大小會減少,這應該會提升整個系統的性能。
歸檔通常是出於法律原因。相關數據可能對業務不再重要,但IRS或銀行業務規則要求它在一段時間內可用。
使用SQL Server,您可以使用partitioning策略存檔數據。這通常涉及到根據哪些標準分割數據。一個例子可能是一個日期(即3年前的數據將被移到數據庫的歸檔部分)。在龐大的系統的情況下,根據地理標準(即,一個服務器上的美洲,另一個上的歐洲)分割數據也可能是有意義的。
回答您的問題:
1)請參見上述說明中 2寫的)這真的取決於升級的目標。將其移至.NET將使代碼得到管理,但對於業務來說有多重要?3)如果您確實決定進行分區,驗證它的工作原理可能包括對原始數據庫發出查詢,以查找包含用於分區的閾值之前和之後的值的數據,然後分割數據並重新發布之後進行查詢以驗證它是否仍然返回相同的記錄集。如果您將系統配置爲使用automatic sliding window,則還可以留意系統以確保數據將自動移至歸檔分區。
再說一次,如果100MB不是拼寫錯誤,我認爲你的數據庫太小而不能真正從存檔中受益。如果您的目標是加快速度,請將系統放在可將整個數據庫加載到RAM中的服務器上,或者使用SSD驅動器。
如果您出於法律或行政原因需要建立數據存檔,請分別進行水平表分區。這是一個非常直接的過程,主要由SQL Server自動處理。
希望這可以幫助你!
感謝您的時間和答覆。這真的很好。我必須閱讀其中的一些概念。其中一些對我來說是新的。這真是一個很好的解釋。一旦我對這些事情中的一些事情非常清楚,我會回到你身邊! – user1687824 2013-02-20 09:59:56