2017-07-26 63 views
0

試圖讓我的頭腦圍繞最佳實踐進行全面更新。使用nosql大規模更新所有數據

場景示例是,如果我將每個文件的文檔存儲在硬盤上。一個進程每日更新所有的文件信息。沒有需要保留已刪除文件的歷史記錄,文檔可以繼續。

清楚地查詢每條記錄會效率低下,並且不會覆蓋已刪除的文件(數據流只是一種方式)。

所以我猜這個選項有:

1)存儲所有的記錄與時間戳,然後刪除所有昨天的記錄

2)刪除數據庫,但我會失去我的所有意見等

3)其他?

回答

1

沒有歷史需要保持刪除的文件

,如果你使用一個數據庫,每次你會刪除你的文件的時候,它會保持你的文檔的墓碑(不使用很大的空間,但仍...)

這裏的解決方案,我會用:

  1. 創建設計文件模板數據庫。保持你的觀點。
  2. 創建一個腳本,執行以下操作:

    • 創建與今天的日期數據庫
    • 複製_design文檔從模板數據庫
    • 您的數據添加到數據庫

有了這個解決方案,每天都可以從CouchDB中完全刪除內容。