2017-05-24 84 views
1

tokumx和mongodb不兼容;您無法構建混合副本集,因爲它們具有不同的存儲引擎並使用不同的複製語言。但PSMDB似乎已經縮小了這個差距(至少可插拔存儲引擎,這可以讓wiredTiger)。這是否意味着它們現在也可以混合使用(即,複製語言的差異是否也得到了糾正?)我問,因爲我已經有了一個非常古老的tokumx系統,並且有重要的數據,並且必須將它帶入一個mongodb集羣,但是似乎沒有簡單的方法來做到這一點。如果我可以遷移tokumx-> PSMDB-> mongodb,那太棒了!任何幫助,將不勝感激!單個副本集中的Percona PSMDB和MongoDB節點?

+0

這個問題很有用,但是對於DBA StackExchange來說,這個問題會更多。 – Stennie

回答

0

我已經有了一個非常古老的tokumx系統,上面有重要的數據,並且必須把它帶入一個mongodb集羣,但似乎沒有簡單的方法來做到這一點。

TokuMX的複製協議與MongoDB或Percona服務器不兼容,因此從TokuMX遷移不幸需要轉儲和恢復數據。在複製之外,還有一些不兼容的TokuMX索引選項要在恢復到MongoDB之前刪除。

請參閱Migrate from TokuMX to Percona Server遷移方法&腳本來幫助解決這個問題。

如果我可以遷移tokumx-> PSMDB-> mongodb,那太棒了!

如果您的目標是遷移到MongoDB社區版或企業版,則通過PSMDB進行中間遷移不會帶來任何好處。 PSMDB使用來自上游MongoDB社區服務器的複製代碼,但不提供TokuMX的任何特殊遷移路徑。

+0

感謝您的回答,@Stennie。你是否說PSMDB不能與MongoDB節點處於同一個副本集?我在想,如果我至少可以將一個tokumx節點升級到PSMDB,那麼我可以將該PSMDB節點放到一個帶有mongodb節點的混合副本集中,同步mongodb節點,然後離線PSMDB節點(並折騰它) 。你是說這是不可能的? – dakshang

+0

@dakshang TokuMX的複製與MongoDB或PSMDB都不兼容,所以這兩者中任何一個的遷移方法都是相似的。如果您的最終目標是遷移到MongoDB,PSMDB不提供任何快捷方式,所以我會跳過這一步,並使用TokuMX遷移腳本將數據直接加載到MongoDB中(即在指令中將MongoDB替換爲PSMDB)。假設您具有兼容的MongoDB和PSMDB服務器版本,則可以使用混合副本集,但對您嘗試實現的內容無幫助。 – Stennie

+0

Thx @Stennie。我想我們幾乎在那裏。看起來我們不在同一頁面上(我已經閱讀過關於所有這些的白皮書和其他文檔),所以讓我把這個問題歸結爲一個是/否的問題:問:「PSMDB節點是否可以是混合PSMDB/MongoDB副本集「(它看起來像你最後一個評論的答案是肯定的)? – dakshang