簡體   English   中英

記錄ActiveRecord模型更改

[英]Log ActiveRecord Model changes

我正在嘗試找到一種方法,以一種有效且“更智能”的方式來跟蹤模型更改,該方式目前我正在做。

我有大約80.000個對象的數據庫,該對象每小時更新一次。

目前,我正在使用paper_trail gem進行版本控制。 類似的解決方案還有auditedvestal_versions等。

從一開始就清楚的是,我的數據庫將會很大。 但是僅用了3天,我的數據庫就已經有1.2GB的大小,有5個表。

我基本上需要跟蹤對象的3-4個變量,並在一個月的時間內跟蹤它們。 這意味着大約720個版本(每小時1個版本)。

一種有效管理此類數據的好方法是什么? 例如,創建15個變量並使用2天的數據填充它們是否明智? 那將意味着相同數量的數據而沒有額外的行。 一開始我有這些想法,但是我不知道那是一個好主意。

您還會建議我其他什么方法? 處理如此大的數據集有哪些好的做法?

# Further Information:

- Ruby on Rails 4.1.4
- Ruby 2.1.2
- PostgreSQL 9.3.4

All attributes are integers

保持這種方式怎么樣? 您說您需要一個月的數據。 三天1.2 GB表示月底有12 GB數據。 這看起來可能很大,但是對於MySQL或Postgres或其他任何東西,則不是。 換句話說,這到底是什么問題(一個大數據庫不是一個)。 它會影響您的表現或其他嗎?

修剪你能做的 如果只需要一小部分,則僅使用所需變量創建自定義審核日志。 如果這是出於度量目的,那么720行肯定不會占很多空間。 另一個選擇是已經將它們合並為統計信息(例如,每天進行版本,在一周結束時進行匯總並刪除每日數據,然后重復)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM