![](/img/trans.png)
[英]How to move data from one table into an EAV structure in MySQL (MariaDB)
[英]Move data from one database to other with different data structure
如何將數據從假設的mysql數據庫移動到postgres數據庫?
場景:兩個類似的應用程序。 用戶想要從一個應用程序切換到另一應用程序。 但是他在以前使用mysql數據庫的應用程序中保留了某些數據信息。當他切換應用程序時,必須將其數據從舊應用程序遷移到使用postgres的新應用程序。
這兩個數據庫都是不同的,具有不同的結構以及表和表之間的關系,表數以及它們下面的列。
但是如何將日期從一個數據庫移動到另一個數據庫?
有什么工具可以做到這一點嗎? 如果是這樣,任何人都可以建議這樣的工具。
可能不是您所需要的,但是此頁面包含一個
“可下載的Magic drupal-mysql2pgsql.pl腳本”
並討論了遷移數據的困難。
這可能是不合適的,因為它可能僅遷移Drupal數據庫(並且您沒有說明涉及哪些應用程序)
最好的選擇是以簡單的文本格式導出/備份MySQL數據,然后將其壓縮為PostgreSQL格式並導入。 這將需要一些腳本/編輯。
當然,這就是為什么您需要用於該工作的工具的原因。
我會這樣做:
(僅使用數據庫工具)
SELECT
語句將數據從原始MySQL數據庫復制到新數據庫(因為新表是我想的舊表的混合),或者可能是一些存儲過程... mysqldump
,它具有生成--compatible=postgres
兼容腳本的選項:-- --compatible=postgres
和許多其他非常有趣的選項。 (使用定制的應用程序+ ORM(例如:C#,NHibernate)-實施時間更長):
(使用已知工具):
抱歉,但是我不知道是否有工具可以做到這一點!
您要描述的問題是數據倉庫世界中最常見的問題之一,您需要從應用程序數據庫中獲取數據(通常是經典的關系數據模型),然后將其合並和集中在具有不同結構的數據倉庫中(大多數情況下是維數據模型)。 ETL作業(提取轉換負載)的作用。
您可以將它們作為SQL腳本,手動運行或自動運行。 您需要建立的轉換邏輯,然后將其實現為SQL腳本。
有專用的ETL工具,但我認為它們不會為您帶來太多價值。
我也建議使用ETL工具進行此類工作。 應用不同的功能將使您的遷移100%成功。 我建議對商業用戶使用開源工具,例如Apatar(apatar.com),對技術用戶使用Talend(talend.com)。
有用於這些方案的整個工具行業。 Google代表“ ETL”,可能還有您正在處理的數據庫供應商名稱,您可能會找到在合理的時間內無法評估的更多解決方案。
我建議與其他人一樣的路線,但略有不同。 使用ETL工具可以做到這一點。 大多數ETL工具都可以完成您剛剛描述的工作。 如果您不想花任何錢購買“ ETL”工具,那么我將投票支持Talend Open Source ETL工具。 我用過它,而且功能非常強大。 文檔和示例可在http://www.talend.com中獲得 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.