2013-10-29 26 views
2

我有一個Mongo羣集支持我在生產中使用的應用程序。這對我的業務非常重要,並通過多個機箱進行集羣以優化速度和冗餘。我想讓所述羣集中的數據可用於運行分析查詢和入隊任務,但我絕對不希望這些數據損害生產性能。是否有可能將我的所有數據都鏡像到一個盒子中,然後使用一些特殊的標記將其插入羣集中,然後我可以將它用於分析?如果速度很慢,這很好。我只是希望它很便宜,不會影響生產讀寫速度。鏡像製作Mongo Data for Analytics

+0

是您製作mongod複製套件的一部分嗎? –

+0

@AsyaKamsky:是的。 – Eli

回答

1

既然你在談論冗餘,我假設你有一個副本集。

在這種情況下,您可以使用hidden replica set member來執行所需的計算。

請記住,會員數必須是奇數。如果你添加一個節點,你可能還需要添加一個仲裁器。或者,也許你可以隱藏一個已經存在的成員。

0

如果您正在尋找一種提高查詢速度並獲得大量數據的方法,那麼您必須尋找into sharding with mongodb。基本上它將大量的數據分成小碎片並將它們存儲在不同的機器上。

如果您希望增加冗餘(爲了進行備份或能夠在不接觸主服務器的情況下執行脫機處理),您必須查看replication with mongodb。如果您正在進行復制,請記住複製副本上的數據總是落後於主節點(無需擔心,但只需知道這一事實即可決定是否允許從副本讀取數據)。正如Rafa指出的那樣,hidden replica sets非常適合備份和離線數據處理。他們仍然能夠從主要數據中獲得所有數據(具有較小的滯後),但對於二次讀取而言不可見,並且不能成爲主要數據。

有一個不錯的mongodb course正在深入談論複製和分片,所以可能是值得傾聽和嘗試它。

+3

這與所問的問題完全不相關 - 他不想處理更多數據,他想要處理現有數據的附加查詢模式。 –