2009-11-16 56 views
1

我們的應用程序需要大量數據,其中大部分數據稱爲事務,主要是時鐘輸入和輸出員工信息,其中大部分信息都被處理並存儲在另一個表中。多年來,這些數據可能會增長。我正在考慮將備份數據轉換爲文本文件,並且如果從這些文本文件導出它們,導出將從數據庫中清除數據。現在,數據處於可以歸檔等文本文件中。這是我看到的其他軟件的想法......那你的建議....C#大數據備份策略來釋放數據庫

幾個點:

  • 我會獨自離開數據庫,因爲它可以或不可以有dba,並且涉及數據庫可能有很多解決方案。當我們將應用程序部署到客戶時,我最不想與dba交談,並參與討厭的東西......所以我可以告訴他們一年後,「嘿數據庫的大小太多了」,所以現在只需轉儲到文本或XML文件,並清除表是一次解決方案。報告運行了另一個主表..我想在長就像在4年內運行一樣,我可能有一個龐大的數據庫,並且表中有大量的事務處理,因爲員工在每個時間輪班X次,每次輪班時間在blaaahhh X ...所以如果他們可以按照每月或每過一個月的文本文件轉儲。 ..即
+0

您使用的是哪種類型的數據庫。什麼OS?這是重要的信息。 – captncraig 2009-11-16 18:17:32

+0

另外,您是否有DBA或必須充當DBA的開發人員? 根據您對之前評論的回答:您是在談論桌面軟件或RDBMS(如SQL Server,Oracle,MySQL等)中的嵌入式數據庫。 此外,這是您銷售的產品,還是僅供您使用的內部應用程序? – jeffa00 2009-11-16 18:23:16

+0

WINDOWS,數據庫可以是任何主要的oracle或sql服務器 – abmv 2009-11-17 05:35:53

回答

0

我會嘗試根據您的環境的具體情況將我的答案分爲兩個變體。

    在沒有DBA應用程序
  1. 嵌入式數據庫 - MS訪問,伯克利DB等
  2. 網絡RDBMS(有或沒有DBA) - SQL服務器,Oracle,MySQL和等

我的直覺反應是基於你說的話是因爲你沒有DBA。

在第一種情況下(沒有DBA的嵌入式數據庫),然後導出到文本文件很好。你可能會考慮XML,因爲它幾乎包含了它的元數據內聯和純文本。這可以在一定程度上對未來進行證明,因爲一個新人可以很容易地找出歸檔數據中的內容。你會想要建立你想要保留數據多久以及應該銷燬數據的準則。如果你是一家上市公司,可能有你需要尊重的法律。

在第二種情況(聯網RDBMS)中,您應該遵循DBA保留數據。 DBA應該有一個計劃。如果你沒有DBA,那麼你有幾個選擇。

你可以去你的想法導出文本文件。你可以對錶進行分區並分區分區(這取決於RDBMS的方式 - Oracle是表空間,SQL Server是文件組,我不知道MySQL)。您可以將第二個數據庫作爲存檔數據庫或實際數據倉庫。

另一種選擇是引入合同DBA來幫助分揀。

1

我認爲這取決於您需要如何訪問舊數據。

如果您只需要對舊數據運行定期報告,則可以將數據移動到單獨的歸檔數據庫中。基本上,只需創建一個現場生產數據庫的副本。在副本中,只需刪除您希望保留在實時系統中的最近條目。在實時生產數據庫中,刪除將保留在存檔數據庫中的數據。您從本質上修剪您的數據庫並將舊數據移入您的存檔數據庫。我已經使用這種技術與供應商的時間編寫應用程序,每隔幾年就會減慢抓取速度,因爲它不是用來保存存儲在其中的數據量的。 Fortunatley,我們可以將應用程序指向我們運行報告所需的任何數據庫。

0

許多數據庫都可以完成這項工作。我可以提到Firebird SQL誰擁有良好的C#提供商

+0

它不是關於你如何做它關於stategy – abmv 2009-11-17 05:45:41