MySQL表历史记录和快照的最佳方式[关闭]。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL表历史记录和快照的最佳方式[关闭]。相关的知识,希望对你有一定的参考价值。
我正在用Laravel 7和mysql开发一个CRM。在其中我有一个客户的订单.我想做2件事情:
- 让订单总是指向客户数据, 从它被创建的地方开始
- 存储客户的历史信息(来自客户表)。
过去我用过_历史表,结构和原来的表一样,_快照表,只有变化(如:id_snapshot,id_customer,列,值,日期),在mysql中用json格式的数据快照(如客户数据)。
但我不知道什么是最好的可扩展的解决方案。
答案
基本上, 为这些数据存储SQL可能是一个好方法. 你可以想象在AWS RDS等云提供商上使用一个可扩展的MySQL实例。
另一种可能的方式是使用NoSQL数据库,如MongoDB或Elasticsearch。它更容易扩展,特别适合JSON数据。
如果对性能没有要求,你也可以使用100%的SaaS服务,比如Firebase,甚至将JSON数据存储在S3服务上。
另一答案
你可以自己使用触发器和历史表来实现这种审计框架。直到最近,这将是最明智的方式。然而现在,这相当于重新发明轮子,因为MariaDB实现了一个叫做时态表的功能,可以为你实现这个功能。
https:/mariadb.comkbentemporal -data -tables(临时表)
它可以让你看到过去任何时间点的数据。
以上是关于MySQL表历史记录和快照的最佳方式[关闭]。的主要内容,如果未能解决你的问题,请参考以下文章