90設(shè)計(jì)網(wǎng)站怎么樣google廣告投放技巧
數(shù)據(jù)庫備份恢復(fù)是數(shù)據(jù)庫高可用的基本能力,如何通過備份數(shù)據(jù)快速高效的恢復(fù)業(yè)務(wù)并且滿足不同場景下的恢復(fù)需求,是各數(shù)據(jù)庫廠商需要關(guān)注的要點(diǎn)。本文將介紹幾種國產(chǎn)數(shù)據(jù)庫的備份恢復(fù)功能,以加深了解。
1、數(shù)據(jù)庫備份恢復(fù)方案
數(shù)據(jù)庫備份是生產(chǎn)運(yùn)維管理中不可或缺的部分,當(dāng)生產(chǎn)業(yè)務(wù)數(shù)據(jù)丟失或者損壞時(shí)能夠通過備份數(shù)據(jù)快速恢復(fù)數(shù)據(jù)以恢復(fù)業(yè)務(wù)。通常的數(shù)據(jù)庫備份方案有以下幾種:
- 數(shù)據(jù)庫工具完成備份到本地或NAS文件,再由集中備份設(shè)備進(jìn)行統(tǒng)一備份管理;
- 數(shù)據(jù)庫備份工具備份數(shù)據(jù)到遠(yuǎn)端或云端的存儲(chǔ)設(shè)備,如COS或OBS,再由集中備份設(shè)備進(jìn)行統(tǒng)一備份管理;
- 第三方工具代理直接備份數(shù)據(jù)庫到集中備份設(shè)備進(jìn)行管理。
在以上備份方案中,首先要滿足備份恢復(fù)帶寬需求,本地或云端的存儲(chǔ)設(shè)備能否滿足備份及恢復(fù)的時(shí)效性要求;其次是備份過程的影響,對(duì)主庫及業(yè)務(wù)影響、是否支持備庫。還有數(shù)據(jù)恢復(fù)的一致性要求,是否支持PITR一致點(diǎn)的恢復(fù),這個(gè)是每一種數(shù)據(jù)庫產(chǎn)品自身的能力。最后就是備份恢復(fù)任務(wù)的管理和監(jiān)控,備份成功失敗、備份超時(shí)、備份任務(wù)取消等能夠通過統(tǒng)一的管理平臺(tái)進(jìn)行操作。本文將介紹幾種國產(chǎn)數(shù)據(jù)庫的備份恢復(fù)功能,以加深了解。
2、國產(chǎn)數(shù)據(jù)庫備份恢復(fù)功能
2.1 OceanBase數(shù)據(jù)庫
備份恢復(fù)是 OceanBase數(shù)據(jù)庫高可靠的核心組件,通過純SQL的命令就可以使用完整的備份和恢復(fù)功能。OceanBase支持租戶級(jí)別的物理備份,備份數(shù)據(jù)包括數(shù)據(jù)和歸檔日志:
- 數(shù)據(jù)備份包括租戶相關(guān)的信息以及全部用戶表數(shù)據(jù),也就是備份時(shí)刻的Major SSTable+Minor SSTable,分為全量備份和增量備份。
- 日志歸檔是OBServer節(jié)點(diǎn)會(huì)定期將日志數(shù)據(jù)歸檔到指定的備份路徑,也就是事務(wù)層生成的Clog,包含了SSTable之后修改的數(shù)據(jù)。
OceanBase數(shù)據(jù)庫支持的備份介質(zhì)包括OSS、NFS、COS、AWS S3以及兼容S3協(xié)議的對(duì)象存儲(chǔ)(如華為OBS)等備份介質(zhì)。
OceanBase數(shù)據(jù)庫支持租戶級(jí)別和表級(jí)別的恢復(fù):租戶級(jí)恢復(fù)是基于已有數(shù)據(jù)的備份重建新租戶的過程;表級(jí)恢復(fù)是從備份數(shù)據(jù)中將用戶指定的表恢復(fù)到一個(gè)已存在的租戶,該功能在V4.2.1版本后才支持。
2.1.1 日志歸檔
日志歸檔的工作由日志流的Leader副本負(fù)責(zé)。按照日志流備份日志,是Log Entry級(jí)別的物理備份,默認(rèn)備份周期是2分鐘。每一條歸檔日志實(shí)際上是一個(gè)日志集合,包含若干條Log Entry,該條歸檔日志稱之為Log Group。每個(gè)Log Entry 都有一個(gè)SCN與之關(guān)聯(lián),Log Group也有一個(gè) SCN,是所有Log Entry中最大的SCN。
1)開啟和關(guān)閉日志歸檔
#開啟指定租戶的歸檔模式
ALTER SYSTEM ARCHIVELOG TENANT = mysql_tenant;
#關(guān)閉集群中指定租戶的歸檔模式
ALTER SYSTEM NOARCHIVELOG TENANT = mysql_tenant;
2)查看歸檔信息
#查看當(dāng)前租戶歸檔相關(guān)的參數(shù)
SELECT * FROM oceanbase.DBA_OB_ARCHIVE_DEST;
2.1.2 數(shù)據(jù)備份
數(shù)據(jù)備份的流程均由Root Service節(jié)點(diǎn)調(diào)度,并按照日志流進(jìn)行備份。備份數(shù)據(jù)包括分區(qū)的元信息和宏塊數(shù)據(jù)。物理備份是指宏塊數(shù)據(jù)的物理備份,元信息是內(nèi)存序列化后的值。數(shù)據(jù)備份優(yōu)先選擇Follower副本進(jìn)行備份。
1)配置租戶備份目標(biāo)端
#為指定租戶配置備份目的端
ALTER SYSTEM SET DATA_BACKUP_DEST= 'data_backup_path' TENANT = mysql_tenant;
2)發(fā)起全量備份
#設(shè)置備份的并發(fā)度
ALTER SYSTEM SET ha_low_thread_score = 10;
#指定租戶發(fā)起全量數(shù)據(jù)備份
ALTER SYSTEM BACKUP TENANT = mysql_tenant [PLUS ARCHIVELOG];
2.1.3 數(shù)據(jù)恢復(fù)
OceanBase數(shù)據(jù)庫支持租戶級(jí)別恢復(fù)和表級(jí)別恢復(fù),其中租戶恢復(fù)保證了跨表、跨分區(qū)的全局一致性。租戶恢復(fù)流程如下:
- RS根據(jù)備份的數(shù)據(jù)創(chuàng)建需要的日志流。
- 日志流的Leader調(diào)度自己恢復(fù)數(shù)據(jù)和日志,Follower從Leader拉取數(shù)據(jù)和日志。
- RS檢測到所有的日志流恢復(fù)完成以后,認(rèn)為租戶數(shù)據(jù)恢復(fù)完成。
OceanBase數(shù)據(jù)庫的恢復(fù)支持在同集群內(nèi)恢復(fù),也支持在不同的集群內(nèi)恢復(fù)。
1)租戶恢復(fù)
#恢復(fù)到指定時(shí)間戳
ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL TIME='timestamp' WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION description];
#恢復(fù)到指定SCN
ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL SCN=scn WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION description];
#恢復(fù)到最新位點(diǎn)
ALTER SYSTEM RESTORE dest_tenant_name FROM uri WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION description];
恢復(fù)任務(wù)完成后,如果是從低版本的備份數(shù)據(jù)恢復(fù)到高版本集群中的場景,還需要對(duì)恢復(fù)出來的租戶進(jìn)行升級(jí)。如果物理恢復(fù)后的租戶為備租戶,后續(xù)該租戶可作為備租戶提供相關(guān)服務(wù),也可轉(zhuǎn)為主租戶提供服務(wù)。
2)表級(jí)別恢復(fù)
OceanBase數(shù)據(jù)庫的表級(jí)恢復(fù)功能是通過從備份數(shù)據(jù)中將用戶指定的表恢復(fù)到一個(gè)已存在的租戶中來實(shí)現(xiàn)的,并且該已存在的租戶與原表所在的租戶可以是同一個(gè)租戶,也可以是同一集群中的不同租戶,還可以是不同集群中的租戶。表恢復(fù)過程中需要使用輔助租戶:首先在輔助租戶中將數(shù)據(jù)恢復(fù)到指定時(shí)間點(diǎn);再將指定的表從輔助租戶跨租戶導(dǎo)入到目標(biāo)租戶中;最后清理輔助租戶。
ALTER SYSTEM
RECOVER TABLE infodb.tbl1,infodb.tbl2
TO TENANT oracle001
FROM 'file:///data/nfs/backup/data,file:///data/nfs/backup/archive'
UNTIL TIME='2023-09-30 00:00:00'
WITH 'pool_list=restore_pool'
REMAP TABLE infodb.tbl1:newtbl
REMAP TABLEGROUP tg1:newtg1
REMAP TABLESPACE ts1:newts1;
表級(jí)別恢復(fù)僅支持恢復(fù)用戶表。另外恢復(fù)表時(shí),指定的表名需要與系統(tǒng)實(shí)際存儲(chǔ)的表名一致。
2.2 TiDB數(shù)據(jù)庫
TiDB數(shù)據(jù)庫支持對(duì)集群某個(gè)時(shí)間點(diǎn)全量數(shù)據(jù)的備份,也就是快照數(shù)據(jù),包含某個(gè)物理時(shí)間點(diǎn)上集群滿足事務(wù)一致性的所有數(shù)據(jù)。同時(shí)為了滿足PITR的任意時(shí)間點(diǎn)的恢復(fù)需求,需要開啟日志備份,也就是TiKV中的kv變更數(shù)據(jù)的記錄?;诩旱目煺諗?shù)據(jù)備份和日志備份數(shù)據(jù),可以恢復(fù)到集群的任意時(shí)間點(diǎn)PITR。
2.2.1 快照備份與恢復(fù)
快照備份恢復(fù)是由BR工具實(shí)現(xiàn)的,具體流程如下:
- 備份流程
- BR接收備份命令 br backup full。
- BR調(diào)度備份數(shù)據(jù):創(chuàng)建備份請(qǐng)求,發(fā)送給 TiKV 節(jié)點(diǎn),備份請(qǐng)求包含 backup ts、需要備份的 region、備份存儲(chǔ)地址
- TiKV接受備份請(qǐng)求,初始化backup worker。
- TiKV備份數(shù)據(jù),從Region (only leader)讀取backup ts對(duì)應(yīng)的數(shù)據(jù),并上傳SST文件到備份存儲(chǔ)中
- BR從各個(gè)TiKV獲取備份結(jié)果。
- BR備份元信息,并上傳到備份存儲(chǔ)。
- 恢復(fù)流程
- BR接收恢復(fù)命令br restore,獲得快照備份數(shù)據(jù)存儲(chǔ)地址、要恢復(fù)的database或table
- BR調(diào)度恢復(fù)數(shù)據(jù),根據(jù)PD分配的Region結(jié)果,發(fā)送恢復(fù)請(qǐng)求到對(duì)應(yīng)的TiKV節(jié)點(diǎn),恢復(fù)請(qǐng)求包含要恢復(fù)的備份數(shù)據(jù)及rewrite規(guī)則。
- TiKV接受恢復(fù)請(qǐng)求,初始化restore worker。
- TiKV恢復(fù)數(shù)據(jù),restore worker將處理好的SST文件ingest到RocksDB中
- Report restore result:restore worker 返回恢復(fù)結(jié)果給BR。
- BR從各個(gè)TiKV獲取恢復(fù)結(jié)果,全部備份都恢復(fù)成功后,則整個(gè)恢復(fù)任務(wù)成功。
2.2.2 日志備份與PITR恢復(fù)
- 備份流程
- BR接收備份命令br log start,解析獲取日志備份任務(wù)的checkpoint ts(日志備份起始位置)、備份存儲(chǔ)地址。
- TiKV監(jiān)控日志備份任務(wù)的創(chuàng)建與更新。
- TiKV log backup observer持續(xù)地備份KV變更日志,讀取kv數(shù)據(jù)變更,然后保存到自定義格式的備份文件中,并定期將日志備份數(shù)據(jù)和local metadata上傳到備份存儲(chǔ)中。
- TiDB Coordinator監(jiān)控日志備份進(jìn)度,根據(jù)各個(gè)Region checkpoint ts,計(jì)算整個(gè)日志備份任務(wù)的進(jìn)度(global checkpoint ts),然后上報(bào)給PD。
- PD持久化日志備份任務(wù)狀態(tài)??梢酝ㄟ^br log status查詢。
- PITR恢復(fù)流程
- BR接收恢復(fù)命令br restore point,解析獲取全量備份數(shù)據(jù)地址、日志備份數(shù)據(jù)地址、恢復(fù)到的時(shí)間點(diǎn)。
- BR恢復(fù)全量備份,進(jìn)行快照備份數(shù)據(jù)恢復(fù)。
- BR恢復(fù)日志備份,讀取日志備份數(shù)據(jù),創(chuàng)建日志恢復(fù)請(qǐng)求,發(fā)送到對(duì)應(yīng)的TiKV,日志恢復(fù)請(qǐng)求包含要恢復(fù)的日志備份數(shù)據(jù)信息。
- TiKV接受BR的恢復(fù)請(qǐng)求,初始化log restore worker。
- TiKV恢復(fù)日志備份數(shù)據(jù),log restore worker根據(jù)恢復(fù)集群表的table ID對(duì)備份數(shù)據(jù)的kv進(jìn)行重寫,并將處理好的kv通過raft接口寫入store (RocksDB)中。
- BR從各個(gè)TiKV獲取恢復(fù)結(jié)果,全部備份數(shù)據(jù)都恢復(fù)成功后,則恢復(fù)任務(wù)成功。
2.2.3 BR備份恢復(fù)使用
TiDB支持將備份數(shù)據(jù)寫到Amazon S3和NFS等存儲(chǔ)設(shè)備。使用BR命令完成備份恢復(fù)功能。
1)對(duì)集群進(jìn)行快照備份
tiup br backup full --pd "${PD_IP}:2379" \--backupts '2022-09-08 13:30:00 +08:00' \--storage "" \--ratelimit 128 \
2)恢復(fù)快照備份數(shù)據(jù)
tiup br restore full --pd "${PD_IP}:2379" \
--storage ""
3)恢復(fù)指定庫表的數(shù)據(jù)
tiup br restore table --pd "${PD_IP}:2379" \
--db "test" \
--table "usertable" \
--storage ""
4)開啟日志備份
tiup br log start --task-name=pitr --pd "${PD_IP}:2379" \
--storage ''
5)進(jìn)行PITR恢復(fù)
tiup br restore point --pd "${PD_IP}:2379" \
--storage='' \
--full-backup-storage='' \
--restored-ts '2022-05-15 18:00:00+0800'
補(bǔ)充說明:TiDB的備份對(duì)集群的性能有一定的影響,如影響IO、事務(wù)時(shí)延以及QPS??梢酝ㄟ^–ratelimit 參數(shù)對(duì)備份任務(wù)進(jìn)行限速、配置項(xiàng) backup.num-threads限制備份任務(wù)使用的工作線程數(shù)量。
2.3 OpenGauss數(shù)據(jù)庫
OpenGauss數(shù)據(jù)庫支持邏輯備份和物理備份的方式:邏輯備份是將表的數(shù)據(jù)轉(zhuǎn)儲(chǔ)到文件,適用于數(shù)據(jù)量較小或者數(shù)據(jù)遷移、表變更等場景;物理備份通過物理文件拷貝的方式,以磁盤塊為基本單位進(jìn)行備份,一般用于全量備份恢復(fù)場景。
2.3.1 邏輯備份與恢復(fù)
openGauss邏輯備份使用gs_dump工具,可以導(dǎo)出一個(gè)數(shù)據(jù)庫或其中的對(duì)象(模式、表、視圖等)。gs_dump支持將數(shù)據(jù)庫信息導(dǎo)出至純文本格式的SQL腳本文件或其他歸檔文件中:
- 純文本格式的SQL腳本文件:包含將數(shù)據(jù)庫恢復(fù)為其保存時(shí)的狀態(tài)所需的SQL語句。通過gsql運(yùn)行該SQL腳本文件,可以恢復(fù)數(shù)據(jù)庫。
- 歸檔格式文件:包含將數(shù)據(jù)庫恢復(fù)為其保存時(shí)的狀態(tài)所需的數(shù)據(jù),可以是tar格式、目錄歸檔格式或自定義歸檔格式,該導(dǎo)出結(jié)果必須與gs_restore配合使用來恢復(fù)數(shù)據(jù)庫。
另外通過gs_dumpall可以導(dǎo)出所有數(shù)據(jù)庫相關(guān)信息,包括數(shù)據(jù)庫元數(shù)據(jù)、表空間等信息以及各數(shù)據(jù)庫的SQL腳本文件。為了保證數(shù)據(jù)一致性和完整性,gs_dumpall會(huì)對(duì)需要轉(zhuǎn)儲(chǔ)的表設(shè)置共享鎖,如果無法在指定時(shí)間內(nèi)鎖定某張表,備份會(huì)失敗。
2.3.2 物理備份與恢復(fù)
openGauss物理備份有g(shù)s_backup、gs_basebackup等工具:gs_backup是導(dǎo)出數(shù)據(jù)庫參數(shù)文件及二進(jìn)制文件,適合數(shù)據(jù)量小的備份恢復(fù)場景;gs_basebackup而是對(duì)數(shù)據(jù)庫二進(jìn)制文件進(jìn)行全量拷貝,結(jié)合PITR恢復(fù)場景可恢復(fù)全量備份到某一時(shí)間點(diǎn)。
1)gs_backup備份
#備份數(shù)據(jù)庫主機(jī)
gs_backup -t backup --backup-dir=BACKUPDIR [-h HOSTNAME] [--parameter] [--binary] [--all] [-l LOGFILE]
#恢復(fù)數(shù)據(jù)庫主機(jī)
gs_backup -t restore --backup-dir=BACKUPDIR [-h HOSTNAME] [--parameter] [--binary] [--all] [-l LOGFILE] [--force]
2)gs_basebackup
gs_basebackup對(duì)服務(wù)器數(shù)據(jù)庫文件的二進(jìn)制進(jìn)行拷貝,其實(shí)現(xiàn)原理使用了復(fù)制協(xié)議。gs_basebackup僅支持主機(jī)和備機(jī)的全量備份,不支持增量備份。
3)PITR恢復(fù)
openGauss的PITR恢復(fù)支持恢復(fù)到備份歸檔后的任意時(shí)間點(diǎn)。目前只有主節(jié)點(diǎn)可以進(jìn)行PITR恢復(fù),備機(jī)需要全量build達(dá)成主機(jī)一致。在PITR的恢復(fù)流程中,需要將歸檔的WAL日志文件復(fù)制到pg_xlog文件中,通過備份數(shù)據(jù)追加日志的方式恢復(fù)到指定時(shí)間點(diǎn)。
4)gs_probackup
gs_probackup用于管理openGauss的備份恢復(fù)工具,可以對(duì)實(shí)例進(jìn)行定期恢復(fù),支持全量、增量和遠(yuǎn)程備份。
#初始化備份目錄
gs_probackup init -B backup_dir
#添加一個(gè)新的備份實(shí)例
gs_probackup add-instance -B backup_dir -D data_dir --instance instance_name
#創(chuàng)建指定實(shí)例的備份
gs_probackup backup -B backup_dir --instance instance_name -b backup_mode
#從指定實(shí)例的備份中恢復(fù)數(shù)據(jù)
gs_probackup restore -B backup_dir --instance instance_name -D pgdata-path -i backup_id
2.4 GaussDB數(shù)據(jù)庫
GaussDB提供基于OBS/NAS存儲(chǔ)介質(zhì)的集群級(jí)/庫表級(jí)物理備份能力,并在同構(gòu)數(shù)據(jù)庫(分片個(gè)數(shù)相同、大版本號(hào)相同)中提供集群級(jí)/庫表級(jí)恢復(fù)能力。支持全量備份和增量備份。采用分布式并行技術(shù),并行地對(duì)每個(gè)數(shù)據(jù)實(shí)例的數(shù)據(jù)文件進(jìn)行物理備份恢復(fù),提供了極高的備份恢復(fù)性能。在此基礎(chǔ)上,還提供備份數(shù)據(jù)壓縮、備份流控、斷點(diǎn)續(xù)傳等高階功能。
全量備份圖所示,會(huì)備份全量的數(shù)據(jù)文件以及截止到barrier lsn的增量日志。在做PITR恢復(fù)的時(shí)候,基于全量和增量備份集以及歸檔日志,將實(shí)例恢復(fù)到任意時(shí)間點(diǎn)。
1) Roach備份恢復(fù)工具
GaussRoach.py工具是GaussDB提供的用于備份和恢復(fù)的實(shí)用工具,可對(duì)整個(gè)數(shù)據(jù)庫中的數(shù)據(jù)、WAL歸檔日志和運(yùn)行日志進(jìn)行備份。該工具不僅可以備份恢復(fù)集群,也可以備份恢復(fù)單表;不僅可以備份到物理磁盤,也可以備份到OBS和NAS;不僅可以從集群級(jí)備份中恢復(fù)集群,也可以從集群級(jí)備份中恢復(fù)數(shù)據(jù)庫/表。
#備份集群到NAS
python3 GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/media --media-type NAS --metadata-destination /home/userA/metadata --cluster-unique-id gaussdb_backup
#備份表到NAS
python3 GaussRoach.py -t backup --master-port 6000 --media-destination /home/userA/media --media-type NAS --metadata-destination /home/omm/metadata --cluster-unique-id gaussdb_backup --gbr-table-list /data/table.json
#從NAS恢復(fù)集群
python3 GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type NAS --backup-key 20160121_190548 --metadata-destination /home/userA/metadata --cluster-unique-id gaussdb_backup
#從NAS恢復(fù)單表
python3 GaussRoach.py -t restore --clean --master-port 6000 --media-destination /home/userA/media --media-type NAS --backup-key 20160121_190548 --metadata-destination /home/userA/metadata --cluster-unique-id gaussdb_backup --restore-new-cluster --gbr-table-list /data/table.json --aux-db-path /data/aux_db --origin-cluster --gbr-owner 'user1' -U user
2.5 GoldenDB分布式數(shù)據(jù)庫
GoldenDB分布式數(shù)據(jù)庫備份包括data數(shù)據(jù)備份、binlog日志備份、活躍GTID備份、元數(shù)據(jù)備份和Sequence備份。GoldenDB數(shù)據(jù)庫支持全量和增量備份,數(shù)據(jù)備份按照庫級(jí)別完成的。
- Data數(shù)據(jù)文件備份:使用xtrabackup開啟備份,將所有備份文件備份在“KaTeX parse error: Expected group after '_' at position 10: DNip_FULL_?back_start_time.xbstream”文件內(nèi);
- Binlog備份:將DN節(jié)點(diǎn)的binlog備份到指定的目錄,用于數(shù)據(jù)一致性恢復(fù);
- 活躍事務(wù)GTID備份:將集群的GTID列表備份到指定目錄,保證全局節(jié)點(diǎn)的數(shù)據(jù)一致性;
- 集群元數(shù)據(jù):備份集群相關(guān)的元數(shù)據(jù),主要包括有數(shù)據(jù)字典,用戶密碼,索引信息;
- Sequence信息:備份集群相關(guān)的Sequence數(shù)據(jù),主要包括有自增列所在表的庫名,表名,起始值,步長,最小值,最大值,當(dāng)前值等屬性
1)Data數(shù)據(jù)備份流程
- insight頁面創(chuàng)建定時(shí)備份任務(wù)到backup_restore庫,向CM發(fā)送dbtool消息
- 當(dāng)CM定時(shí)器觸發(fā)時(shí),CM向各節(jié)點(diǎn)DBAgent發(fā)起備份請(qǐng)求
- DBAgent接收到備份請(qǐng)求后,將備份文件保存到指定備份目錄
- DBAgent備份完成后,將備份完成結(jié)果反饋給CM
- CM接收到各節(jié)點(diǎn)DBAgent的備份結(jié)果,匯總后給MDS
- MDS接收到備份結(jié)果,將消息備份結(jié)果發(fā)向OMM, OMM入庫
2)Data數(shù)據(jù)恢復(fù)流程
- 獲取恢復(fù)所需要的文件。
- 通過全量備份文件(及增量文件)恢復(fù)DN。
- 應(yīng)用binlog 文件。
- 回滾恢復(fù)時(shí)刻的活躍事務(wù)。
3)備份恢復(fù)影響
GoldenDB數(shù)據(jù)庫支持在備節(jié)點(diǎn)備份,備份和恢復(fù)過程會(huì)對(duì)本地磁盤IO有影響,另外在備份過程中會(huì)有短暫的flush table with read lock鎖。
2.6 總結(jié)
對(duì)比國產(chǎn)幾種數(shù)據(jù)庫,各自在備份恢復(fù)功能上已經(jīng)具備全量備份和數(shù)據(jù)一致性恢復(fù)的能力,如下表所示。
而整個(gè)數(shù)據(jù)庫備份恢復(fù)的時(shí)效性則依賴于數(shù)據(jù)量、備份存儲(chǔ)設(shè)備的性能及帶寬情況,能否支持高并發(fā)高吞吐的能力。尤其是在集中式數(shù)據(jù)庫中,單個(gè)庫的容量已經(jīng)超過10T,如何能確保故障時(shí)候通過備份數(shù)據(jù)快速的恢復(fù)業(yè)務(wù)。
參考資料:
- https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000818529
- https://docs.pingcap.com/zh/tidb/stable/br-snapshot-guide
- https://docs-opengauss.osinfra.cn/zh/docs/5.0.0/docs/DatabaseOMGuide/
- https://doc.hcs.huawei.com/db/zh-cn/gaussdb/24.1.30/usermanual/gaussdb_01_247.html
- https://www.goldendb.com/#/docsIndex/docs/BackupRecovery_BasicPrinciples