好了,故事是這樣的:當檢測數據已經改變
- 我有大量的文件(相當大,各地25GB)是在一個特定的格式,需要在數據存儲需要進口
- 這些文件連續數據,有時新的,有時同樣的數據
更新 - 我試圖找出我如何可以檢測,如果事情在改變特定線路的算法文件,以便最小化更新數據庫的時間。
- 它現在的工作方式是每次丟棄數據庫中的所有數據,然後重新導入它,但由於我需要時間戳來記錄項目發生更改,因此這種方法不再適用。
- 文件包含字符串和數字(標題,訂單,價格等)
我能想到的唯一的解決方案是:
- 從數據庫中的每一行計算哈希,它與文件中該行的散列進行比較,如果它們不同,則更新數據庫
- 保留2個文件副本,前一個和當前文件,並對其進行差異化(這可能比更新數據庫更快)並基於那些更新數據庫。
由於數據量非常巨大,所以我現在有些選擇了。從長遠來看,我將擺脫文件和數據將直接推入數據庫,但問題仍然存在。
任何意見,將不勝感激。
如果您要求計算整個文件的散列值,而不是整個數據庫的散列值,這對我無能爲力。但是如果你打算在數據庫中存儲每行的散列,是的,這是我想到的解決方案之一。我只是想知道這是否比通過比較元素和元素來判斷數據是否已經改變更快。 – hyperboreean 2010-07-19 07:37:04
+1用於暗示存儲上次修改日期和時間 – 2010-07-19 07:47:22
我沒有該文件中的任何時間戳。 – hyperboreean 2010-07-19 07:55:17