【发布时间】:2010-08-25 07:10:19
【问题描述】:
我们有一个应用程序,它的元数据信息存储在数据库中(一些表之间有关系)。元数据可以通过 Web 应用程序进行编辑,也可以直接操作 SQL Server 数据库中的值。
问题:元数据发生变化,需要在不同环境(测试、登台、生产等)之间进行合并。有一些工具(例如 RedGate)可以提供帮助,但如果正在使用自动生成的 ID(就像现在在我们的数据库中一样,是的,一种方法是使用自然键使比较更容易)来比较数据库仍然需要做很多工作)。
但是,我们的元数据可能不一定存储在 SQL 数据库中 - 它可以作为文档存储在 NOSQL 数据库(MongoDB、CouchDB、RavenDB)甚至简单的 XML 数据库(可能是 Berkeley DB XML?)中。存储为 XML 文件似乎可行(因为它更容易比较和合并文件而不是数据库)但可能不是一个好的选择,因为需要一些并发机制和某种程度的事务支持。 我们不需要复制到其他服务器,不需要高可用等。
存储数据的要求:
- 某种酸
- 应该在 Windows 上运行
- 轻松比较(双向同步)
- (可选)GUI 以查看数据库中的内容
- (可选)导出到文件(JSON、XML)
有哪些选择?
【问题讨论】:
标签: database synchronization nosql