Web架构-如何有效地保存和恢复数据库快照


Web architecture - how to save and restore DB snapshot efficiently

我需要一些关于最好的方法来创建/保存/恢复数据库快照为网站后端。

以下是技术细节(但我猜答案可能与API无关):

    PHP框架:Kohana 3.*
  • MySQL 5.1

我的webapp可以比作一个简单的库存管理工具。DB包含有价格的产品。在某些时候,用户对这些产品执行操作(例如订单)。此时,仅生成包含相关项的DB的部分快照。之后,在主数据库中,产品可能会被删除或其价格可能会发生变化。

我的目标是存储这些快照,然后,稍后,使用为完整DB编写的代码恢复它们,以最小化代码开发和复杂性。

由于我的数据库最初在MySQL中,我计划将数据库的部分转储到文本文件中并压缩它。要恢复它,解压缩,并将其重新插入到另一个DB中(不要覆盖具有相同名称但属性已更改的项)。

  1. 这是一个正确的方式来创建和存储数据库的部分?还是聪明的设计能更有效地处理这些问题?
  2. Kohana特定:如何处理ORM和多个DB连接?对象只能绑定到一个DB。默认的DB连接似乎是在会话中指定的。不幸的是,一次似乎只允许一个会话……

谢谢!

查看minin任务迁移https://github.com/kohana-minion/tasks-migrations