2024年金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究報(bào)告-北京金融科技產(chǎn)業(yè)聯(lián)盟_第1頁(yè)
2024年金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究報(bào)告-北京金融科技產(chǎn)業(yè)聯(lián)盟_第2頁(yè)
2024年金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究報(bào)告-北京金融科技產(chǎn)業(yè)聯(lián)盟_第3頁(yè)
2024年金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究報(bào)告-北京金融科技產(chǎn)業(yè)聯(lián)盟_第4頁(yè)
2024年金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究報(bào)告-北京金融科技產(chǎn)業(yè)聯(lián)盟_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

金融行業(yè)分布式數(shù)據(jù)庫(kù)容器化建設(shè)需求研究I版權(quán)聲明本報(bào)告版權(quán)屬于北京金融科技產(chǎn)業(yè)聯(lián)盟,并受法律保護(hù)。轉(zhuǎn)載、編摘或利用其他方式使用本白皮書文字或觀點(diǎn)的,應(yīng)注明來源。違反上述聲明者,將被追究相關(guān)法律責(zé)任。編制委員會(huì)主任:聶麗琴編委會(huì)成員:編寫組成員:李嵩嵩楊旭劉月然朱鵬秦延濤曹偉劉海波楊銳陳偉紅黃貴趙亮燕征南梁海安駱明順路新英梁廣濤徐雪濤朱潔郎岳樟李保洋編審:參編單位:北京金融科技產(chǎn)業(yè)聯(lián)盟招商銀行股份有限公司中國(guó)農(nóng)業(yè)銀行股份有限公司杭州云猿生數(shù)據(jù)有限公司騰訊云計(jì)算(北京)有限責(zé)任公司金篆信科有限責(zé)任公司平安科技(深圳)有限公司華為云計(jì)算技術(shù)有限公司阿里云計(jì)算有限公司上海愛可生信息技術(shù)股份有限公司北京百度網(wǎng)訊科技有限公司1 3 4(一)分布式數(shù)據(jù)庫(kù)技術(shù) 4(二)容器技術(shù) 8 (一)調(diào)度 (二)變更 (五)備份恢復(fù) (七)監(jiān)控報(bào)警 (八)數(shù)據(jù)庫(kù)訪問控制 (九)混沌工程 (十)智能運(yùn)維 (十一)其他 (一)一致性校驗(yàn) (二)容災(zāi) 2 (一)分層抽象 (二)管理平臺(tái)API設(shè)計(jì) 3一、目標(biāo)隨著金融行業(yè)數(shù)字化轉(zhuǎn)型的不斷深入,金融機(jī)構(gòu)對(duì)于數(shù)據(jù)管理提出了更高的要求。在容器技術(shù)和數(shù)據(jù)庫(kù)生態(tài)系統(tǒng)不斷發(fā)展的可擴(kuò)展性和高可用性,成為金融行業(yè)數(shù)據(jù)管理的重要選擇,可為金融行業(yè)帶來如下收益:提高自動(dòng)化程度,分布式數(shù)據(jù)庫(kù)容器化能使其在多云、混合云環(huán)境中靈活地部署和管理,利用云平臺(tái)的資源調(diào)度和自動(dòng)化能力,實(shí)現(xiàn)分布式數(shù)據(jù)庫(kù)的自動(dòng)擴(kuò)縮容和高可用性。提升部署和運(yùn)維效率,分布式數(shù)據(jù)庫(kù)容器化簡(jiǎn)化了部署和管理過程。通過使用容器鏡像,將配置和依賴項(xiàng)打包在一起,實(shí)現(xiàn)一致性和可重復(fù)性的部署,簡(jiǎn)化生產(chǎn)環(huán)境的運(yùn)維工作,降低人為錯(cuò)誤的風(fēng)險(xiǎn)。優(yōu)化資源利用率,傳統(tǒng)的分布式數(shù)據(jù)庫(kù)部署通常需要專用的服務(wù)器和資源,導(dǎo)致資源利用率較低。而分布式數(shù)據(jù)庫(kù)容器化允許在同一臺(tái)服務(wù)器上進(jìn)行高密度的數(shù)據(jù)庫(kù)實(shí)例部署,通過容器的隔離性和資源限制功能,可以更好地利用服務(wù)器資源,提高資源利用率和成本效益。數(shù)據(jù)庫(kù)混合部署,金融應(yīng)用通常需要使用多種類型的數(shù)據(jù)庫(kù),容器化使得在同一個(gè)環(huán)境中運(yùn)行和管理不同類型的數(shù)據(jù)庫(kù)變得更加高效、經(jīng)濟(jì),實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)的混合部署。保證數(shù)據(jù)安全與隔離,在多租戶或共享環(huán)境中,相對(duì)于共享4物理機(jī),分布式數(shù)據(jù)庫(kù)容器化提供了更好的數(shù)據(jù)隔離和安全保障。每個(gè)數(shù)據(jù)庫(kù)實(shí)例運(yùn)行在獨(dú)立的容器中,可以減少數(shù)據(jù)泄露和相互干擾的風(fēng)險(xiǎn)。本文從金融行業(yè)視角,對(duì)分布式數(shù)據(jù)庫(kù)和容器技術(shù)進(jìn)行了研究,結(jié)合實(shí)踐中的真實(shí)運(yùn)維需求和應(yīng)用需求給出了分布式數(shù)據(jù)庫(kù)容器化建設(shè)方案,為云化時(shí)代金融機(jī)構(gòu)運(yùn)用容器技術(shù)解決云平臺(tái)和分布式數(shù)據(jù)庫(kù)間兼容匹配的問題提供有效參考。二、技術(shù)分析(一)分布式數(shù)據(jù)庫(kù)技術(shù)分布式數(shù)據(jù)庫(kù)是一種在多個(gè)物理或邏輯位置存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)。在金融行業(yè),分布式數(shù)據(jù)庫(kù)提供了高可用性、數(shù)據(jù)一致性和彈性擴(kuò)縮容能力。金融機(jī)構(gòu)可以利用分布式數(shù)據(jù)庫(kù)處理大規(guī)模交易數(shù)據(jù),實(shí)現(xiàn)快速查詢和實(shí)時(shí)分析,從而提高決策效率。隨著金融科技的發(fā)展,分布式數(shù)據(jù)庫(kù)在支持復(fù)雜金融產(chǎn)品、風(fēng)險(xiǎn)管理和客戶服務(wù)等方面發(fā)揮著越來越重要的作用。分布式數(shù)據(jù)庫(kù)的性能,源自其在數(shù)據(jù)分布、事務(wù)處理和架構(gòu)上的獨(dú)特之處。1.數(shù)據(jù)分布方式。分布式數(shù)據(jù)庫(kù)與單機(jī)數(shù)據(jù)庫(kù)存儲(chǔ)在本地磁盤或者共享磁盤的方式不同,采用Sharde-Nothing架構(gòu)。數(shù)據(jù)通過多副本保存在不同的數(shù)據(jù)節(jié)點(diǎn),每個(gè)數(shù)據(jù)節(jié)點(diǎn)擁有一部分?jǐn)?shù)據(jù),多個(gè)數(shù)據(jù)節(jié)點(diǎn)共同組成完整數(shù)據(jù)。目前分布式數(shù)據(jù)庫(kù)產(chǎn)品的數(shù)據(jù)分布有兩種方式。指定分片鍵分布:數(shù)據(jù)表以指定分片鍵及分片算法方式,將5整張表的數(shù)據(jù)打散分布到各個(gè)數(shù)據(jù)節(jié)點(diǎn)。常用的分片策略有:哈希分片(hash)、范圍分片(range)、列表分片(list)、復(fù)制分片(duplicate)、多級(jí)分片等。根據(jù)大小默認(rèn)分布:某些分布式數(shù)據(jù)產(chǎn)品采用默認(rèn)分片方式,根據(jù)固定大小(如100M)對(duì)數(shù)據(jù)進(jìn)行物理切割,每個(gè)切割單元稱為Region,每個(gè)Region的內(nèi)容與數(shù)據(jù)表無對(duì)應(yīng)關(guān)系,一個(gè)Region可能包含多個(gè)不同數(shù)據(jù)表中的數(shù)據(jù)。2.分布式事務(wù)。分布式事務(wù)指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器以及事務(wù)管理器分別位于分布式系統(tǒng)的不同節(jié)點(diǎn)上,實(shí)現(xiàn)的目標(biāo)是將單機(jī)數(shù)據(jù)庫(kù)的ACID理論(即保證事務(wù)的原子性、一致性、隔離性、持久性),延伸到分布式架構(gòu)。在分布式系統(tǒng)設(shè)計(jì)中,CAP理論(ConsPartitiontolerance)指出,一個(gè)分布式系統(tǒng)在出現(xiàn)分區(qū)故障(Partition)時(shí),無法同時(shí)保證數(shù)據(jù)一致性(Consistency)和可用性(Availability因此分布式系統(tǒng)設(shè)計(jì)時(shí)通常需要在這三者之間做出權(quán)衡。業(yè)內(nèi)常用的分布式事務(wù)處理有兩種方案:a.兩階段提交(2PC)和三階段提交(3PC);b.SAGA事務(wù)(事務(wù)補(bǔ)償方案是一種長(zhǎng)活事務(wù)模型,用于處理分布式事務(wù),通過補(bǔ)償操作來恢復(fù)失敗的事務(wù)。在設(shè)計(jì)分布式系統(tǒng)時(shí),選擇合適的一致性模型和算法是非常重要的,這直接影響到系統(tǒng)的性能、可靠性和用戶體驗(yàn)。對(duì)于分布式事務(wù)功能上的主要包含如下三個(gè)方面:6(1)數(shù)據(jù)一致性:不同于單機(jī)數(shù)據(jù)庫(kù)的事務(wù)只在本機(jī)一個(gè)節(jié)點(diǎn)中完成,分布式數(shù)據(jù)庫(kù)的事務(wù)需要跨越多個(gè)數(shù)據(jù)節(jié)點(diǎn)。事務(wù)參與節(jié)點(diǎn)數(shù)量增加,發(fā)生故障的概率隨之增加。在故障發(fā)生時(shí)如何保證事務(wù)數(shù)據(jù)一致性、故障發(fā)生后失敗的事務(wù)如何高效回滾處理,通常需要根據(jù)具體的應(yīng)用場(chǎng)景和業(yè)務(wù)需求來平衡。(2)分布式事務(wù)性能:由于分布式事務(wù)提與單機(jī)數(shù)據(jù)庫(kù)事務(wù)相比性能有所下降。優(yōu)化分布式事務(wù)性能,是分布式數(shù)據(jù)庫(kù)產(chǎn)品的重大挑戰(zhàn)。(3)事務(wù)隔離級(jí)別:目前大多數(shù)分布式數(shù)據(jù)庫(kù)產(chǎn)品可以實(shí)現(xiàn)的隔離級(jí)別為READCOMMIT,少部分產(chǎn)品可支持多種事務(wù)隔離級(jí)別。若實(shí)現(xiàn)單機(jī)數(shù)據(jù)庫(kù)如Oracle的隔離級(jí)別及MVCC多版本控制,在分布式架構(gòu)下具有較高難度。目前業(yè)界的產(chǎn)品均在此功能上不斷提升探索,并不斷探索在分布式場(chǎng)景中解決讀寫并發(fā)操作帶來的一致性問題。3.架構(gòu)。分布式數(shù)據(jù)庫(kù)技術(shù)架構(gòu)包括管理模塊、計(jì)算模塊、存儲(chǔ)模塊3部分組成,技術(shù)架構(gòu)如圖1所示。7分布式數(shù)據(jù)庫(kù)具有高擴(kuò)展性、高可用性、分布式事務(wù)強(qiáng)一致性等特點(diǎn),并且部分產(chǎn)品具備數(shù)據(jù)庫(kù)云化能力,可為客戶提供數(shù)據(jù)庫(kù)云服務(wù)的標(biāo)準(zhǔn)化交付和快速部署,支持多種部署模式等。經(jīng)過對(duì)主流分布式數(shù)據(jù)庫(kù)的架構(gòu)設(shè)計(jì)分析,總結(jié)出以下幾點(diǎn)共同特征:(1)線性擴(kuò)展:分布式數(shù)據(jù)庫(kù)軟件架構(gòu)采用分層設(shè)計(jì),一般基于Share-Nothing架構(gòu),采用集群方式部署,實(shí)現(xiàn)各組件的靈活擴(kuò)展,從而提供高性能的數(shù)據(jù)庫(kù)服務(wù)。同時(shí)結(jié)合數(shù)據(jù)動(dòng)態(tài)重分布和讀寫分離等技術(shù),實(shí)現(xiàn)性能的線性擴(kuò)展。計(jì)算節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)均可橫向線性擴(kuò)展,滿足性能及容量的無限擴(kuò)展需求??梢灾С侄喾N組網(wǎng)架構(gòu),創(chuàng)新研發(fā)數(shù)據(jù)復(fù)制技術(shù),針對(duì)不同的業(yè)務(wù)場(chǎng)景靈活配置不同的策略來滿足不同的可用性和可靠性要求,8提高系統(tǒng)吞吐量的同時(shí),實(shí)現(xiàn)同城RPO為0。滿足數(shù)據(jù)高可靠、服務(wù)高可用要求。支持機(jī)房級(jí)故障自動(dòng)切換、支持異地帶載演練和異地帶壓演練。(3)分布式事務(wù)強(qiáng)一致性:具備分布式事務(wù)一致性,從數(shù)據(jù)庫(kù)層面實(shí)現(xiàn)了數(shù)據(jù)的強(qiáng)一致性,對(duì)應(yīng)用透明,無需應(yīng)用改造,提升應(yīng)用遷移效率。云容器技術(shù)是一種將應(yīng)用程序及其依賴項(xiàng)打包在輕量級(jí)、可移植的容器中的技術(shù),這些容器可以在任何支持容器運(yùn)行的環(huán)境中快速部署和運(yùn)行。容器技術(shù)通過隔離應(yīng)用程序及其運(yùn)行環(huán)境,提高了應(yīng)用的可移植性和可擴(kuò)展性。在云環(huán)境中,容器可以輕松地在不同的云服務(wù)和數(shù)據(jù)中心之間遷移,實(shí)現(xiàn)資源的最優(yōu)配置和成本效益。1.Pod。Pod是K8s的最小工作單元。每個(gè)Pod包含一個(gè)或多個(gè)容器。Pod中的容器會(huì)作為一個(gè)整體被Master調(diào)度到一個(gè)Node上運(yùn)行。K8s引入Pod主要基于如下兩個(gè)目的:(1)可管理性。有些容器需要緊密聯(lián)系,Pod提供了比容器更高層次的抽象,將他們封裝到一個(gè)部署單元中。K8s以Pod為最小單位進(jìn)行調(diào)度、擴(kuò)展、共享資源、管理生命周期。(2)通信和資源共享。Pod中的所有容器使用同一個(gè)網(wǎng)絡(luò)namespace,即相同的IP地址和Port空間。他們可以直接用localhost通信,可以共享存儲(chǔ)。92.調(diào)度。K8s系統(tǒng)的核心任務(wù)是創(chuàng)建客戶端請(qǐng)求創(chuàng)建的Pod對(duì)象,并確保其以期望的狀態(tài)運(yùn)行。創(chuàng)建Pod對(duì)象時(shí),調(diào)度器為每一個(gè)Pod資源挑選合適的節(jié)點(diǎn)來運(yùn)行,因此也被稱作Pod調(diào)度器。調(diào)度過程中,調(diào)度器不會(huì)修改Pod資源,而是從中讀取數(shù)據(jù),并根據(jù)配置的策略挑選出最適合的節(jié)點(diǎn),而后通過API調(diào)用將Pod綁定至挑選出的節(jié)點(diǎn)之上以完成調(diào)度過程。k8s內(nèi)建了適合絕大多數(shù)場(chǎng)景Pod資源調(diào)度需求的默認(rèn)調(diào)度器,支持同時(shí)使用算法基于原生及可定制的工具來選出集群中最適合運(yùn)行當(dāng)前Pod資源的一個(gè)節(jié)點(diǎn),其核心目標(biāo)是基于資源可用性將各Pod資源公平地分布于集群節(jié)點(diǎn)之上。目前,K8s平臺(tái)提供的默認(rèn)調(diào)度器也稱為“通用調(diào)度器”,通過三個(gè)步驟完成調(diào)度操作:節(jié)點(diǎn)預(yù)選(Predicate)、節(jié)點(diǎn)優(yōu)先級(jí)排序及節(jié)點(diǎn)擇優(yōu)。節(jié)點(diǎn)預(yù)選是基于一系列預(yù)選規(guī)則對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行檢查,將那些不符合條件的節(jié)點(diǎn)過濾掉從而完成節(jié)點(diǎn)預(yù)選。節(jié)點(diǎn)優(yōu)選是對(duì)預(yù)選出的節(jié)點(diǎn)進(jìn)行優(yōu)先級(jí)排序,以便選出最適合運(yùn)行Pod對(duì)象的節(jié)點(diǎn)。最后,從優(yōu)先級(jí)排序結(jié)果中挑出優(yōu)先級(jí)最高的節(jié)點(diǎn)運(yùn)行Pod象,當(dāng)此類節(jié)點(diǎn)多于一個(gè)時(shí),則從中隨機(jī)選擇一個(gè)。3.Service。k8s的Service是一個(gè)抽象層,定義了一種訪問Pod組的方法,通常跨多個(gè)容器和節(jié)點(diǎn)。Service為Pod組提供固定的IP地址和DNS名稱,以便其他組件可以通過該地址和名稱與Pod通信,即使背后的Pod實(shí)例發(fā)生變化也不受影響。k8s提供了幾種類型的Service:ClusterIP:這是默認(rèn)的Service類型,為Service分配一個(gè)內(nèi)部的IP地址,使得Service只能在集群內(nèi)部訪問,適用于集群內(nèi)部通信。NodePort:這種類型的Service會(huì)在集群的所有節(jié)點(diǎn)上開放),<NodePort>訪問Service。LoadBalancer:這種Service在NodePort的基礎(chǔ)上,通過云提供商的負(fù)載均衡器向外部暴露一個(gè)Service。云提供商會(huì)在其負(fù)載均衡器上分配一個(gè)外部IP地址,流量會(huì)通過這個(gè)IP地址路由到集群中的Service。4.存儲(chǔ)。k8s提供了多種存儲(chǔ)卷(Volume)類型,用于管理和也支持多種backend類型,包括emptyDir、hostPath、GCEPersistentDisk、AWSElasticBlockStore、NFS、Ceph等。其中PersistentVolume是集群中的一個(gè)存儲(chǔ)資源,由管理員預(yù)先配置或由動(dòng)態(tài)存儲(chǔ)供應(yīng)系統(tǒng)自動(dòng)供應(yīng)。PersistentVolume通常關(guān)聯(lián)到底層的物理存儲(chǔ)系統(tǒng),如NAS、SAN,云盤,分布式存儲(chǔ)或者本地盤。PV是與Pod生命周期獨(dú)立的,當(dāng)Pod不再存在時(shí),PV中的數(shù)據(jù)仍然保持不變。三、運(yùn)維需求分析運(yùn)維服務(wù)能力和運(yùn)維體系是分布式數(shù)據(jù)庫(kù)平穩(wěn)運(yùn)行的重要備份恢復(fù)、安全防護(hù)等服務(wù)能力,并形成標(biāo)準(zhǔn)化的操作流程和規(guī)可以有效提升分布式數(shù)據(jù)庫(kù)的穩(wěn)定性、可用性和性能,降低故障風(fēng)險(xiǎn),并快速響應(yīng)和處置故障。在分布式數(shù)據(jù)庫(kù)管理平臺(tái)中,調(diào)度算法和策略直接影響到數(shù)據(jù)庫(kù)實(shí)例的資源利用效率、業(yè)務(wù)性能和運(yùn)維成本。一個(gè)高效、智能、靈活的調(diào)度系統(tǒng)需要綜合考慮多方面的因素和需求,并支持多樣化的調(diào)度策略和優(yōu)化手段。應(yīng)具備如下能力:1.多維度資源評(píng)估與約束控制。調(diào)度系統(tǒng)維護(hù)節(jié)點(diǎn)資源分配表,記錄每個(gè)節(jié)點(diǎn)上已分配的分布式數(shù)據(jù)庫(kù)實(shí)例及其資源需求(如CPU核數(shù)、內(nèi)存大小、存儲(chǔ)空間等),同時(shí)通過監(jiān)控組件實(shí)時(shí)采集節(jié)點(diǎn)的各項(xiàng)資源指標(biāo)。通過比較節(jié)點(diǎn)的資源分配表和實(shí)時(shí)監(jiān)控?cái)?shù)據(jù),控制計(jì)算節(jié)點(diǎn)的負(fù)載水平和剩余容量。2.基于分布式數(shù)據(jù)庫(kù)服務(wù)分級(jí)的調(diào)度。根據(jù)不同的維度,對(duì)分布式數(shù)據(jù)庫(kù)實(shí)例進(jìn)行分級(jí)打標(biāo):(1)業(yè)務(wù)重要性:根據(jù)分布式數(shù)據(jù)庫(kù)實(shí)例所承載業(yè)務(wù)的重要程度,劃分為核心、重要、一般、長(zhǎng)尾等級(jí)別。(2)服務(wù)等級(jí)協(xié)議(SLA):根據(jù)業(yè)務(wù)對(duì)分布式數(shù)據(jù)庫(kù)實(shí)例的可用性、性能、數(shù)據(jù)一致性等指標(biāo)的要求,劃分為高保、低保等級(jí)別,或者定義更細(xì)粒度的SLA等級(jí)。(3)業(yè)務(wù)訪問模式:根據(jù)分布式數(shù)據(jù)庫(kù)實(shí)例的讀寫比例、并發(fā)用戶數(shù)、請(qǐng)求量波動(dòng)等訪問特征,劃分為穩(wěn)態(tài)業(yè)務(wù)(訪問平穩(wěn))和敏態(tài)業(yè)務(wù)(訪問波動(dòng)大)等。3.節(jié)點(diǎn)密度分級(jí)與超賣管理。通過對(duì)節(jié)點(diǎn)打標(biāo)區(qū)分高密度和低密度節(jié)點(diǎn),并設(shè)置不同的超賣比例。根據(jù)節(jié)點(diǎn)的密度等級(jí)和數(shù)據(jù)庫(kù)的業(yè)務(wù)級(jí)別,自動(dòng)匹配最優(yōu)的部署方案,在資源利用率和業(yè)務(wù)隔離性之間取得平衡。4.基于分布式數(shù)據(jù)庫(kù)畫像的智能混部與負(fù)載錯(cuò)峰,通過對(duì)分布式數(shù)據(jù)庫(kù)實(shí)例的資源使用情況進(jìn)行持續(xù)監(jiān)控和分析,可以自動(dòng)識(shí)別負(fù)載類型和高峰期特征,并據(jù)此進(jìn)行智能混部和負(fù)載錯(cuò)峰調(diào)度,優(yōu)化節(jié)點(diǎn)的資源利用效率。5.主機(jī)組隔離調(diào)度,不同的業(yè)務(wù)負(fù)載往往會(huì)運(yùn)行在不同的Node分組中,如經(jīng)典的數(shù)據(jù)面和控制面的分離、不同數(shù)據(jù)庫(kù)引擎的部署隔離等。6.NumaNode調(diào)度能力,在多NumaNode架構(gòu)機(jī)器下跨Numa分配和管理能力。1.配置變更。分布式數(shù)據(jù)庫(kù)配置變更是指對(duì)參數(shù)、設(shè)置等進(jìn)行調(diào)整和優(yōu)化。應(yīng)符合如下流程:(1)變更的影響分析和風(fēng)險(xiǎn)評(píng)估:評(píng)估變更對(duì)分布式數(shù)據(jù)制定相應(yīng)的應(yīng)對(duì)措施和回滾方案。通過測(cè)試環(huán)境和模擬工具,對(duì)變更進(jìn)行預(yù)演和驗(yàn)證,確保變更的正確性和有效性,并優(yōu)化變更的執(zhí)行方案。(2)變更流程和審批機(jī)制:制定詳細(xì)的變更執(zhí)行計(jì)劃,明確變更的時(shí)間窗口、操作步驟、驗(yàn)證標(biāo)準(zhǔn)等,確保變更過程的規(guī)范性和一致性。建立標(biāo)準(zhǔn)化的配置變更流程,明確變更的申請(qǐng)、審核、執(zhí)行、驗(yàn)證等各個(gè)環(huán)節(jié)的職責(zé)和要求。對(duì)變更進(jìn)行分級(jí)管理,根據(jù)變更的影響范圍、風(fēng)險(xiǎn)程度和緊急程度,設(shè)置不同的審批層級(jí)和權(quán)限控制。通過變更管理平臺(tái)和工單系統(tǒng),實(shí)現(xiàn)變更流程的自動(dòng)化和可視化,確保變更過程的可追溯和可審計(jì)。(3)變更的配置管理和版本控制:建立分布式數(shù)據(jù)庫(kù)配置的基線管理和版本控制機(jī)制,通過配置管理數(shù)據(jù)庫(kù)(CMDB)等工具,實(shí)現(xiàn)配置的標(biāo)準(zhǔn)化和可追溯。對(duì)不同環(huán)境和實(shí)例,維護(hù)一致的配置模板和參數(shù)標(biāo)準(zhǔn),確保配置的一致性和可重復(fù)性。定期對(duì)配置進(jìn)行審計(jì)和合規(guī)性檢查,發(fā)現(xiàn)和糾正配置漂移和違規(guī)情況,保障分布式數(shù)據(jù)庫(kù)的長(zhǎng)期穩(wěn)定運(yùn)行。(4)變更的執(zhí)行和監(jiān)控:對(duì)于需要重啟分布式數(shù)據(jù)庫(kù)的配置變更,采用滾動(dòng)升級(jí)策略,最小化變更對(duì)業(yè)務(wù)的影響。在變更過程中,對(duì)性能指標(biāo)、資源利用、錯(cuò)誤日志等進(jìn)行實(shí)時(shí)監(jiān)控,及時(shí)發(fā)現(xiàn)和處理異常情況。(5)變更的驗(yàn)證和回滾機(jī)制:根據(jù)預(yù)定的驗(yàn)證標(biāo)準(zhǔn)(例如冒煙測(cè)試用例對(duì)變更后的分布式數(shù)據(jù)庫(kù)進(jìn)行全面的功能、性能和安全驗(yàn)證,確保變更的正確性和有效性。建立變更的回滾機(jī)制和應(yīng)急預(yù)案,在變更出現(xiàn)問題或未達(dá)到預(yù)期效果時(shí),能夠快速回滾到變更前的穩(wěn)定狀態(tài)。對(duì)變更過程和結(jié)果進(jìn)行詳細(xì)的記錄和總結(jié),形成變更報(bào)告和知識(shí)庫(kù),為后續(xù)的變更優(yōu)化和問題診斷提供參考。(6)變更的發(fā)布和通知:建立變更的發(fā)布流程和策略,根據(jù)變更的優(yōu)先級(jí)和影響范圍,合理安排變更的發(fā)布時(shí)間和方式。通過郵件、短信、即時(shí)通訊等多種渠道,及時(shí)向相關(guān)人員發(fā)送變更通知和進(jìn)度更新,確保信息的透明和同步。2.資源變更。資源變更是對(duì)分布式數(shù)據(jù)庫(kù)所依賴的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源進(jìn)行調(diào)整、優(yōu)化和擴(kuò)展,以滿足業(yè)務(wù)增長(zhǎng)和性能要求的變化。資源變更應(yīng)符合如下流程:(1)資源監(jiān)控和評(píng)估:持續(xù)監(jiān)控分布式數(shù)據(jù)庫(kù)的性能指標(biāo)和資源利用情況,及時(shí)發(fā)現(xiàn)和預(yù)警資源瓶頸和容量不足。定期評(píng)估分布式數(shù)據(jù)庫(kù)的資源配置和業(yè)務(wù)需求匹配度,識(shí)別優(yōu)化和擴(kuò)容的時(shí)機(jī)。(2)物理資源評(píng)估和決策:評(píng)估當(dāng)前實(shí)例所在服務(wù)器的資源利用情況,包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等,判斷是否有足夠的可用資源來滿足變更需求。如果當(dāng)前服務(wù)器資源不足,需要評(píng)估分布式數(shù)據(jù)庫(kù)集群中其他服務(wù)器的資源狀態(tài),尋找可用資源較數(shù)據(jù)的重要性和業(yè)務(wù)等級(jí)等因素,制定跨機(jī)遷移或集群調(diào)度的決策方案。(3)變更流程和審批機(jī)制:制定詳細(xì)的變更執(zhí)行計(jì)劃,明確變更的時(shí)間窗口、操作步驟、驗(yàn)證標(biāo)準(zhǔn)等,確保變更過程的規(guī)范性和一致性。建立標(biāo)準(zhǔn)化的配置變更流程,明確變更的申請(qǐng)、審核、執(zhí)行、驗(yàn)證等各個(gè)環(huán)節(jié)的職責(zé)和要求。對(duì)變更進(jìn)行分級(jí)管理,根據(jù)變更的影響范圍、風(fēng)險(xiǎn)程度和緊急程度,設(shè)置不同的審批層級(jí)和權(quán)限控制。通過變更管理平臺(tái)和工單系統(tǒng),實(shí)現(xiàn)變更流程的自動(dòng)化和可視化,確保變更過程的可追溯和可審計(jì)。(4)跨機(jī)遷移和集群調(diào)度(可能):如果需要進(jìn)行跨機(jī)遷移,需要通過集群調(diào)度算法,選擇集群中資源利用率較低、可用資源較多的服務(wù)器作為遷移目標(biāo)。在遷移過程中,需要確保數(shù)據(jù)的一致性和完整性,可以采用數(shù)據(jù)同步、快照、日志傳輸?shù)燃夹g(shù)手段,最小化遷移對(duì)業(yè)務(wù)的影響。(5)重啟帶來的副本輪轉(zhuǎn)(可能):在進(jìn)行資源變更時(shí),如果需要調(diào)整內(nèi)存等資源限制,可能需要重啟數(shù)據(jù)庫(kù)進(jìn)程才能生效。為了最小化重啟對(duì)業(yè)務(wù)的影響,可以采用逐個(gè)副本輪轉(zhuǎn)的方式,依次對(duì)分布式數(shù)據(jù)庫(kù)的各個(gè)副本進(jìn)行資源調(diào)整和重啟。(6)變更驗(yàn)證和優(yōu)化機(jī)制:監(jiān)測(cè)各項(xiàng)性能指標(biāo)是否符合預(yù)期?;谛阅茉u(píng)估的結(jié)果,運(yùn)維人員可以進(jìn)一步優(yōu)化資源配置,或者調(diào)整變更方案,以實(shí)現(xiàn)性能和資源利用率的最佳平衡。如果將分布式數(shù)據(jù)庫(kù)恢復(fù)到變更前的狀態(tài)。3.版本變更(升級(jí))。版本升級(jí)的目的是定期更新分布式數(shù)據(jù)庫(kù)軟件,以支持新功能、提升性能或修復(fù)已知漏洞。不同升級(jí)場(chǎng)景下的技術(shù)方案和實(shí)施流程:(1)升級(jí)策略和風(fēng)險(xiǎn)評(píng)估:根據(jù)分布式數(shù)據(jù)庫(kù)軟件的版本發(fā)布計(jì)劃和生命周期,制定長(zhǎng)期的升級(jí)策略和路線圖,平衡新特性引入和穩(wěn)定性保障的需求。評(píng)估不同版本之間的兼容性和差異性,重點(diǎn)關(guān)注數(shù)據(jù)格式、SQL語(yǔ)法、性能特征、配置參數(shù)等方面評(píng)估其必要性、可行性和風(fēng)險(xiǎn)性,權(quán)衡升級(jí)的收益、成本和潛在風(fēng)險(xiǎn),選擇最佳的升級(jí)時(shí)機(jī)和方案。在執(zhí)行升級(jí)之前,需要進(jìn)行一次數(shù)據(jù)備份,以降低數(shù)據(jù)損壞的風(fēng)險(xiǎn),減小發(fā)生數(shù)據(jù)損壞情況下恢復(fù)服務(wù)的時(shí)間窗口。(2)小版本升級(jí)與滾動(dòng)升級(jí):對(duì)于小版本升級(jí)(如補(bǔ)丁版本或者次要版本),通常采用滾動(dòng)升級(jí)的方式,逐個(gè)升級(jí)分布式數(shù)據(jù)庫(kù)實(shí)例,以最小化對(duì)業(yè)務(wù)的影響。滾動(dòng)升級(jí)通常可以在分布式數(shù)據(jù)庫(kù)正常運(yùn)行的情況下進(jìn)行,通過控制升級(jí)窗口期和切換時(shí)間,最小化業(yè)務(wù)中斷時(shí)間。(3)大版本升級(jí)與藍(lán)綠部署:對(duì)于大版本升級(jí)(如主要版本或者架構(gòu)變更),由于涉及重大變化和風(fēng)險(xiǎn),通常采用藍(lán)綠部署的方式,通過業(yè)務(wù)切換實(shí)現(xiàn)平滑升級(jí)。藍(lán)綠部署可以最大限度地降低升級(jí)風(fēng)險(xiǎn),提供回滾保障,但需要額外的硬件資源和較復(fù)雜的流量切換機(jī)制,需要修改業(yè)務(wù)連接數(shù)據(jù)庫(kù)的DNS配置/負(fù)載均衡/應(yīng)用程序配置。(4)升級(jí)驗(yàn)證與回滾機(jī)制:無論采用何種升級(jí)方式,都需要在升級(jí)前后進(jìn)行嚴(yán)格的驗(yàn)證和測(cè)試,確保業(yè)務(wù)邏輯、數(shù)據(jù)一致性、性能表現(xiàn)等符合預(yù)期。升級(jí)驗(yàn)證的主要包括:數(shù)據(jù)完整性驗(yàn)證、查詢結(jié)果驗(yàn)證、性能基準(zhǔn)測(cè)試、業(yè)務(wù)場(chǎng)景回歸測(cè)試等,必要時(shí)需要進(jìn)行數(shù)據(jù)訂正或者補(bǔ)償。建立完善的回滾機(jī)制和應(yīng)急預(yù)案,對(duì)于升級(jí)過程中發(fā)現(xiàn)的嚴(yán)重問題或者異常情況,能夠及時(shí)回退到升級(jí)前的穩(wěn)定狀態(tài),保證業(yè)務(wù)連續(xù)性。切換分為故障自動(dòng)切換和計(jì)劃內(nèi)切換。1.故障自動(dòng)切換(Failover)。故障自動(dòng)切換的目標(biāo)是在leader(leader也稱主副本)發(fā)生故障時(shí),快速、自動(dòng)地將服務(wù)切換到預(yù)先準(zhǔn)備好的follower(follower也稱備副本以最大限度地減少業(yè)務(wù)中斷時(shí)間,確保業(yè)務(wù)連續(xù)性。故障自動(dòng)切換應(yīng)符合如下流程:的可用性。當(dāng)leader無法訪問或響應(yīng)超時(shí)時(shí),觸發(fā)故障切換流程。通過follower或者其他組件二次確認(rèn)leader是否故障,防止誤判。中選擇一個(gè)作為新的leader。選舉過程考慮follower的復(fù)制狀態(tài)、硬件配置、網(wǎng)絡(luò)延遲、綜合負(fù)載等因素。確保新leader具有最新的數(shù)據(jù)和最佳的性能。更新數(shù)據(jù)庫(kù)連接配置,使應(yīng)用程序連接到新leader。確保切換過程快速、平穩(wěn),最小化對(duì)業(yè)務(wù)的影響。的follower。建立新的復(fù)制關(guān)系,同步新leader的數(shù)據(jù)更新。監(jiān)控復(fù)制狀態(tài),確保數(shù)據(jù)的一致性和完整性。(5)故障恢復(fù):對(duì)舊leader進(jìn)行故障診斷和修復(fù)。根據(jù)實(shí)際情況,決定是否將其重新加入集群作為follower。記錄故障原因和處理過程,分析原因,優(yōu)化故障自動(dòng)切換流程。有時(shí)需要將服務(wù)從一個(gè)分布式數(shù)據(jù)庫(kù)實(shí)例切換到另一個(gè)實(shí)例,以(1)準(zhǔn)備階段:確保備用實(shí)例與主實(shí)例的數(shù)據(jù)完全同步。驗(yàn)證備用實(shí)例的配置和性能是否滿足要求。提交切換計(jì)劃進(jìn)行審批(可選)。通知相關(guān)人員和系統(tǒng)關(guān)于即將進(jìn)行的切換操作(可(2)切換階段:停止向主實(shí)例寫入新的數(shù)據(jù)。等待主實(shí)例和備用實(shí)例之間的數(shù)據(jù)完全同步。將讀取操作切換到備用實(shí)例。將備用實(shí)例提升為新的主實(shí)例。更新相關(guān)系統(tǒng)和客戶端的配置,以連接新的主實(shí)例。(3)驗(yàn)證階段:檢查新的主實(shí)例是否正常工作。驗(yàn)證數(shù)據(jù)的完整性和一致性。監(jiān)控系統(tǒng)性能、查詢響應(yīng)時(shí)間、慢查詢等指標(biāo),確保切換后的穩(wěn)定性。(4)回退預(yù)案(可選):如果切換后出現(xiàn)問題,可以將服務(wù)切換回原來的主實(shí)例。確?;赝诉^程中數(shù)據(jù)的一致性和完整性。1.故障副本重搭。分布式數(shù)據(jù)庫(kù)副本的健康狀態(tài)對(duì)于整個(gè)系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要。由于各種原因,導(dǎo)致復(fù)制中斷或數(shù)據(jù)不一致時(shí),需要進(jìn)行副本重搭操作,以修復(fù)受影響的副本。重搭操作應(yīng)符合如下流程:(1)問題識(shí)別:通過監(jiān)控系統(tǒng)或人工檢查,發(fā)現(xiàn)副本出現(xiàn)問題。確定問題的原因和影響范圍。(2)隔離受影響的副本:將出現(xiàn)問題的副本從復(fù)制拓?fù)渲幸瞥?,避免影響其他?jié)點(diǎn)。停止對(duì)該副本的讀寫操作,防止數(shù)據(jù)進(jìn)一步損壞。(3)重建新副本:創(chuàng)建一個(gè)新的副本實(shí)例,或清空受影響副本的數(shù)據(jù)。從leader或其他健康的副本進(jìn)行數(shù)據(jù)同步,重建副本數(shù)據(jù)。同步過程中,確保數(shù)據(jù)的一致性和完整性。重建完成后,將副本加入集群拓?fù)?。?)數(shù)據(jù)同步驗(yàn)證:監(jiān)控新副本的復(fù)制狀態(tài)和延遲,確保與leader庫(kù)保持一致。對(duì)新副本進(jìn)行數(shù)據(jù)一致性校驗(yàn),如比對(duì)表結(jié)構(gòu)、數(shù)據(jù)行數(shù)等。進(jìn)行必要的性能測(cè)試,評(píng)估新副本的處理能力。(5)舊副本下線(可選):進(jìn)行必要的數(shù)據(jù)備份或歸檔。下線舊副本,回收資源或進(jìn)行后續(xù)處理。2.計(jì)劃內(nèi)副本重搭。計(jì)劃內(nèi)的副本重搭操作,常見于節(jié)點(diǎn)下線、版本升級(jí)、硬件更換等場(chǎng)景。與故障引發(fā)的非計(jì)劃性重搭不同,計(jì)劃內(nèi)重搭有充分的準(zhǔn)備時(shí)間,可以更好地控制操作過程和影響范圍。計(jì)劃內(nèi)副本重搭操作通常包括以下流程:(1)重搭計(jì)劃制定:明確重搭的原因、目標(biāo)和時(shí)間安排。評(píng)估重搭對(duì)業(yè)務(wù)的影響,制定降低影響的策略。評(píng)估是否需要額外的硬件資源。(2)重建新副本:創(chuàng)建一個(gè)新的副本實(shí)例,或清空受影響副本的數(shù)據(jù)。從leader庫(kù)或其他健康的副本進(jìn)行數(shù)據(jù)同步,重建副本數(shù)據(jù)。同步過程中,確保數(shù)據(jù)的一致性和完整性。重建完成后,將副本加入集群拓?fù)?。?)數(shù)據(jù)同步驗(yàn)證:監(jiān)控新副本的復(fù)制狀態(tài)和延遲,確保與leader保持一致。對(duì)新副本進(jìn)行數(shù)據(jù)一致性校驗(yàn),如比對(duì)表結(jié)構(gòu)、數(shù)據(jù)行數(shù)等。進(jìn)行必要的性能測(cè)試,評(píng)估新副本的處理能(4)服務(wù)切換(可選):選擇合適的時(shí)間窗口,盡量減少對(duì)業(yè)務(wù)的影響。將讀寫請(qǐng)求從舊副本切換到新副本。監(jiān)控切換過程,確保服務(wù)的平穩(wěn)過渡。(5)舊副本下線(可選):停止舊副本的復(fù)制進(jìn)程,斷開與leader的連接。進(jìn)行必要的數(shù)據(jù)備份或歸檔。下線舊副本,回收資源或進(jìn)行后續(xù)處理。備份可以在分布式數(shù)據(jù)庫(kù)故障、人為錯(cuò)誤或?yàn)?zāi)難情況下提供數(shù)據(jù)恢復(fù)的手段。為了確保備份的有效性和可靠性,需要制定完善的備份策略和規(guī)范的運(yùn)維操作流程。1.數(shù)據(jù)備份。數(shù)據(jù)備份主要有自動(dòng)和手動(dòng)兩種主要方式:(1)自動(dòng)備份:制定備份策略,包括備份類型(存儲(chǔ)快照/利用分布式數(shù)據(jù)庫(kù)廠商提供的備份工具和執(zhí)行。制定備份數(shù)據(jù)的管理和歸檔策略,根據(jù)數(shù)據(jù)的生命周期和法規(guī)要求,確定備份數(shù)據(jù)的保留期限和歸檔方式。(2)手動(dòng)備份:在特定情況下,如重大變更前、升級(jí)遷移前等,需要進(jìn)行手動(dòng)備份以確保數(shù)據(jù)安全。2.數(shù)據(jù)庫(kù)恢復(fù)。數(shù)據(jù)庫(kù)備份進(jìn)行恢復(fù)的流程:(1)確定恢復(fù)目標(biāo):確定需要恢復(fù)的目標(biāo)時(shí)間點(diǎn)。確定需要恢復(fù)的分布式數(shù)據(jù)庫(kù)對(duì)象(庫(kù)、表)和數(shù)據(jù)范圍(行、列)。(2)選擇合適的備份:根據(jù)恢復(fù)目標(biāo)時(shí)間點(diǎn),選擇最接近且時(shí)間點(diǎn)之前的可用備份??紤]備份的類型和完整性,優(yōu)先選擇全量備份,必要時(shí)輔以增量備份或日志備份。驗(yàn)證所選備份的完整性和有效性,例如MD5、CRC校驗(yàn)碼等。(3)執(zhí)行恢復(fù)操作:創(chuàng)建恢復(fù)操作的審計(jì)和追蹤記錄,記權(quán)限配置等。利用分布式數(shù)據(jù)庫(kù)廠商提供的備份恢復(fù)工具和執(zhí)行步驟,有序執(zhí)行恢復(fù)操作。監(jiān)控恢復(fù)進(jìn)度和狀態(tài),記錄恢復(fù)過程中的關(guān)鍵事件和異常情況。(4)驗(yàn)證恢復(fù)結(jié)果:執(zhí)行必要的數(shù)據(jù)校驗(yàn)和業(yè)務(wù)驗(yàn)證,確?;謴?fù)后的數(shù)據(jù)庫(kù)能夠正常支持業(yè)務(wù)運(yùn)行。生成恢復(fù)報(bào)告,記錄恢復(fù)過程、恢復(fù)結(jié)果和驗(yàn)證情況。分布式數(shù)據(jù)庫(kù)遷移包括停機(jī)遷移和在線遷移。停機(jī)遷移適合業(yè)務(wù)可以接受一定的停機(jī)時(shí)間、對(duì)數(shù)據(jù)一致性要求較高的場(chǎng)景。在線遷移適合業(yè)務(wù)連續(xù)性要求極高、可以容忍一定的性能影響的場(chǎng)景。分布式數(shù)據(jù)庫(kù)遷移應(yīng)符合如下流程:1.遷移準(zhǔn)備。確定遷移的源端和目標(biāo)端分布式數(shù)據(jù)庫(kù),評(píng)估數(shù)據(jù)量、業(yè)務(wù)特點(diǎn)、網(wǎng)絡(luò)條件等因素。檢查源端和目標(biāo)端分布式數(shù)據(jù)庫(kù)的配置一致性,包括版本、字符集、網(wǎng)絡(luò)配置等,避免兼容性問題。選擇合適的遷移時(shí)間窗口,通常在業(yè)務(wù)低峰期或維護(hù)窗口進(jìn)行。制定詳細(xì)的遷移計(jì)劃,包括遷移步驟、時(shí)間估計(jì)、風(fēng)險(xiǎn)評(píng)估、回退預(yù)案等。2.數(shù)據(jù)導(dǎo)出。使用分布式數(shù)據(jù)庫(kù)廠商提供的備份工具,導(dǎo)出源端的全量數(shù)據(jù)。對(duì)導(dǎo)出的數(shù)據(jù)文件進(jìn)行壓縮和加密,減少數(shù)據(jù)傳輸量和保護(hù)數(shù)據(jù)安全。3.數(shù)據(jù)傳輸。根據(jù)網(wǎng)絡(luò)條件和數(shù)據(jù)量,選擇合適的數(shù)據(jù)傳輸方式,如網(wǎng)絡(luò)流式傳輸、NAS、對(duì)象存儲(chǔ)等。使用數(shù)據(jù)傳輸工具,將導(dǎo)出的數(shù)據(jù)文件從源端傳輸?shù)侥繕?biāo)端。監(jiān)控?cái)?shù)據(jù)傳輸進(jìn)度和網(wǎng)絡(luò)性能,確保傳輸?shù)男屎头€(wěn)定性。4.數(shù)據(jù)導(dǎo)入。在目標(biāo)端分布式數(shù)據(jù)庫(kù)上創(chuàng)建與源端相同的將傳輸?shù)臄?shù)據(jù)文件導(dǎo)入到目標(biāo)端分布式數(shù)據(jù)庫(kù)。監(jiān)控?cái)?shù)據(jù)導(dǎo)入進(jìn)度和資源消耗,確保導(dǎo)入的效率和可靠性。5.增量同步。在全量數(shù)據(jù)導(dǎo)入完成后,啟動(dòng)增量同步進(jìn)程,實(shí)時(shí)同步源端分布式數(shù)據(jù)庫(kù)的變更到目標(biāo)端。使用分布式數(shù)據(jù)庫(kù)變更捕捉工具,捕獲源端增量變更。將捕獲的增量變更應(yīng)用到目標(biāo)端,保持兩端數(shù)據(jù)的最終一致性。6.數(shù)據(jù)校驗(yàn)。在數(shù)據(jù)導(dǎo)入和增量同步完成后,對(duì)目標(biāo)端分布式數(shù)據(jù)庫(kù)進(jìn)行全面的數(shù)據(jù)校驗(yàn)。使用數(shù)據(jù)比對(duì)工具,逐表比對(duì)源及時(shí)進(jìn)行人工核查和補(bǔ)償,確保數(shù)據(jù)的完整性和準(zhǔn)確性。7.應(yīng)用切換。在數(shù)據(jù)校驗(yàn)通過后,準(zhǔn)備將業(yè)務(wù)應(yīng)用從源端分布式數(shù)據(jù)庫(kù)切換到目標(biāo)端分布式數(shù)據(jù)庫(kù)。對(duì)源端分布式數(shù)據(jù)庫(kù)停寫,等待目標(biāo)端分布式數(shù)據(jù)庫(kù)與源端完全一致。修改DNS/負(fù)載均衡/應(yīng)用的分布式數(shù)據(jù)庫(kù)連接配置,將流量切到目標(biāo)端分布式數(shù)據(jù)庫(kù)地址。對(duì)業(yè)務(wù)功能和性能進(jìn)行監(jiān)控和驗(yàn)證。如果切換過程中出現(xiàn)問題,及時(shí)按照回退預(yù)案進(jìn)行回退操作,保證業(yè)務(wù)的連續(xù)性。8.遷移完成(可選)。對(duì)源端分布式數(shù)據(jù)庫(kù)進(jìn)行一次全量備份下線源端分布式數(shù)據(jù)庫(kù),釋放相關(guān)的資源。實(shí)時(shí)收集和分析數(shù)據(jù)庫(kù)的各項(xiàng)性能指標(biāo)、資源使用情況、SQL語(yǔ)句執(zhí)行情況等,可以幫助數(shù)據(jù)庫(kù)管理人員全面掌握分布式數(shù)據(jù)庫(kù)的運(yùn)行狀態(tài)和性能表現(xiàn)。應(yīng)具備如下能力:(1)性能指標(biāo)監(jiān)控:監(jiān)控分布式數(shù)據(jù)庫(kù)的關(guān)鍵性能指標(biāo),如CPU使用率、內(nèi)存占用、I/O性能、網(wǎng)絡(luò)帶寬等。跟蹤并發(fā)連接數(shù)、活動(dòng)會(huì)話數(shù)、鎖等待情況等,評(píng)估分布式數(shù)據(jù)庫(kù)的并發(fā)處理能力和資源利用效率。監(jiān)測(cè)緩存命中率、日志寫入速度、checkpoint頻率等,優(yōu)化內(nèi)存和持久化性能。(2)資源使用情況監(jiān)控:監(jiān)控磁盤空間使用情況,包括數(shù)跟蹤數(shù)據(jù)庫(kù)的CPU、內(nèi)存、I/O等資源的使用情況,發(fā)現(xiàn)資源瓶頸和異常使用模式。監(jiān)測(cè)分布式數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)連接和帶寬使用情況,優(yōu)化網(wǎng)絡(luò)配置和減少網(wǎng)絡(luò)延遲。(3)SQL語(yǔ)句執(zhí)行情況監(jiān)控:捕獲和分析分布式數(shù)據(jù)庫(kù)執(zhí)行的SQL語(yǔ)句,了解應(yīng)用程序的數(shù)據(jù)訪問模式。監(jiān)控SQL語(yǔ)句的執(zhí)行時(shí)間、執(zhí)行頻率、返回結(jié)果集大小等,發(fā)現(xiàn)性能較差的SQL語(yǔ)句和潛在的優(yōu)化機(jī)會(huì)。跟蹤SQL語(yǔ)句的執(zhí)行計(jì)劃和資源消耗,如CPU時(shí)間、邏輯讀寫、物理讀寫等,優(yōu)化SQL語(yǔ)句的性能。(4)異常情況和錯(cuò)誤監(jiān)控:監(jiān)控分布式數(shù)據(jù)庫(kù)的錯(cuò)誤日志和告警信息,及時(shí)發(fā)現(xiàn)和處理異常情況,如死鎖、表空間不足、并制定優(yōu)化方案。監(jiān)測(cè)分布式數(shù)據(jù)庫(kù)的安全事件和審計(jì)日志,發(fā)現(xiàn)和防范潛在的安全威脅和違規(guī)操作。(5)業(yè)務(wù)監(jiān)控和關(guān)聯(lián)分析:結(jié)合業(yè)務(wù)系統(tǒng)的關(guān)鍵指標(biāo),如響應(yīng)時(shí)間、吞吐量、并發(fā)用戶數(shù)等,分析分布式數(shù)據(jù)庫(kù)性能對(duì)業(yè)務(wù)的影響。將分布式數(shù)據(jù)庫(kù)監(jiān)控?cái)?shù)據(jù)與應(yīng)用程序監(jiān)控?cái)?shù)據(jù)進(jìn)行關(guān)聯(lián)分析,全面診斷性能問題的根本原因?;跇I(yè)務(wù)的優(yōu)先級(jí)和SLA要求,制定監(jiān)控的策略和告警規(guī)則,確保業(yè)務(wù)的連續(xù)性和穩(wěn)定性。(6)監(jiān)控?cái)?shù)據(jù)的應(yīng)用和優(yōu)化:定期分析和挖掘監(jiān)控?cái)?shù)據(jù),利用監(jiān)控?cái)?shù)據(jù)建立性能基線,量化評(píng)估分布式數(shù)據(jù)庫(kù)的性能表現(xiàn),發(fā)現(xiàn)性能的趨勢(shì)和規(guī)律,為容量規(guī)劃和資源調(diào)配提供依據(jù)。將監(jiān)控?cái)?shù)據(jù)與機(jī)器學(xué)習(xí)算法相結(jié)合,實(shí)現(xiàn)智能化的異常檢測(cè)和性能預(yù)發(fā)現(xiàn)分布式數(shù)據(jù)庫(kù)的性能瓶頸和資源利用不平衡,制定針對(duì)性的優(yōu)化方案,如SQL調(diào)優(yōu)、索引優(yōu)化、參數(shù)調(diào)整等。將分布式數(shù)據(jù)庫(kù)監(jiān)控?cái)?shù)據(jù)與業(yè)務(wù)指標(biāo)相關(guān)聯(lián),分析業(yè)務(wù)峰值和增長(zhǎng)趨勢(shì)對(duì)數(shù)據(jù)庫(kù)性能的影響,提前進(jìn)行容量評(píng)估和資源擴(kuò)容,確保業(yè)務(wù)的平穩(wěn)增長(zhǎng)。將監(jiān)控?cái)?shù)據(jù)與其他IT系統(tǒng)的數(shù)據(jù)進(jìn)行整合和關(guān)聯(lián)分析,實(shí)現(xiàn)端到端的性能問題診斷和優(yōu)化。2.報(bào)警。報(bào)警是分布式數(shù)據(jù)庫(kù)監(jiān)控的重要延伸和補(bǔ)充,可以幫助運(yùn)維人員及時(shí)發(fā)現(xiàn)和處理分布式數(shù)據(jù)庫(kù)的各種問題,保障分布式數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行和數(shù)據(jù)的安全。報(bào)警應(yīng)符合如下功能:(1)報(bào)警規(guī)則的設(shè)置:根據(jù)分布式數(shù)據(jù)庫(kù)的類型、業(yè)務(wù)需求和SLA要求,確定需要設(shè)置報(bào)警的關(guān)鍵指標(biāo)和閾值,如CPU使用率、內(nèi)存占用、連接數(shù)、響應(yīng)時(shí)間等。針對(duì)不同的指標(biāo)和場(chǎng)景,設(shè)置不同級(jí)別的報(bào)警規(guī)則,以便區(qū)分問題的緊急程度和影響范圍。(2)報(bào)警的觸發(fā)和通知:當(dāng)分布式數(shù)據(jù)庫(kù)的監(jiān)控指標(biāo)達(dá)到或超過預(yù)設(shè)的閾值時(shí),自動(dòng)觸發(fā)相應(yīng)級(jí)別的報(bào)警,并生成詳細(xì)的報(bào)警信息,包括時(shí)間、指標(biāo)、閾值、當(dāng)前值等。根據(jù)報(bào)警的級(jí)別和影響范圍,選擇合適的通知方式,確保報(bào)警信息能夠及時(shí)、準(zhǔn)確地發(fā)送給相關(guān)人員。對(duì)于嚴(yán)重或緊急的報(bào)警,設(shè)置多種通知渠對(duì)于頻繁發(fā)生的同類報(bào)警,可以進(jìn)行聚合和壓縮,在一定時(shí)間內(nèi)只發(fā)送一次匯總報(bào)警,減少報(bào)警噪音。對(duì)于持續(xù)時(shí)間較長(zhǎng)的報(bào)警,可以設(shè)置遞增的報(bào)警間隔,避免重復(fù)發(fā)送對(duì)問題處理無益的報(bào)警。(3)報(bào)警的關(guān)聯(lián)分析和趨勢(shì)預(yù)測(cè):結(jié)合專家知識(shí)和機(jī)器學(xué)習(xí),構(gòu)建報(bào)警事件的決策樹和規(guī)則引擎,實(shí)現(xiàn)報(bào)警的自動(dòng)分類和風(fēng)險(xiǎn)評(píng)估,輔助運(yùn)維人員的判斷和決策。對(duì)報(bào)警事件進(jìn)行關(guān)聯(lián)分全面診斷問題的根本原因。利用機(jī)器學(xué)習(xí)算法和大數(shù)據(jù)分析技術(shù),對(duì)報(bào)警數(shù)據(jù)進(jìn)行挖掘和建模,預(yù)測(cè)潛在的問題和風(fēng)險(xiǎn),提前采取預(yù)防措施。結(jié)合業(yè)務(wù)數(shù)據(jù)和其他監(jiān)控?cái)?shù)據(jù),實(shí)現(xiàn)跨層面、跨系統(tǒng)的報(bào)警關(guān)聯(lián)分析,提供全局視角下的問題診斷和優(yōu)化建議。(4)報(bào)警信息的處理和跟蹤:建立標(biāo)準(zhǔn)化的報(bào)警處理流程,明確不同級(jí)別報(bào)警的響應(yīng)時(shí)間,確保問題能夠得到及時(shí)的處理。跟蹤和記錄報(bào)警事件的處理過程和結(jié)果,包括原因分析、解決方案、處理時(shí)間等,并進(jìn)行總結(jié)和復(fù)盤,持續(xù)優(yōu)化報(bào)警處理的效率用于評(píng)估和優(yōu)化報(bào)警規(guī)則的質(zhì)量。定期審核和優(yōu)化報(bào)警規(guī)則和閾值,根據(jù)數(shù)據(jù)庫(kù)的運(yùn)行狀況、業(yè)務(wù)變化和問題反饋,不斷完善報(bào)警策略,提高報(bào)警的準(zhǔn)確性和時(shí)效性。(八)數(shù)據(jù)庫(kù)訪問控制分布式數(shù)據(jù)庫(kù)訪問控制通過對(duì)數(shù)據(jù)庫(kù)的用戶、權(quán)限、角色等進(jìn)行精細(xì)化管理,確保只有授權(quán)的用戶才能訪問數(shù)據(jù)庫(kù),且只能在其權(quán)限范圍內(nèi)進(jìn)行操作。有效的訪問控制可以防止非法用戶的入侵,防止合法用戶的越權(quán)操作,從而保障數(shù)據(jù)庫(kù)的機(jī)密性、完整性和可用性。數(shù)據(jù)庫(kù)訪問控制應(yīng)遵循如下原則:1.用戶賬號(hào)管理。根據(jù)最小權(quán)限原則,為不同的應(yīng)用系統(tǒng)和運(yùn)維人員創(chuàng)建獨(dú)立的分布式數(shù)據(jù)庫(kù)用戶賬號(hào)。定期審核和清理過期、廢棄、冗余的用戶賬號(hào),保持賬號(hào)的精簡(jiǎn)性和有效性。2.密碼策略管理。制定并執(zhí)行強(qiáng)密碼策略,要求密碼符合一定的復(fù)雜度要求,如長(zhǎng)度、字符類型等。支持定期更換分布式數(shù)據(jù)庫(kù)用戶密碼,防止密碼泄露或被暴力破解。保護(hù)密碼傳輸和存儲(chǔ)的安全,避免明文存儲(chǔ)密碼。3.權(quán)限與角色管理?;跇I(yè)務(wù)需求和安全要求,設(shè)計(jì)合理的數(shù)據(jù)庫(kù)權(quán)限模型和角色層次。遵循權(quán)限最小化和職責(zé)分離原則,只授予用戶必需的操作權(quán)限,避免過度授權(quán)。通過分布式數(shù)據(jù)庫(kù)角色將權(quán)限模板化,簡(jiǎn)化權(quán)限管理和分配。定期審核和調(diào)整用戶權(quán)限和角色分配,確保權(quán)限配置的準(zhǔn)確性和合理性。4.敏感數(shù)據(jù)管控。識(shí)別和分類分布式數(shù)據(jù)庫(kù)中的敏感數(shù)據(jù),如個(gè)人隱私數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù)等。對(duì)敏感數(shù)據(jù)實(shí)施更嚴(yán)格的訪問控制,如列級(jí)別權(quán)限控制、數(shù)據(jù)脫敏等。啟用分布式數(shù)據(jù)庫(kù)審計(jì)功能,對(duì)敏感數(shù)據(jù)的訪問和操作進(jìn)行記錄和監(jiān)控。5.訪問行為審計(jì)。對(duì)分布式數(shù)據(jù)庫(kù)的訪問行為進(jìn)行全面的審計(jì)和記錄,包括登錄/注銷、權(quán)限變更、數(shù)據(jù)操作等。重點(diǎn)關(guān)注高危操作和敏感數(shù)據(jù)的訪問,設(shè)置實(shí)時(shí)告警和定期報(bào)表。6.異常訪問檢測(cè)。建立數(shù)據(jù)庫(kù)訪問行為基線,了解正常的用戶訪問模式和流量特征。實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)庫(kù)訪問流量,利用機(jī)器學(xué)與安全信息和事件管理(SIEM)系統(tǒng)集成,關(guān)聯(lián)分析跨系統(tǒng)的威脅7.通過白名單限制非法訪問。制定明確的分布式數(shù)據(jù)庫(kù)白名單策略。在分布式數(shù)據(jù)庫(kù)或相關(guān)的安全設(shè)備(如防火墻、訪問控制系統(tǒng)等)中配置白名單規(guī)則。定期審核分布式數(shù)據(jù)庫(kù)白名單,識(shí)別和去除不再需要的白名單項(xiàng)。對(duì)數(shù)據(jù)庫(kù)白名單的訪問進(jìn)行實(shí)時(shí)監(jiān)控,記錄訪問日志,并設(shè)置異常訪問的報(bào)警規(guī)則。(九)混沌工程利用混沌工程對(duì)分布式數(shù)據(jù)庫(kù)缺陷的探索來彌補(bǔ)系統(tǒng)穩(wěn)定性保障的短板,有助于提前發(fā)現(xiàn)和解決分布式數(shù)據(jù)庫(kù)系統(tǒng)中的潛在問題,提高系統(tǒng)的可靠性和用戶的信任度。分布式數(shù)據(jù)庫(kù)混沌工程應(yīng)具備如下能力:1.故障場(chǎng)景。支持各種常見類型故障的發(fā)起與恢復(fù),覆蓋物理機(jī)/虛擬機(jī)、容器不同底層基礎(chǔ)設(shè)施。具備如下功能:(1)支持存儲(chǔ)資源故障注入,如:磁盤填充、磁盤損壞、磁盤速度慢、磁盤不可讀、磁盤不可寫、文件故障、文件句柄耗盡等;(2)支持網(wǎng)絡(luò)資源故障注入,如:網(wǎng)絡(luò)抖動(dòng)、網(wǎng)絡(luò)丟包、(3)支持容器資源故障注入,如:pod、node等;(4)支持計(jì)算資源故障注入,如:CPU滿載、內(nèi)存負(fù)載故(5)支持服務(wù)、進(jìn)程資源故障注入,如:進(jìn)程掛起、進(jìn)程殺死、服務(wù)停止故障、服務(wù)器關(guān)機(jī)、服務(wù)器重啟等;(6)支持自定義故障注入,如:Shell故障注入;(7)支持典型故障類型注入,如:數(shù)據(jù)庫(kù)宕機(jī)、數(shù)據(jù)同步延時(shí)、節(jié)點(diǎn)故障、突發(fā)流量等。2.實(shí)驗(yàn)場(chǎng)景管理。作為分布式數(shù)據(jù)庫(kù)混沌平臺(tái)的核心功能,可對(duì)實(shí)驗(yàn)進(jìn)行執(zhí)行、停止、并行執(zhí)行、根據(jù)業(yè)務(wù)指標(biāo)動(dòng)態(tài)控制、超時(shí)停止等操作??衫脤?shí)驗(yàn)編排可以自動(dòng)定時(shí)實(shí)現(xiàn)故障的并行/串行/掛起模擬注入以及故障的自我恢復(fù)。通過編排的能力可以構(gòu)造復(fù)雜的故障場(chǎng)景而非只能完成單一故障任務(wù)的模擬。支持對(duì)實(shí)驗(yàn)場(chǎng)景和場(chǎng)景模板的創(chuàng)建、編輯和刪除,支持場(chǎng)景庫(kù)管理、熱點(diǎn)場(chǎng)景定義、場(chǎng)景分類、多故障并行組合實(shí)驗(yàn)場(chǎng)景、實(shí)驗(yàn)爆炸半徑定義,及實(shí)驗(yàn)環(huán)境的創(chuàng)建、恢復(fù)等。3.數(shù)據(jù)庫(kù)資源管理。為實(shí)驗(yàn)人員提供納管目標(biāo)分布式數(shù)據(jù)庫(kù)所有環(huán)境功能,能夠?qū)崟r(shí)獲取納管環(huán)境的狀態(tài)與信息,可對(duì)目標(biāo)數(shù)據(jù)庫(kù)資源環(huán)境申請(qǐng)、審批;實(shí)時(shí)展示目標(biāo)分布式數(shù)據(jù)庫(kù)狀態(tài)、狀態(tài)查看功能。適配多種架構(gòu)與類型分布式數(shù)據(jù)庫(kù),支持X86、C86、ARM硬件平臺(tái),支持Windows、統(tǒng)信、麒麟等軟件平臺(tái)。故障場(chǎng)景使用與可視化展示,具備如下功能:支持實(shí)驗(yàn)計(jì)劃生命周期管理,如實(shí)驗(yàn)計(jì)劃的創(chuàng)建、編輯、廢止等,實(shí)驗(yàn)計(jì)劃的執(zhí)行時(shí)間定義,如立即執(zhí)行,指定時(shí)間執(zhí)行、周期執(zhí)行,實(shí)驗(yàn)計(jì)劃優(yōu)先級(jí)設(shè)置,手動(dòng)終止混沌實(shí)驗(yàn),根據(jù)基礎(chǔ)監(jiān)控設(shè)置防護(hù)策略并終止實(shí)驗(yàn),根據(jù)系統(tǒng)事件終止實(shí)驗(yàn),歷史實(shí)驗(yàn)展示可展示全部實(shí)驗(yàn)列表、詳細(xì)信息,復(fù)制歷史實(shí)驗(yàn)直接發(fā)起實(shí)驗(yàn)。5.混沌實(shí)驗(yàn)監(jiān)控。實(shí)時(shí)獲取目標(biāo)分布式數(shù)據(jù)庫(kù)監(jiān)控信息,通過監(jiān)控界面展示數(shù)據(jù)庫(kù)集群主機(jī)、數(shù)據(jù)節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)、實(shí)例四個(gè)維度的監(jiān)控信息。如存活狀態(tài)、延遲情況、資源利用率等。網(wǎng)絡(luò)等系統(tǒng)指標(biāo)監(jiān)控功能。(2)支持?jǐn)?shù)據(jù)庫(kù)集群狀態(tài)監(jiān)控指標(biāo)采集,如:數(shù)據(jù)庫(kù)集群狀態(tài)、TPS和QPS監(jiān)控、SOL平均響應(yīng)時(shí)間統(tǒng)計(jì)、鎖/等待事件監(jiān)控、數(shù)據(jù)庫(kù)會(huì)話連接監(jiān)控等。支持自定義監(jiān)控指標(biāo)設(shè)置、故障注入生效驗(yàn)證、故障恢復(fù)成功驗(yàn)證、業(yè)務(wù)穩(wěn)態(tài)數(shù)據(jù)設(shè)置、實(shí)施過程中爆炸半徑檢查。6.混沌實(shí)驗(yàn)結(jié)果復(fù)盤。實(shí)驗(yàn)結(jié)束后,可自動(dòng)生成實(shí)驗(yàn)報(bào)告,記錄整個(gè)混沌實(shí)驗(yàn)的執(zhí)行情況,為后續(xù)系統(tǒng)優(yōu)化和改進(jìn)提供依據(jù)。具有實(shí)驗(yàn)基礎(chǔ)信息、監(jiān)控指標(biāo)截圖、故障可能原因、解決辦法、應(yīng)急預(yù)案、總結(jié)建議等。具備實(shí)驗(yàn)流程可視化、實(shí)驗(yàn)數(shù)據(jù)圖形化,支持實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)分析、報(bào)告自動(dòng)生成等。(十)智能運(yùn)維數(shù)據(jù)庫(kù)智能運(yùn)維利用大數(shù)據(jù)手段、專家經(jīng)驗(yàn)引擎快速?gòu)?fù)制資深數(shù)據(jù)庫(kù)管理員的成熟經(jīng)驗(yàn),將大量傳統(tǒng)手動(dòng)的分布式數(shù)據(jù)庫(kù)運(yùn)維工作自運(yùn)維,有效保障數(shù)據(jù)庫(kù)服務(wù)的安全、穩(wěn)定及高效運(yùn)行。1.實(shí)時(shí)診斷。實(shí)時(shí)診斷提供7*24小時(shí)實(shí)時(shí)異常診斷與優(yōu)化服務(wù),利用實(shí)時(shí)信息進(jìn)行分析處理,以提高異常發(fā)現(xiàn)及處理的效率,可實(shí)現(xiàn)定期巡檢、主動(dòng)異常發(fā)現(xiàn)和秒級(jí)分析優(yōu)化相結(jié)合的分布式數(shù)據(jù)庫(kù)健康守護(hù)新模式。系統(tǒng)不間斷地進(jìn)行實(shí)時(shí)診斷,解析分布式數(shù)據(jù)庫(kù)問題的根源,并提出優(yōu)化建議,以便迅速發(fā)出告警通知??芍С值脑\斷能力:鎖問題、慢查詢、事務(wù)問題、性能問提供建議、高度定制化的能力。2.SQL優(yōu)化。SQL優(yōu)化為用戶提供一鍵優(yōu)化SQL語(yǔ)句功能,并給出對(duì)應(yīng)執(zhí)行計(jì)劃解析和優(yōu)化建議。適用于業(yè)務(wù)優(yōu)化慢SQL、代碼上線前審查、自檢等場(chǎng)景。SQL優(yōu)化應(yīng)具備查詢解析和語(yǔ)義實(shí)時(shí)監(jiān)控和反饋功能。3.全鏈路分析。全鏈路分析收集分布式數(shù)據(jù)庫(kù)實(shí)例各節(jié)點(diǎn)產(chǎn)生的審計(jì)日志,通過數(shù)據(jù)匯集、實(shí)時(shí)預(yù)處理計(jì)算,統(tǒng)計(jì)/智能分析,給到分析視圖與結(jié)果建議,并提供了完整剖析鏈路執(zhí)行與性能情況的能力,能夠協(xié)助客戶全方位、多維度高效定位問題。(1)SQL透視追蹤。正向解析:從業(yè)務(wù)SQL到各數(shù)據(jù)節(jié)點(diǎn),可根據(jù)不同條件查找業(yè)務(wù)SQL,并查看SQL在數(shù)據(jù)庫(kù)及集群中的解析過程,以及每一步的性能損耗情況。反向解析:從各數(shù)據(jù)節(jié)點(diǎn)到業(yè)務(wù)SQL的執(zhí)行過程透視,通過分布式數(shù)據(jù)庫(kù)當(dāng)前SQL執(zhí)行情況,找到性能有損SQL,并可反向定位業(yè)務(wù)實(shí)際來源。(2)SQL聚合分析。業(yè)務(wù)聚合分析:提取業(yè)務(wù)SQL前綴進(jìn)行解析,分別送入不同的區(qū)域,實(shí)現(xiàn)業(yè)務(wù)編碼的快速聚合分析,以及大體量下,業(yè)務(wù)SQL的快速查找。性能統(tǒng)計(jì)分析:聚合SQL模板分析,業(yè)務(wù)時(shí)段內(nèi)集群中各項(xiàng)性能指標(biāo)影響的SQL全局排序,并能實(shí)時(shí)獲取模板內(nèi)SQL明細(xì)、鏈路視圖、SQL鏈路執(zhí)行過程。(3)事務(wù)聚合分析。業(yè)務(wù)事務(wù)分析:提取第一條事務(wù)前綴送入分析,將被拆解后的業(yè)務(wù)原事務(wù)還原,根據(jù)業(yè)務(wù)前綴進(jìn)行分析與查找。性能統(tǒng)計(jì)分析:事務(wù)模板化處理,實(shí)現(xiàn)時(shí)段內(nèi)集群事務(wù)全局性能排序,并能實(shí)時(shí)獲取事務(wù)模板內(nèi)事務(wù)的明細(xì),可查看事務(wù)內(nèi)容,也可關(guān)聯(lián)找到分片中被拆解的各個(gè)事務(wù)。異常事務(wù)分析:分辨整個(gè)集群中異常的事務(wù),智能分析具體的異常原因以及解決方案。(4)降本增效助力金融。業(yè)務(wù)標(biāo)簽管理:當(dāng)集群數(shù)據(jù)量體巨大的時(shí)候,可以自定義開啟部分業(yè)務(wù)標(biāo)簽名,即可降低集群業(yè)務(wù)維度數(shù)據(jù)的聚合量,快速出具結(jié)果。圖形化及可視化:實(shí)時(shí)獲取鏈路耗時(shí)圖、SQL轉(zhuǎn)義過程及內(nèi)容。查找及鉆?。褐С秩罩救孔侄尾檎壹皹I(yè)務(wù)查找、支持業(yè)務(wù)標(biāo)簽?zāi)J郊靶阅苣J降臄?shù)據(jù)下鉆。(十一)其他1.審計(jì)日志。分布式數(shù)據(jù)庫(kù)通過訪問控制可大幅度降低安全風(fēng)險(xiǎn),但對(duì)于具備權(quán)限的用戶,仍需要審計(jì)其操作,防止用戶登錄信息泄露或訪問權(quán)限被濫用,審計(jì)功能可加強(qiáng)對(duì)數(shù)據(jù)安全、合規(guī)的要求。審計(jì)日志功能應(yīng)支持審計(jì)日志功能的開啟和關(guān)閉;審計(jì)日志內(nèi)容包括用戶登錄、查詢、修改、刪除等操作類型,及操2.性能容量管理。分布式數(shù)據(jù)庫(kù)容器化部署是依托云原生服務(wù)模型及管理模式進(jìn)行管理,為確保數(shù)據(jù)庫(kù)系統(tǒng)的服務(wù)能力和性能,且兼顧數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定性和業(yè)務(wù)連續(xù)性,需要設(shè)計(jì)一套技術(shù)上可實(shí)現(xiàn)的性能容量管理規(guī)范。包括性能要求與容量要求等。(1)性能要求。禁止出現(xiàn)大事務(wù)或者長(zhǎng)時(shí)間不提交、回滾的長(zhǎng)事務(wù)。禁止聯(lián)機(jī)交易大表出現(xiàn)全表掃描。聯(lián)機(jī)程序謹(jǐn)慎使用JOIN,批處理禁止復(fù)雜JOIN(超過3張表)。JOIN操作必須有關(guān)聯(lián)條件,避免笛卡爾積,影響SQL執(zhí)行效率。禁止使用外鍵與級(jí)聯(lián)。禁止使用存儲(chǔ)過程、自定義函數(shù)、觸發(fā)器、定時(shí)作業(yè)、視圖。系統(tǒng)正式投產(chǎn)前必須評(píng)估系統(tǒng)是否需要進(jìn)行性能壓測(cè)。盡量用標(biāo)準(zhǔn)SQL語(yǔ)法。表清空建議采用truncate方式。只讀應(yīng)用建議從follower訪問。應(yīng)用分表或采用分區(qū)表、多表間并發(fā),避免同一個(gè)索引掃描時(shí)交叉互鎖。避免使用子查詢,盡可能改用JOIN操作。將復(fù)雜SQL拆分為多條簡(jiǎn)單SQL。表數(shù)據(jù)量發(fā)生較大變化時(shí)建議進(jìn)行統(tǒng)計(jì)信息顯式收集。(2)容量要求。合理控制數(shù)據(jù)庫(kù)容量,數(shù)據(jù)庫(kù)單庫(kù)、單表容量。單庫(kù)最大容量建議不超過500GB,非分區(qū)表的單表存儲(chǔ)容量(OLTP)建議不超過20GB,非分區(qū)表的單表記錄數(shù)(OLTP)建議不超過1000萬(wàn)行,單庫(kù)、單表容量過大影響性能、備份恢復(fù)效率。如超出此容量規(guī)格,建議進(jìn)行垂直或水平分庫(kù)分表。建議普通類系統(tǒng)一個(gè)實(shí)例下不超過10個(gè)schema,重要類系統(tǒng)一個(gè)實(shí)例下不超過3個(gè)schema。對(duì)于表空間占用較大且持續(xù)增長(zhǎng)的表必須配置清理策略。聯(lián)機(jī)交易系統(tǒng)當(dāng)前庫(kù)禁止保留超過13個(gè)月的歷史數(shù)據(jù)。禁止在分布式數(shù)據(jù)庫(kù)中存儲(chǔ)圖片,文件等大的二進(jìn)制數(shù)據(jù)。3.資源池管理。分布式數(shù)據(jù)庫(kù)容器資源池最佳建設(shè)實(shí)踐為每集群近千臺(tái)node節(jié)點(diǎn)級(jí)規(guī)模,為了充分利用資源池的計(jì)算資源和存儲(chǔ)資源,且保障分布式數(shù)據(jù)庫(kù)系統(tǒng)的絕對(duì)可用性,需要設(shè)計(jì)一套管理完善及技術(shù)上可實(shí)現(xiàn)的資源池管理標(biāo)準(zhǔn)規(guī)范。資源池基線優(yōu)先級(jí)如下:首要保證分布式數(shù)據(jù)庫(kù)系統(tǒng)的可用性,其次滿足資源治理工作要求,盡可能的保證數(shù)據(jù)庫(kù)均勻的分布在分布式數(shù)據(jù)庫(kù)容器資源池中??梢栽O(shè)置三種資源池管理基線:藍(lán)線,新架建上限基線,用于保證架建時(shí),機(jī)器被充分利用。黃線,資源調(diào)平基線,達(dá)到該基線,不允許新增任何容器實(shí)例。紅線,擴(kuò)容上限,一旦達(dá)到該基線,則不允許容器垂直擴(kuò)容,如有垂直擴(kuò)容需求,須先發(fā)起跨節(jié)點(diǎn)重調(diào)度流程,再在調(diào)度后的新節(jié)點(diǎn)上發(fā)起垂直擴(kuò)容。4.圍繞數(shù)據(jù)庫(kù)的k8s穩(wěn)定性。云原生的管控與業(yè)務(wù)解耦是非常重要的設(shè)計(jì)原則。對(duì)穩(wěn)定性要求極高的金融應(yīng)用系統(tǒng),需要嚴(yán)格控制系統(tǒng)故障的爆炸半徑。管控層包括K8s底座的問題和故障不會(huì)影響到數(shù)據(jù)服務(wù)的正常運(yùn)行。分布式數(shù)據(jù)庫(kù)服務(wù)租戶之間的故障和性能不能相互影響。K8s底座上分布式數(shù)據(jù)庫(kù)管理系統(tǒng)組件應(yīng)遵從如下原則:設(shè)計(jì)上必須兼容K8s體系,不可做侵入性改造,避免和定制化底座綁定,APIServer/Etcd/Master/Kubelet等K8s核心組件異常對(duì)于正常運(yùn)行分布式數(shù)據(jù)庫(kù)Pod不應(yīng)該批量操作,自定義DatabaseOperator做到授權(quán)能力,避免代碼邏輯問題導(dǎo)致大規(guī)模Pod對(duì)象更新操作。所有行為都需要做到授權(quán)驗(yàn)證的,避免誤操作發(fā)生,需對(duì)所有DatabaseOperator大規(guī)模更新場(chǎng)景充分驗(yàn)證和頻率限制。四、應(yīng)用需求分析在分布式數(shù)據(jù)庫(kù)高可用架構(gòu)中,leader和follower之間的數(shù)據(jù)一致性是保證業(yè)務(wù)正確性和連續(xù)性的基礎(chǔ)。然而,由于網(wǎng)絡(luò)延遲、硬件故障、軟件錯(cuò)誤等原因,follower的數(shù)據(jù)可能與leader不一致。這種不一致可能表現(xiàn)為數(shù)據(jù)丟失、數(shù)據(jù)重復(fù)、數(shù)據(jù)錯(cuò)亂等問題,嚴(yán)重影響數(shù)據(jù)的可靠性和完整性。為確保leader和follower的數(shù)據(jù)在任意時(shí)刻均滿足數(shù)據(jù)一致。副本間一致性校驗(yàn)是關(guān)鍵,應(yīng)滿足如下步驟:1.制定校驗(yàn)計(jì)劃。確定校驗(yàn)的范圍和頻率,選擇合適的校驗(yàn)2.數(shù)據(jù)導(dǎo)出。如果是在線校驗(yàn),此步驟可以省略。否則,在leader和follower上分別導(dǎo)出相同范圍的數(shù)據(jù),確保導(dǎo)出的數(shù)據(jù)格式一致,如SQL導(dǎo)出或二進(jìn)制導(dǎo)出,記錄導(dǎo)出的時(shí)間戳,作為后續(xù)對(duì)比的基準(zhǔn)。者在線定義的)的數(shù)據(jù)。檢查數(shù)據(jù)行數(shù)、表結(jié)構(gòu)、索引等是否一致。對(duì)于不一致的數(shù)據(jù),生成差異報(bào)告,記錄具體的差異內(nèi)容。判斷不一致是由復(fù)制延遲、人為操作還是其他因素引起的。評(píng)估修復(fù)數(shù)據(jù)不一致的風(fēng)險(xiǎn)和成本。5.數(shù)據(jù)修復(fù)。根據(jù)差異分析結(jié)果,提供數(shù)據(jù)修復(fù)方案,如提供修復(fù)sql等。對(duì)于少量的不一致數(shù)據(jù),可以手動(dòng)修改或重新同1.容災(zāi)實(shí)例。分布式數(shù)據(jù)庫(kù)實(shí)例在leader發(fā)生故障時(shí)能夠硬件故障、人為錯(cuò)誤等各種潛在風(fēng)險(xiǎn),與本地高可用不同,容災(zāi)實(shí)例通常部署在異地?cái)?shù)據(jù)中心,通過數(shù)據(jù)同步和網(wǎng)絡(luò)連接與leader保持一致,提供更高級(jí)別的容錯(cuò)和災(zāi)備能力。搭建數(shù)據(jù)庫(kù)容災(zāi)實(shí)例應(yīng)滿足如下步驟:(1)異地實(shí)例部署。規(guī)劃異地實(shí)例架構(gòu),可以是異構(gòu)(與本地機(jī)房不一致的cpu),也可以是同構(gòu)。在異地?cái)?shù)據(jù)中心新建獨(dú)立的分布式數(shù)據(jù)庫(kù)實(shí)例。建立異地實(shí)例與leader之間的網(wǎng)絡(luò)連接,安全和訪問控制策略。(2)實(shí)例備份和恢復(fù)。在leader上進(jìn)行全量數(shù)據(jù)備份有數(shù)據(jù),日志等生成一份完整的數(shù)據(jù)備份。將全量備份傳輸?shù)疆惖厝轂?zāi)實(shí)例所在的數(shù)據(jù)中心。傳輸方法可以通過網(wǎng)絡(luò),也可以通過對(duì)象存儲(chǔ)、NAS等。在異地容災(zāi)實(shí)例上進(jìn)行備份恢復(fù)和初始化,確保與leader配置一致。(3)配置數(shù)據(jù)同步。根據(jù)業(yè)務(wù)需求和技術(shù)條件,選擇合適的復(fù)制模式,如異步復(fù)制、半同步復(fù)制等。配置leader和異地容災(zāi)實(shí)例之間的復(fù)制關(guān)系,復(fù)制的起始位置應(yīng)該為全量備份結(jié)束的位置和復(fù)制方向應(yīng)該為從leader到異地庫(kù)方向。設(shè)置復(fù)制的安全認(rèn)證和傳輸加密等參數(shù),確保復(fù)制的安全性。(4)延遲復(fù)制配置(可選)。根據(jù)業(yè)務(wù)的要求,評(píng)估是否需要配置延遲復(fù)制。延遲復(fù)制可以在leader誤操作時(shí),使用follower數(shù)據(jù)進(jìn)行快速恢復(fù)。(5)復(fù)制狀態(tài)監(jiān)控。實(shí)時(shí)監(jiān)控leader和異地容災(zāi)實(shí)是否禁止切換等。設(shè)置復(fù)制時(shí)延,節(jié)點(diǎn)狀態(tài)等相關(guān)警告和告警閾值,及時(shí)發(fā)現(xiàn)和處理復(fù)制中的異常情況。定期檢查復(fù)制的完整性和數(shù)據(jù)一致性,確保異地容災(zāi)實(shí)例與leader保持同步。2.容災(zāi)切換。在分布式數(shù)據(jù)庫(kù)容災(zāi)架構(gòu)中,異地容災(zāi)實(shí)例是應(yīng)對(duì)主機(jī)房故障的重要手段。當(dāng)主機(jī)房發(fā)生自然災(zāi)害、停電、大面積網(wǎng)絡(luò)故障等重大故障時(shí),需要快速、可靠地將業(yè)務(wù)切換到異地容災(zāi)實(shí)例,確保業(yè)務(wù)連續(xù)性和數(shù)據(jù)可用性。容災(zāi)切換應(yīng)滿足如下步驟:(1)故障確認(rèn)與評(píng)估。監(jiān)控系統(tǒng)發(fā)現(xiàn)主機(jī)房故障,如電力中斷、網(wǎng)絡(luò)斷開等。確認(rèn)故障范圍和影響程度,評(píng)估主機(jī)房恢復(fù)時(shí)間和數(shù)據(jù)庫(kù)受損情況。決定是否啟動(dòng)異地容災(zāi)切換預(yù)案,評(píng)估切換的風(fēng)險(xiǎn)和影響。(2)啟動(dòng)容災(zāi)預(yù)案。通知相關(guān)團(tuán)隊(duì)和人員,包括數(shù)據(jù)庫(kù)運(yùn)維、應(yīng)用開發(fā)等。通過預(yù)先準(zhǔn)備的控制臺(tái)(白屏)或者腳本(黑屏)操作步驟,啟動(dòng)切換。(3)leader停寫(可選)。如果主機(jī)房故障未導(dǎo)致leader完全不可訪問,應(yīng)斷開leader與應(yīng)用的所有連接,將leader設(shè)置為只讀,停止對(duì)leader的寫入操作,避免雙寫造成數(shù)據(jù)不一致。如有需要,例如后續(xù)有掉電風(fēng)險(xiǎn),應(yīng)嘗試優(yōu)雅地關(guān)閉leader數(shù)據(jù)庫(kù),避免數(shù)據(jù)損壞。記錄leader停寫的時(shí)間點(diǎn)和日志位置,作為后續(xù)數(shù)據(jù)恢復(fù)的起點(diǎn)。(4)切換應(yīng)用連接。修改DNS配置/負(fù)載均衡配置/應(yīng)用程序的連接配置,將流量導(dǎo)向異地容災(zāi)實(shí)例。(5)恢復(fù)業(yè)務(wù)運(yùn)行。驗(yàn)證應(yīng)用程序與異地容災(zāi)實(shí)例的連通性,確保切換后的業(yè)務(wù)可用性。逐步恢復(fù)業(yè)務(wù)應(yīng)用和服務(wù),監(jiān)控業(yè)務(wù)運(yùn)行狀態(tài)和性能指標(biāo)。與業(yè)務(wù)團(tuán)隊(duì)密切溝通,確認(rèn)業(yè)務(wù)運(yùn)行正常,無異常情況發(fā)生。3.回切。在主機(jī)房恢復(fù)后,應(yīng)在一定時(shí)間范圍內(nèi),將流量再次切回主機(jī)房:(1)主機(jī)房恢復(fù)后的數(shù)據(jù)補(bǔ)全。持續(xù)關(guān)注主機(jī)房的恢復(fù)進(jìn)度,評(píng)估恢復(fù)時(shí)間和數(shù)據(jù)庫(kù)損壞情況。當(dāng)主機(jī)房恢復(fù)后,啟動(dòng)leader數(shù)據(jù)庫(kù),并對(duì)在切換至異地容災(zāi)實(shí)例之前未能同步的數(shù)據(jù)部分進(jìn)行備份。與異地容災(zāi)實(shí)例建立數(shù)據(jù)同步關(guān)系。將異地容災(zāi)實(shí)例切換期間的增量數(shù)據(jù)同步回leader,確保數(shù)據(jù)的完整性和一致性。比對(duì)leader和異地容災(zāi)實(shí)例的數(shù)據(jù),進(jìn)行必要的數(shù)據(jù)修復(fù)或重建。(2)切換回主機(jī)房。評(píng)估leader數(shù)據(jù)庫(kù)的性能和穩(wěn)定性,確認(rèn)其可以承載業(yè)務(wù)負(fù)載。制定切換回主機(jī)房的計(jì)劃,包括停止異地容災(zāi)實(shí)例寫入、切換負(fù)載均衡/DNS/應(yīng)用配置等步驟。在業(yè)務(wù)低峰期執(zhí)行切換操作,將業(yè)務(wù)流量逐步導(dǎo)向leader。驗(yàn)證業(yè)務(wù)運(yùn)行狀態(tài)和數(shù)據(jù)完整性,確保切換回主機(jī)房后的系統(tǒng)穩(wěn)定性。災(zāi)實(shí)例的數(shù)據(jù)同步,確保與leader保持一致,以便于后續(xù)的容五、建設(shè)方案分布式數(shù)據(jù)庫(kù)容器化作為一個(gè)通用的模型,旨在為各種分布式數(shù)據(jù)庫(kù)在K8s中的部署和運(yùn)維提供一種抽象和統(tǒng)一的表示方法。該模型將容器化分布式數(shù)據(jù)庫(kù)的管理映射到位于四個(gè)層次的形成了一個(gè)分層的架構(gòu)。容器化分層圖見圖2。Cluster層:一個(gè)Cluster對(duì)象代表一個(gè)完整的分布式數(shù)據(jù)庫(kù)集群,包括數(shù)據(jù)庫(kù)的所有組件和服務(wù)。Component層:Component表示組成Cluster對(duì)象的邏輯組件,如元數(shù)據(jù)管理、數(shù)據(jù)存儲(chǔ)、查詢引擎等。每個(gè)Component對(duì)象都有其特定的職責(zé)和功能。一個(gè)Cluster對(duì)象里包含一到多個(gè)Component對(duì)象。InstanceSet層:InstanceSet對(duì)象管理Component對(duì)象里多個(gè)副本所需的工作負(fù)載,感知副本的角色。一個(gè)Component對(duì)象包含一個(gè)InstanceSet對(duì)象。Instance層:Instance對(duì)象代表InstanceSet對(duì)象內(nèi)的一個(gè)實(shí)際運(yùn)行實(shí)例,對(duì)應(yīng)K8s中的Pod。一個(gè)InstanceSet對(duì)象可以管理零到多個(gè)Instance對(duì)象。1.Cluster層。Cluster對(duì)象是指一個(gè)完整的、可運(yùn)行的分布式數(shù)據(jù)庫(kù),由多個(gè)Component對(duì)象組成,這些Component對(duì)象協(xié)同工作,分別提供數(shù)據(jù)存儲(chǔ)、計(jì)算和管理功能。Cluster對(duì)象封裝了分布式數(shù)據(jù)庫(kù)的所有Component對(duì)象及其配置和資源,代表了數(shù)據(jù)庫(kù)集群的整體行為和屬性。包括:創(chuàng)建、擴(kuò)縮容、隔離、銷毀等完整的生命周期操作,以及通過Component對(duì)象關(guān)聯(lián)監(jiān)控、日志、LB、備份、HA、調(diào)度策略等周邊屬性定義,共同協(xié)作完成分布式數(shù)據(jù)庫(kù)對(duì)象的操作完備性。Cluster對(duì)象的生命周期支持創(chuàng)建、運(yùn)行、變更、停止、重啟、休眠、進(jìn)入回收站和銷毀等運(yùn)維操作。Cluster對(duì)象的生命周期管理需要根據(jù)Component對(duì)象的拓?fù)浣Y(jié)構(gòu)(通常是一個(gè)有向無環(huán)圖DAG)進(jìn)行編排。各個(gè)Component對(duì)象之間通常存在服務(wù)依賴關(guān)系,Cluster對(duì)象需要定義這些Component對(duì)象之間的依賴關(guān)系。在Cluster對(duì)象進(jìn)行一致性備份時(shí),需要協(xié)調(diào)多個(gè)Component對(duì)象的備份過程,以確保整個(gè)集群的數(shù)據(jù)一致性和可恢復(fù)性?;謴?fù)過程需要按照備份的一致性位點(diǎn)和順序,對(duì)元數(shù)據(jù)、分片數(shù)據(jù)等進(jìn)行有序的恢復(fù)和重放。2.Component層。Component是指分布式數(shù)據(jù)庫(kù)集群中的一個(gè)邏輯組件或服務(wù),每個(gè)Component對(duì)象都承擔(dān)特定的功能和角色,如數(shù)據(jù)存儲(chǔ)、元數(shù)據(jù)管理、查詢處理等。Component對(duì)象封裝了特定功能所需的資源、配置和行為,是Cluster對(duì)象的基本構(gòu)建塊。多個(gè)Component對(duì)象相互協(xié)作,共同提供完整的數(shù)據(jù)庫(kù)服務(wù)。Component對(duì)象需要管理分布式數(shù)據(jù)庫(kù)集群里一個(gè)組件所有副本的生命周期。支持創(chuàng)建、重啟、升級(jí)、修改配置、垂直擴(kuò)縮容、水平擴(kuò)縮容、高可用切換、跨節(jié)點(diǎn)遷移、休眠、進(jìn)入回收站和銷毀等運(yùn)維操作。Component對(duì)象創(chuàng)建時(shí),可根據(jù)組件的配當(dāng)有新的功能特性、性能優(yōu)化或者bug修復(fù)時(shí),Component對(duì)象可進(jìn)行升級(jí)操作。通過修改Component對(duì)象的配置參數(shù),動(dòng)態(tài)調(diào)整多個(gè)副本的配置。Component對(duì)象支持多個(gè)副本的高可用切換,當(dāng)節(jié)點(diǎn)發(fā)生不可恢復(fù)故障,或者在進(jìn)行節(jié)點(diǎn)的維護(hù)、升級(jí)時(shí),可以使用跨節(jié)點(diǎn)遷移功能將組件副本從一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)。Componet支持相關(guān)配置,可選配置項(xiàng)如表1所示。設(shè)置親和性和反親

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論