2012-03-31 65 views
0

我保存在數據庫而不是日誌中的所有事務,但我不希望表得到巨大和緩慢,所以我想創建一個cron作業做一些事情每過一個月,如:對硬盤驅動器紅寶石/ Bash腳本來備份我的表和刪除記錄

1備份表 2 - 移動所有記錄到一個新的表像table_backup 3-刪除該表上的

這種方式在記錄箱插入將花費大量的時間與巨大的桌子,表將被釋放每隔幾個月

請並不是說我正在使用有效記錄模型的紅寶石來訪問數據庫表,你認爲做這種事情的最佳方式是什麼,並且有什麼替代方法可以提供我所建議的?

回答

1

我建議如下:

  1. 冗餘 - 這取決於你的數據是如何關鍵的是,你可能需要冗餘存儲(例如,主從數據庫設置,或者RAID設備上的數據庫)
  2. 備份 - 每小時/每日/每週備份(再次,取決於維護這些備份的重要性,您可以承受多少空間,您獲得的流量以及影響是什麼在數據庫上)整個數據庫。
  3. 截斷 - 有一個cron任務(查看whenever寶石,這使得這很容易),刪除所有超過某個閾值(2周?)的條目。無需爲了刪除舊條目而填充新表。

我相信這些方法是正交的,所以你可以選擇適合你的任何一個,或者首先實施重要的方法。

+0

Orthogonal?你的意思是他們有8方? – pguardiario 2012-04-01 06:15:54

+0

對不起,我應該說'octocatogonal',就像github-worthy一樣。 – 2012-04-01 19:07:09