我正在使用MySQL在Laravel 7中开发CRM。在其中,我有一个有客户的订单。 我想做两件事:
过去,我使用的_history表具有与原始结构相同的结构,_snapshot表仅具有更改(例如:id_snapshot,id_customer,列,值,日期),数据快照(例如客户数据)在mysql中为json格式。
但是我不知道什么是最好的可扩展解决方案。
答案 0 :(得分:0)
基本上,存储此数据的SQL可能是一个好方法。您可以想象在像AWS RDS这样的云提供商上使用可扩展的MySQL实例。
另一种可能的方法是使用NoSQL数据库,例如MongoDB或Elasticsearch。它更易于扩展,特别适合JSON数据。
如果对性能的要求不高,您还可以使用Firebase等100%SaaS服务,甚至将JSON数据存储在S3服务上。
答案 1 :(得分:0)
您可以使用触发器的历史记录表自己实现这种审核框架。直到最近,这才是最明智的方式。但是,既然MariaDB实现了一个称为“时态表”的功能,它将为您重新发明轮子:
https://mariadb.com/kb/en/temporal-data-tables/
它使您可以查看过去任何时间点的数据。