我們計劃從mysql遷移到mongoDB。我想知道是否有工具或任何其他資源可以幫助我創建遷移計劃。例如(與公司的表格,應先移動,然後再移動用戶的詳細信息等),以便遷移可以順利進行。從mysql遷移到MongoDb,任何有助於創建遷移計劃的工具
回答
你不能簡單地將你的MySQL模式遷移到MongoDB(或任何其他文檔數據庫存儲)。你將如何存儲數據是完全不同。請記住,沒有連接,並且您很可能需要對數據進行非規範化處理,並將某些數據嵌入到其他文檔中。這不是可以自動化的東西。
這裏的數據庫有着根本性的不同。你需要從應用程序方面看你如何讀寫數據,你在哪裏進行連接,如何最好地構建新的模式以使其工作與 MongoDB,而不是像使用RDBM那樣糟糕地使用它。在「MongoDB模式設計」上搜索以獲得您需要考慮的事項的概述。
感謝您的洞察力。我想,我沒有正確發佈我的問題。我想問的是,當你的應用程序從一個數據庫遷移到另一個數據庫時,除了基於數據庫性質的模式更改之外,它們是如何遷移的任何規則。例如,如果您有100個表格,您可能需要先慢慢遷移每個表格,那麼如何選擇這個表格,一種方法是首先遷移最不相關的表格,我們也有類似的其他規則。我並沒有考慮將表格遷移到集合,而是其他的東西。 –
首先,你必須知道你的表和查詢的關係。
根據外鍵關係分組您的表。也許有一些組只有一個表。你可以先遷移這些。因爲這很容易。例如:日誌,訪問者數量。
然後在一個組中的2個表。
- 如果關係是
1:1
,您可以簡單地將它們合併到一個表中並進行遷移。 - 如果
1:n
,您可以將n
一邊嵌入1
一面。但合併(嵌入)或不應該根據您的查詢。例如:如果兩個關係表1:1
之間的關係永遠不會被一起讀取,那麼您可以直接遷移到MongoDB而不需要合併。 - 雖然
n:m
可以用MongoDB實現,但是你必須自己管理大量的冗餘數據或者處理join
。但如果你真的想要這樣做,那沒關係。但表現可能是一個問題。
- 如果關係是
如果一個組中的表的數量> = 3,我認爲您應該在大多數情況下將它們保留在MySQL中。但是仍然有一些例外。我最近處理了3個與
1:1
和1:n
關係的表,並且我將它們合併並嵌入到一個表中,這很容易,性能更好。
非常感謝您的幫助。 –
- 1. 從Oracle遷移到MySQL的工具
- 2. 從DB2遷移到MySQL的工具
- 3. 將CF8計劃任務遷移到CF10
- 4. 我想使用Mysql遷移工具包,將MS SQL遷移到MySQL,但找不到遷移工具包
- 5. 是否有一個好的批量遷移工具從Firebird遷移到MySQL?
- 6. 將mongodb遷移到mysql?
- 7. 使用EnterpriseDB遷移工具將MySQL數據庫遷移到PostgreSQL
- 8. 的SQL Server到MySQL遷移工具
- 9. 遷移到MYSQL數據庫的工具
- 10. 將Etherpad DB從MySQL遷移到Mongodb
- 11. 從MySQL遷移到MongoDB - 最佳實踐
- 12. 從MongoDB遷移到Firebase
- 13. 從Firebase遷移到NodeJS MongoDB
- 14. 從MongoDB遷移到HBase
- 15. 從SQL遷移到MongoDB?
- 16. 從MS SQL遷移到MySQL:SQLOLEDB?遷移工具包登錄錯誤?
- 17. Db2到MongoDB遷移
- 18. MongoDB的數據遷移工具
- 19. 遷移輔助工具不工作
- 20. MySQL來MongoDB的數據遷移計劃的高層次
- 21. 遷移到mysql
- 22. 燒瓶遷移不創建遷移
- 23. SQL遷移工具
- 24. 遷移從MySQL到SQLite的
- 25. 從Verity遷移到Solr的工具
- 26. 從SVN遷移到TFS的工具
- 27. 關於從Clearcase遷移到SVN的工具建議?
- 28. VSS到SVN遷移;工具建議?
- 29. 遷移到Team System和從Team System遷移的工具有多好?
- 30. MongoDB遷移
你爲什麼要搬家?如果你能回答這個問題,那麼你已經有了答案。 – 2012-11-13 16:27:02
難道你不應該知道你在MySQL中的表之間的關係嗎?沒有一個工具會告訴你什麼必須「先」移動? –
我沒有針對當前數據庫的EER圖,有沒有一種方法可以快速生成一個 –