2011-03-14 48 views
8

我有一個由3個服務器組成的MongoDB「副本集」。 它存儲兩個數據庫,我想知道是否有可能只複製其中一個數據庫而不運行多個mongoDB實例(每個數據庫一個)。mongodb單個數據庫複製

這裏是「問題」

 Server1 Server2 Server3 
DB1  X   X   X 
DB2  X   X 

X代表所在服務器數據塊有被複制。

感謝

回答

6

我不相信這是可能的草圖。

與分片,其中指定下降到收集水平得到什麼分片,與副本集你定義一個給定的MongoDB 例如是副本集的一部分。由於副本集中只有一個節點可以在任何給定的時間成爲主節點,所以根據你所談論的情況,那麼如果例如這樣的話,會出現問題。 Server1關閉,Server3升級到主服務器 - 因爲DB2將無法寫入。

4

我有一個simliar問題,並發現一個非常簡單的解決方案在JavaScript中執行一個mongo殼。

源代碼可在這裏: http://www.suenkel.de/blog/2012/02/mongodb-replicate-one-database-or-collection/

隨着對主服務器的OPLOG每個操作可以應用到另一臺服務器(當然你也可以通過集合甚至數據庫的名稱空間濾波器打開tailable光標...)

+0

你可以發佈解決方案,而不是鏈接?鏈接死了渲染你的答案沒用... – Azarus 2017-10-28 02:09:25

相關問題