2011-08-17 102 views
2

注意:我的問題在最後一段。PHP,MySQL:關於如何「同步」兩個數據庫的問題

我有多個文件的來源插入到數據庫(稱之爲進程/數據庫A)。這些文件包含相同類型的信息,但格式不同(即不同的列標題,訂單,列數等),但是當流程A將它們放入統一表格中時,它很好,很整齊。我需要將來自多個源的數據插入到另一個數據庫(進程/數據庫B)中,但我不確定這樣做的最佳方式是什麼。數據庫B是我們使用的軟件的一部分。它不是開源的,但可以建立數據庫連接。

我們已經有流程A運行了一段時間。流程B對於改善倉庫的物理工作流程而言是新東西。我認爲,因爲數據已經在流程A中統一了,所以我認爲我應該把這個統一數據插入到B中。這將爲我省去重複處理B所有內容的重複性工作。

我的問題是,如果我想「同步」這兩個數據庫,那麼最佳方法是什麼?我想這不完全是「同步」,因爲這兩個表(只需要引用每個數據庫中的一個表)具有不同的列。我看到了這些方法..

  1. 檢查整個數據庫,並從數據庫A中插入數據庫插入新數據。但是,DB B有超過5萬行。數據庫A更小,增長緩慢。

  2. 讓用戶輸入從中尋找新的數據行從A到插入B.

  3. 檢查的最後日期(數據行的日期)在DB B,並相應地插入日期。

你們有什麼建議嗎?我不太熟悉MySQL的處理速度,所以我不確定方法1是否是一個好的選擇。我也不確定這些類型的任務有哪些約定(如果有的話)。我想這不是一件太不常見的事情。但是(1)似乎是一種更完整的做事方式。任何意見或替代選項表示讚賞。我想保留在PHP中的東西,因爲它將是一個Web應用程序的功能。 TIA!

回答

1

使用MySQL集羣 一下:http://en.wikipedia.org/wiki/MySQL_Cluster

+0

,看起來有點複雜,我的PHP MySQL的知識水平。而且,上面提到的數據庫B是商業軟件的一部分。不支持插入外部數據(但不應該干擾軟件)。除了在數據庫中的一個表上插入數據外,我無法真正干預它。 – musicliftsme