我有几个Sqlite数据库,每天都会更新。所以我需要每天备份,以防万一发生任何崩溃,以便我可以恢复。但是,每天备份整个数据库的成本很高,因此我正在考虑进行增量备份(仅在两个不同日期之间备份这些信息)。
目前我的数据库更新过程是在Perl中完成的,所以我想知道:有谁知道如何使用脚本在Perl/Matlab/Java中执行增量数据库备份/恢复?
谢谢!
你的真诚,乔.
-
在表中存储每行更改时的时间戳(将其称为
change_timestamp
列)。 -
不要删除行 - 而是用"D"已删除状态标记它们。这样,您就不必断头/后退来找出自上次备份以来删除了哪些行。
-
有一个"备份时间"表
-
运行备份时:
-
将当前运行时间保存到"备份时间"表中
-
从"备份时间"表中检索最后 2 行(如果<2 行,请执行完整备份)
-
备份主表行,其中
change_timestamp
位于 2 个最后备份时间戳之间。
-
您可以通过明智地使用审计表来执行#1/#2,但这有点困难。