用于记录系统日志或历史的数据库


database for record system log or history

首先我必须说对不起,我不知道正确的是调用系统日志还是系统历史。

我要实现一个web系统,需要填写各种表格,我计划拿出一个表来记录所有的单一步骤,如插入,更新,删除,包括旧数据和新数据。

我做了一些调查,但还是想不清楚。希望有人能给我指路。谢谢你。

下面是我的表格结构。

systemlog

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

假设所有输入都是

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

我计划使用php序列化将所有表单保存在数据库中。

我的问题

    序列化是保存所有数据的好方法吗?这个数据库结构足够恢复数据吗?任何建议

**我使用php laravel框架和mysql。

谢谢。

我觉得你的方法不错。您的系统日志表可能会变得很大,并且有很多写入操作。您应该注意选择像InnoDB这样的非阻塞引擎,最终甚至是归档引擎。

在像ArangoDB这样的无模式数据库中,你不需要序列化数据,只需要简单地保留不同版本的副本,对于MySQL,我没有比序列化数据更好的主意了。