2010-03-17 183 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