本篇內(nèi)容主要講解“MySQL遷移mpp數(shù)據(jù)庫(kù)Greenplum的過(guò)程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“mysql遷移mpp數(shù)據(jù)庫(kù)Greenplum的過(guò)程”吧!
浠水ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!
因兄弟項(xiàng)目中mysql有點(diǎn)扛不住了,要做sql優(yōu)化,但是業(yè)務(wù)有點(diǎn)小復(fù)雜,優(yōu)化起來(lái)有點(diǎn)麻煩(sql嵌套有點(diǎn)多),便想著用Mpp數(shù)據(jù)庫(kù)Greenplum測(cè)試下,看性能和復(fù)雜度怎么樣,趟趟水。
初步的想法是:因?yàn)閙ysql和postgresql(Greenplum建立在postgresql之上,i'm 軟件老王)都是使用的標(biāo)準(zhǔn)sql,直接把mysql的建表語(yǔ)句在Greenplum建一邊,把數(shù)據(jù)導(dǎo)入過(guò)來(lái)測(cè)試一下就行了,應(yīng)該半天內(nèi)就能搞定。
將mysql的表結(jié)構(gòu)通過(guò)navicat for mysql導(dǎo)出(navivat中只導(dǎo)出表結(jié)構(gòu),如下圖),但是發(fā)現(xiàn)導(dǎo)出的結(jié)構(gòu)在
Greenplum中執(zhí)行不了,mysql中的ddl語(yǔ)句:
1 `CONFIG_ID` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT '軟件老王'
解決辦法
(1)網(wǎng)上找了mysql轉(zhuǎn)postgresql的java代碼,寫(xiě)的不是太全面,改了幾次還是有點(diǎn)問(wèn)題,放棄。
(2)問(wèn)了下dba,用的Navicat Premium 12 可以轉(zhuǎn),網(wǎng)址:https://www.navicat.com.cn/
Navicat Premium可以同時(shí)操作多個(gè)數(shù)據(jù)庫(kù),包括:mysql和greenplum(postgresql),以前使用navicat for mysql只能操作mysql數(shù)據(jù)庫(kù),navicat for postgresql只能操作postgresql。
使用Navicat Premium,如下圖:
左邊選擇mysql,右邊選擇greenplum,同時(shí)去掉選項(xiàng)中的創(chuàng)建記錄,就能在Greenplum中創(chuàng)建表了。(先創(chuàng)建所有表,數(shù)據(jù)量太大,我們只導(dǎo)幾張表的數(shù)據(jù)進(jìn)行測(cè)試)
初步想法是通過(guò)Navicat 直接導(dǎo)入,使用上面的Navicat Premium12就能直接從mysql導(dǎo)入Greenplum數(shù)據(jù),但是導(dǎo)入了幾張小表后,碰到的一張30多萬(wàn)的表,導(dǎo)了20多分鐘還不到40%,看了下greenplum的master節(jié)點(diǎn)cpu有點(diǎn)高,后面還有好幾張百萬(wàn)級(jí)的數(shù)據(jù),這樣的效率要導(dǎo)到猴年馬月了。
(1)首先需要在master節(jié)點(diǎn)啟動(dòng)外部表程序fdisk,新建個(gè)目錄,存放從mysql中導(dǎo)出的文件,我導(dǎo)出的是csv格式。
1[gpadmin@軟件老王 ~]$ mkdir script
2[gpadmin@軟件老王 ~]$ nohup gpfdist -d /home/gpadmin/script/ -p 8081 -l /home/gpadmin/script/ruanjianlaowang.log &
(2)創(chuàng)建外部表
1------------------------
2CREATE EXTERNAL TABLE "public"."t_laowang_ex" (
3 "laowang_type" numeric(3),
4 "laowang_id" varchar(36)
5)
6location ('gpfdist://10.192.0.168:8081/laowang.csv') format 'csv' (DELIMITER ',') encoding 'utf8';
說(shuō)明:
(a)可以直接將原表的ddl語(yǔ)句拿出來(lái),名稱(chēng)增加個(gè)_ex(新建外部表的時(shí)候,發(fā)現(xiàn)not null用不了要替換成空)
(b)其中ip地址是greenplum的master地址,laowang是csv文件名稱(chēng),csv文件是通過(guò)navicat右鍵導(dǎo)出的,i‘m 軟件老王。
1gpfdist://10.192.0.168:8081/laowang.csv
(3)數(shù)據(jù)裝載到greenplum表中
1insert into t_laowang select * from t_laowang_ex;
2i'm 軟件老王
這樣就完成了數(shù)據(jù)從mysql遷移到了greenplum中,具體測(cè)試結(jié)果對(duì)比就不在這里多說(shuō)了。
方案執(zhí)行比想象的復(fù)雜,一是兩個(gè)數(shù)據(jù)庫(kù)建表sql不一樣,后通過(guò)最新的Navicat Premium 12 解決;二是直接通過(guò)navicat導(dǎo)入,在效率上有問(wèn)題,走不通,通過(guò)外部表的方式解決,外部表方式2-3秒就能導(dǎo)入完成;三是,新建外部表的時(shí)候,跟原表稍微有點(diǎn)差異,也的注意下。
到此,相信大家對(duì)“mysql遷移mpp數(shù)據(jù)庫(kù)Greenplum的過(guò)程”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前題目:mysql遷移mpp數(shù)據(jù)庫(kù)Greenplum的過(guò)程
網(wǎng)頁(yè)地址:http://chinadenli.net/article28/ppsijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站排名、微信小程序、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)