****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數(shù)據(jù)恢復(fù)咨詢熱線:400-666-3702??

歡迎訪問(wèn)南京兆柏?cái)?shù)據(jù)恢復(fù)公司,專業(yè)數(shù)據(jù)恢復(fù)15年

兆柏?cái)?shù)據(jù)恢復(fù)公司

?常見(jiàn)問(wèn)題

?當(dāng)前位置: 主頁(yè) > 常見(jiàn)問(wèn)題

高效的并行數(shù)據(jù)庫(kù)備份和恢復(fù)工具

瀏覽量: 次 發(fā)布日期:2023-08-26 22:20:27

高效的并行數(shù)據(jù)庫(kù)備份和恢復(fù)工具

目錄

一、gpbackup/gprestore

二、gpcopy

Greenplum數(shù)據(jù)庫(kù)從5.5.0版本開(kāi)始,基于內(nèi)置的COPY……ON SEGMENT命令,發(fā)布了更加高效的基于Greenplum的gpbackup/gprestore實(shí)用工具。關(guān)于COPY……ON SEGMENT命令的詳細(xì)介紹,請(qǐng)參考6.1.1節(jié)。總的來(lái)說(shuō),gpbackup只存儲(chǔ)對(duì)象的元表文件和DDL文件,且備份文件的生成、壓縮和存儲(chǔ)是在每個(gè)Segment上完成的,因此更加高效。gpbackup的元表信息包含gprestore運(yùn)行需要的所有信息。另外,把數(shù)據(jù)存儲(chǔ)為csv格式使得數(shù)據(jù)同樣可以被其他工具(比如gpload)加載到同一個(gè)集群或者另外一個(gè)集群。每一個(gè)gpbackup的任務(wù)使用單個(gè)Greenplum中的事務(wù)。在事務(wù)執(zhí)行期間,元表信息會(huì)備份到Master節(jié)點(diǎn),而數(shù)據(jù)文件則通過(guò)COPY……ON SEGMENT命令并行備份到Segment節(jié)點(diǎn)。在備份過(guò)程中,備份進(jìn)程只會(huì)獲取備份表上的ACCESS SHARE表鎖,不會(huì)阻塞線上Greeplum對(duì)外正常提供服務(wù)。

具體來(lái)說(shuō),gpbackup相比之前的gpcrondump做了以下優(yōu)化和增強(qiáng):?減少對(duì)元表(catalog)的加鎖。?增強(qiáng)的監(jiān)控管理和備份日志。?支持csv文件格式。?可插拔的第三方數(shù)據(jù)接口支持。?增強(qiáng)的對(duì)元表(catalog)的查詢性能。?并行同步備份的支持。?細(xì)粒度選擇備份對(duì)象(角色、函數(shù)等),而不是基于表級(jí)。?特殊字符支持(\t\n等)。?完全基于Go語(yǔ)言重寫(xiě),避免了Python多版本問(wèn)題。

1)減少或優(yōu)化對(duì)元表(catalog)的加鎖以提高Greenplum在線服務(wù)能力和備份性能:

?不對(duì)pg_class表加鎖,減少因?yàn)閜g_class大鎖的競(jìng)爭(zhēng)導(dǎo)致其他操作終止執(zhí)行。

?不加表級(jí)的EXCLUSIVE鎖,只加表級(jí)的ACCESS SHARE鎖,從而減少對(duì)表的競(jìng)爭(zhēng)訪問(wèn),提高并發(fā)量。

?基于多版本同步控制(MVCC),利用COPY語(yǔ)句在Segment上直接進(jìn)行數(shù)據(jù)導(dǎo)入/導(dǎo)出。

?移植了PostgreSQL 9.1鎖的新特性,提高性能。

?提供可選的多種一致性級(jí)別,可根據(jù)使用場(chǎng)景靈活選擇。

2)增強(qiáng)備份過(guò)程中的監(jiān)控管理和日志輸出:

?利用心跳來(lái)探測(cè)備份進(jìn)程是否還在運(yùn)行。

?備份進(jìn)度指示條。

?保留歷史的進(jìn)度信息,可用于估計(jì)本次備份所花的時(shí)間,以及判斷本次備份是否存在性能問(wèn)題。

?可通過(guò)配置選擇性恢復(fù)指定數(shù)據(jù)文件。

?增強(qiáng)的備份結(jié)果報(bào)告文檔,并且對(duì)郵件報(bào)警部分進(jìn)行改造。

3)COPY用于導(dǎo)入和導(dǎo)出數(shù)據(jù):

?利用改進(jìn)的COPY命令,可以直接并行運(yùn)行在Segment上,而不需要像之前那樣通過(guò)Master單節(jié)點(diǎn)。

?更加靈活,可以為每個(gè)Segment的每個(gè)表生成獨(dú)立的csv文件,從而提高恢復(fù)的并行性。

4)可插拔的外部數(shù)據(jù)源API:

?可靈活支持各種第三方數(shù)據(jù)平臺(tái),包括Data Domain、Commvault等。

?可支持各種基于云的存儲(chǔ),包括AWS、Azure、GCP等。

?具備靈活性,可將備份數(shù)據(jù)對(duì)接到用戶提供的定制化程序。

?容災(zāi)備份,可將備份數(shù)據(jù)對(duì)接到遠(yuǎn)程Greenplum集群。

gpbackup/gprestore可支持的細(xì)粒度選擇對(duì)象如表

使用注意點(diǎn):?如果用戶在分區(qū)表的父表上創(chuàng)建索引,備份時(shí)不會(huì)為子表備份出相應(yīng)索引,因?yàn)樵谧颖砩蟿?chuàng)建相同的索引會(huì)導(dǎo)致錯(cuò)誤。但是如果用戶使用過(guò)交換分區(qū)操作,gpbac-kup檢測(cè)不到新的子表上的索引是來(lái)自父表,恢復(fù)時(shí)可能會(huì)導(dǎo)致重復(fù)創(chuàng)建索引的錯(cuò)誤。?用戶可以執(zhí)行多個(gè)gpbackup,但是每個(gè)gpbackup擁有不同的時(shí)間戳。?數(shù)據(jù)庫(kù)對(duì)象的過(guò)濾目前只限于Schema和表。?如果用戶使用--single-data-file選項(xiàng),那么每個(gè)Segment上的備份數(shù)據(jù)都會(huì)集中到一個(gè)文件中,在恢復(fù)時(shí)用戶就失去并行的可能性。?增量備份目前還只支持追加(Append Optimized)表和列存(ColumnOriented)表。

gpbackup不支持下列Schema下的數(shù)據(jù)備份:?gp_toolkit?information_schema?pg_aoseg?pg_bitmapindex?pg_catalog?pg_toast*?pg_temp*

運(yùn)行完之后查看備份結(jié)果

master:

運(yùn)行完上述命令后,可以看到在Master節(jié)點(diǎn)上全局和各個(gè)數(shù)據(jù)庫(kù)的元信息,其格式為$MASTER_DATA_DIRECTORY/backups//

segment:

每個(gè)Segment節(jié)點(diǎn)在目錄/backups///下會(huì)存儲(chǔ)壓縮后的csv格式的備份數(shù)據(jù):

如何恢復(fù)?

恢復(fù)過(guò)程中必須通過(guò)--timestamp選項(xiàng)指定,同時(shí)可指定--create-db選項(xiàng)使得恢復(fù)過(guò)程有助于重建缺失的數(shù)據(jù)庫(kù)。

gpbackup 提供了多個(gè)參數(shù),可以使用 --help查看.

如果只需要備份表結(jié)構(gòu),則可以使用--metadata

試想一下?如果兩個(gè)集群的規(guī)模不一致,那gpbackup / gprestore還能用嗎?

答案是否定的.會(huì)有如下報(bào)錯(cuò)

但是既然生成metadata的sql已經(jīng)存在了。那么可以使用 psql來(lái)重放sql來(lái)實(shí)現(xiàn)。例如

-a, --echo-all echo all input from script -f, --file=FILENAME execute commands from file, then exit

因?yàn)閜sql 的輸出都是標(biāo)準(zhǔn)輸出,因此可以將其重定向到log中。

2>&1 代表的是將標(biāo)準(zhǔn)錯(cuò)誤輸出和標(biāo)準(zhǔn)輸出合并 輸入到import_metadata.log

實(shí)際業(yè)務(wù)場(chǎng)景如下

?升級(jí):16節(jié)點(diǎn)的Greenplum 4.3集群遷移到16節(jié)點(diǎn)的Greenplum 6.x集群

?遷移:8節(jié)點(diǎn)的Greenplum4.x集群遷移到16節(jié)點(diǎn)的Greenplum 6.x集群

GPCOPY可以遷移整個(gè)集群,也可以傳輸某些數(shù)據(jù)庫(kù)、命名空間和表;可以從正則表達(dá)式匹配需要傳輸?shù)臄?shù)據(jù)表;可以略過(guò)、追加或者替換目標(biāo)集群的數(shù)據(jù);可以并行傳輸;可以只遷移數(shù)據(jù)表的定義信息。GPCOPY利用了Greenplum的COPY…ON SEGMENT特性,基于Segment間直接傳輸數(shù)據(jù)獲得性能加速。

GPCOPY會(huì)在源端和目標(biāo)端同時(shí)執(zhí)行COPY…ON SEGMENT命令。該命令會(huì)被Master下發(fā)到每個(gè)Segment,在其上執(zhí)行COPY命令。源端Segment會(huì)創(chuàng)建到目標(biāo)端Segment的連接。當(dāng)連接創(chuàng)建成功后,源端Segment執(zhí)行COPY TO命令,將數(shù)據(jù)表的內(nèi)容通過(guò)連接發(fā)送出去,而目標(biāo)Segment執(zhí)行COPYFROM命令,從連接上等待接收源端傳過(guò)來(lái)的內(nèi)容。如果開(kāi)啟了壓縮選項(xiàng),在數(shù)據(jù)發(fā)送前會(huì)進(jìn)行壓縮,數(shù)據(jù)接收后會(huì)先進(jìn)行解壓縮。在數(shù)據(jù)傳輸過(guò)程中,在源端和目標(biāo)端都各自開(kāi)啟了數(shù)據(jù)庫(kù)事務(wù),如果傳輸中間有錯(cuò)誤發(fā)生,也可以保證數(shù)據(jù)的完整性。

GPCOPY的核心功能包括以下幾點(diǎn):

1)Snappy壓縮傳輸。GPCOPY默認(rèn)打開(kāi)壓縮選項(xiàng),使用Google的Snappy格式對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮,網(wǎng)絡(luò)傳輸壓力更小,速度也更快。Snappy對(duì)大多數(shù)數(shù)據(jù)的壓縮比zlib的最快模式還要快幾個(gè)數(shù)量級(jí)。在Core i7的單核64位模式下,Snappy壓縮速度可以達(dá)到250MB/s或更快,解壓縮可以達(dá)到大約500MB/s或更快。

2)高效好用的數(shù)據(jù)校驗(yàn)。判斷兩個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的表是否一致不是一個(gè)簡(jiǎn)單的問(wèn)題,使用哈希校驗(yàn)的話要考慮條目的順序,使用排序的話又會(huì)降低速度。如果這兩個(gè)數(shù)據(jù)庫(kù)系統(tǒng)和Greenplum一樣是集群系統(tǒng),這個(gè)問(wèn)題就更難解決了。而GPCOPY靈活地解決了這個(gè)問(wèn)題,既不需要排序,數(shù)據(jù)校驗(yàn)的速度又比通過(guò)導(dǎo)出csv數(shù)據(jù)文件進(jìn)行哈希快幾倍。

3)完善的日志記錄和錯(cuò)誤處理。GPCOPY將數(shù)據(jù)傳輸過(guò)程中每一步的操作、執(zhí)行的查詢、命令和結(jié)果都寫(xiě)到日志文件中,并根據(jù)用戶指定的級(jí)別顯示到標(biāo)準(zhǔn)輸出。數(shù)據(jù)遷移操作通過(guò)事務(wù)塊進(jìn)行保護(hù),發(fā)生錯(cuò)誤時(shí)可以做到表一級(jí)的回滾。運(yùn)行結(jié)束時(shí)會(huì)有詳細(xì)的成功或失敗的總結(jié)信息,同時(shí)生成和提示用戶運(yùn)行命令去重試所有發(fā)生過(guò)錯(cuò)誤的操作。用戶環(huán)境如果出現(xiàn)錯(cuò)誤,結(jié)合GPCOPY和Greenplum的日志文件,可以迅速地定位問(wèn)題,保障數(shù)據(jù)遷移順利進(jìn)行。

4)GPCOPY用于升級(jí)。Greenplum版本升級(jí)一般會(huì)有catalog變化,只升級(jí)可執(zhí)行文件會(huì)導(dǎo)致數(shù)據(jù)不兼容,利用GPCOPY則可以做到原地升級(jí)。另外,因?yàn)橛辛丝焖俸糜玫臄?shù)據(jù)校驗(yàn),用戶也可以放心地一邊遷移數(shù)據(jù)一邊釋放空間。對(duì)于磁盤(pán)空間緊張的用戶,不再需要準(zhǔn)備雙倍空間用于升級(jí),節(jié)省了系統(tǒng)資源。

5)支持不同節(jié)點(diǎn)數(shù)的Greenplum集群間傳輸。從上圖可以看到,當(dāng)目標(biāo)集群和源集群節(jié)點(diǎn)數(shù)不同時(shí),也可以使用GPCOPY進(jìn)行高效數(shù)據(jù)遷移。

?--analyze:數(shù)據(jù)遷移結(jié)束后,是否需要對(duì)數(shù)據(jù)表進(jìn)行Analyze操作。執(zhí)行Analyze操作需要花費(fèi)一些時(shí)間,但是會(huì)生產(chǎn)準(zhǔn)確的統(tǒng)計(jì)信息供查詢優(yōu)化器使用,以生成更加高效的查詢計(jì)劃。默認(rèn)關(guān)閉。

?--jobs:數(shù)據(jù)遷移時(shí)指定的并行度。數(shù)據(jù)會(huì)分批次遷移,該選項(xiàng)指定每批遷移多少個(gè)表。

?--metadata-only:只在目標(biāo)數(shù)據(jù)庫(kù)中創(chuàng)建表的定義,不進(jìn)行實(shí)際的數(shù)據(jù)遷移。

?--truncate:如果目標(biāo)數(shù)據(jù)庫(kù)中相同名字的數(shù)據(jù)庫(kù)表已經(jīng)存在,是否在開(kāi)始遷移前清空目標(biāo)數(shù)據(jù)庫(kù)表的數(shù)據(jù)。

?--append:如果目標(biāo)數(shù)據(jù)庫(kù)中相同表名字的數(shù)據(jù)庫(kù)表已經(jīng)存在,是否保留之前的數(shù)據(jù)。該選項(xiàng)與--truncate互斥。

相關(guān)推薦

. b30c換控制器,探尋九號(hào)電動(dòng)車性能極限的奧秘

. 六安移動(dòng)硬盤(pán)數(shù)據(jù)恢復(fù),專業(yè)技術(shù),守護(hù)您的數(shù)據(jù)安全

. deep sequence,揭秘高效內(nèi)容生成的秘密武器

. 深圳數(shù)據(jù)恢復(fù)公司排名,揭秘排名前三的數(shù)據(jù)恢復(fù)公司”

. 怎樣恢復(fù)刪除的硬盤(pán)數(shù)據(jù),詳解硬盤(pán)刪除數(shù)據(jù)恢復(fù)全攻略

. 硬盤(pán)數(shù)據(jù)恢復(fù)圖書(shū),從原理到實(shí)踐的技術(shù)解析

. 數(shù)據(jù) 恢復(fù),揭秘?cái)?shù)據(jù)丟失背后的原因與高效解決方案

. 沈河區(qū)硬盤(pán)數(shù)據(jù)恢復(fù)中心,專業(yè)服務(wù),守護(hù)您的數(shù)據(jù)安全”

. 太原西數(shù)硬盤(pán)數(shù)據(jù)恢復(fù),專業(yè)解決方案與高效恢復(fù)策略

. 硬盤(pán)數(shù)據(jù)恢復(fù)從哪學(xué),從原理到實(shí)踐的技術(shù)解析

. emc存儲(chǔ)怎么用,高效數(shù)據(jù)管理的核心策略

. 全免費(fèi)的數(shù)據(jù)恢復(fù)工具,助您輕松找回丟失文件

. 移動(dòng)硬盤(pán)維修的地方在哪,探尋專業(yè)維修地點(diǎn)

. deepfake制作,AI換臉的崛起與挑戰(zhàn)

. 病毒 移動(dòng)硬盤(pán)數(shù)據(jù)恢復(fù),病毒侵襲下的移動(dòng)硬盤(pán)數(shù)據(jù)恢復(fù)攻略

. 移動(dòng)硬盤(pán)數(shù)據(jù)恢復(fù)正常,從誤刪到恢復(fù)的全方位指導(dǎo)

. 硬盤(pán)內(nèi)部?jī)?chǔ)存器,存儲(chǔ)技術(shù)的核心與未來(lái)趨勢(shì)

. 硬盤(pán)數(shù)據(jù)恢復(fù)流程圖片,從診斷到恢復(fù)的全方位指南

. deepzengo,Deepzengo的突破與創(chuàng)新

. 惠普系統(tǒng)恢復(fù)工具,一鍵還原,輕松守護(hù)您的電腦健康