2010-03-17 131 views
1

我有一个问题,但我不确定要使用的单词。数据库共享/版本

我的问题:我有一个应用程序使用数据库来存储信息。数据库可以访问(本地)或服务器(SQL Server或Oracle)。我们支持这3种数据库。我们希望给用户提供可能性来做我认为我们可以称之为版本控制的内容。

让我解释一下:我们有一个数据库1.这是主人。我们希望能够创建一个与数据库1相同的数据库2,但我们可以将其提供给其他人。

他们每个人都在彼此工作,添加,修改和删除这个非常复杂的数据库上的记录。之后,我们希望数据库1包含来自数据库2的更改,但可以忽略一些更改。

对于您的信息,ou应用程序已经是多用户,那么为什么我们不使用这个多用户并忘记了这个版本?这是因为有时,我们需要将数据库的副本提供给另一个站点上的其他公司,并且他们无法连接到我们的服务器上。他们在他们身边工作,然后,我们想合并。

有没有人有这种需求的经验?我们有很多想法,但其中大多数都需要大量工作,对数据库或现有查询进行大量修改。

这是一个2百万个不断增长的C++应用程序,所以重写它是不可能的!

感谢您提供给我们的任何想法!

J-V

+0

这听起来像这样一团糟,一直在那里,祝你好运 – 2010-03-17 18:56:36

回答

0

术语之前将它们过滤你正在寻找一个方式是数据库复制。你可以谷歌获得更多关于该主题的信息(我的个人经验是有限的)。

+0

'但有可能驳回一些改变.'将是困难的 – 2010-03-17 19:14:51

+0

@KM:我怀疑他们会找到一个现成的产品。但文献应该给他们提供有关如何进行日志记录或检测更改以及在数据库节点之间移动更新信息的信息。已经有了2M行代码,这听起来像是他们愿意发展自己的解决方案。 – 2010-03-17 19:18:20

+0

我同意'怀疑他们会找到现成的产品。' – 2010-03-17 19:41:18

0

这已经被完成的iCal(旧的SunOS日历应用程序)。

当应用程序进行更改时,存储/记忆/传输的内容不仅仅是数据库内容,而是实际更改日志(例如“删除ID为1的记录”,“用这些字段更新ID为2的记录”, “插入与这些领域的记录”)

可以将这些变化,掌握数据库以后,和应用

+0

谢谢,这也是一个好主意。我们在我们的一个小应用程序上这样做,它的管理非常复杂,但它是一个寻找解决方案。 – 2010-03-19 11:29:46