2013-04-20 154 views
0

首先,我不得不說,我無法確定它是否調用系統日誌或系統歷史。用於記錄系統日誌或歷史記錄的數據庫

我要實現一個需要填寫各種表格的web系統,我打算出來一張表記錄下所有單步插入,更新,刪除包括舊數據和新數據。

我做了一些研究,但無法弄清楚頭腦。希望有人能給我一個指導。謝謝。

下面是我的表格結構。

systemlog

Id (Pk) 
editedby (int) 
Module (var) 
oldValue(text) 
newValue(text) 
changeon(datetime) 

讓利說所有的輸入

Array 
(
    [column1] => male 
    [column2] => beach 
) 

我打算使用PHP的序列化來保存所有的表單數據庫。

我的問題

  1. 連載是保存所有數據很好的解決方案?
  2. 這個db結構足以恢復數據嗎?
  3. 任何建議

**我使用PHP框架laravel和MySQL。

謝謝。

回答

1

您的方法對我來說很合適。您的系統日誌表可能會變大並且會有大量寫入。你應該小心,你選擇像InnoDB這樣的非阻塞引擎,最終甚至是archive engine

在一個像ArangoDB這樣的模式免費數據庫中,您不需要序列化數據,只需保存不同版本的副本,對於MySQL而言,我並沒有比序列化數據更好的想法。

+0

傑米感謝您的意見。對不起,我是數據庫新手,因爲我只使用過mysql。可以給我建議,使用db如arangodb或mongodb更好嗎?由於我的db可能沒有高頻率使用,但重要的數據保存。 – Raywin 2013-04-23 02:59:13

+0

從我的觀點來看,無模式數據庫對於開發很好,所以看看你是否有一些時間來學習新東西。但在你的情況下繼續使用MySQL是絕對沒問題的,因爲你的序列化數據只用於備份目的,它不是應用程序的核心。 – herrjeh42 2013-04-23 21:31:12

+0

傑米,謝謝!我很感激你最好的回答和建議。我將花費一些時間爲模式免費數據庫。 – Raywin 2013-04-24 07:54:04