人人干人人噪人人摸,在线播放国产精彩对白,日本乱子伦一区二区三区,国产黑料网站在线观看

立即咨詢
2025.02.28 |
中亦科技助力眾誠保險核心數(shù)據(jù)庫 “換芯”
在“金融強國”戰(zhàn)略與信創(chuàng)產(chǎn)業(yè)浪潮雙重驅(qū)動下,國產(chǎn)數(shù)據(jù)庫正成為金融業(yè)數(shù)字化轉(zhuǎn)型的“新基建”。

眾誠汽車保險股份有限公司(簡稱“眾誠保險”,下同)為了實現(xiàn)業(yè)務(wù)的高質(zhì)量發(fā)展,毅然決定對核心數(shù)據(jù)庫進行 “換芯” ,從 Oracle 數(shù)據(jù)庫替換成國產(chǎn)數(shù)據(jù)庫 OceanBase ,而這場手術(shù)的“主刀團隊”正是中亦科技。


這場“換芯”不僅實現(xiàn)了40+業(yè)務(wù)系統(tǒng)的平滑過渡,更以兩地三中心架構(gòu)打造了金融級容災(zāi)標桿。今天,就讓我們一起解碼這場國產(chǎn)化替代的重要實踐!

一、測試環(huán)境壓測

在正式遷移之前,中亦團隊搭建了模擬真實業(yè)務(wù)場景的測試環(huán)境,對 OceanBase 進行全面壓測。

壓測內(nèi)容包括但不限于:
  • 高并發(fā)讀寫測試,模擬大量用戶同時進行保單查詢、理賠申請等操作;
  • 大數(shù)據(jù)量存儲測試,向數(shù)據(jù)庫中導(dǎo)入歷史積累的海量業(yè)務(wù)數(shù)據(jù),測試其存儲性能和查詢效率;
  • 復(fù)雜事務(wù)處理測試,模擬涉及多個業(yè)務(wù)表關(guān)聯(lián)的復(fù)雜業(yè)務(wù)流程,驗證事務(wù)的一致性和完整性。

通過壓測,收集到了 OceanBase 在不同負載下的性能指標,如響應(yīng)時間、吞吐量等,為后續(xù)的參數(shù)調(diào)整和優(yōu)化提供了數(shù)據(jù)依據(jù)。同時,與原 Oracle 數(shù)據(jù)庫在相同測試場景下的性能進行對比,進一步驗證了 OceanBase 在性能上的優(yōu)勢和潛力。



二、準生產(chǎn)環(huán)境壓測


在測試環(huán)境壓測取得初步成功后,中亦團隊將 OceanBase 部署到準生產(chǎn)環(huán)境進行更貼近實際業(yè)務(wù)的壓測。

準生產(chǎn)環(huán)境盡可能模擬生產(chǎn)環(huán)境的硬件配置、網(wǎng)絡(luò)架構(gòu)和業(yè)務(wù)流量。在這個階段,不僅對數(shù)據(jù)庫本身進行壓測,還將相關(guān)應(yīng)用系統(tǒng)接入,進行端到端的性能測試。

通過準生產(chǎn)環(huán)境壓測,發(fā)現(xiàn)了一些在測試環(huán)境中未暴露的問題,如應(yīng)用與數(shù)據(jù)庫之間的兼容性問題、部分復(fù)雜業(yè)務(wù)邏輯下數(shù)據(jù)庫資源消耗過大等。

針對這些問題,及時進行了針對性的優(yōu)化和調(diào)整,包括優(yōu)化數(shù)據(jù)庫查詢語句、調(diào)整應(yīng)用系統(tǒng)的連接池配置等,確保 OceanBase 在正式上線后能夠穩(wěn)定運行。

三、應(yīng)用改造與適配

由于 OceanBase 與 Oracle 在語法、特性等方面存在一定差異,為了確保應(yīng)用系統(tǒng)能夠順利運行在新的數(shù)據(jù)庫上,進行了全面的應(yīng)用改造與適配工作。

首先,對應(yīng)用代碼中涉及數(shù)據(jù)庫操作的部分進行梳理和分析,將 Oracle 特有的語法和函數(shù)替換為 OceanBase 支持的語法和函數(shù)。例如,在數(shù)據(jù)查詢語句中,將 Oracle 的 ROWNUM 關(guān)鍵字替換為 OceanBase 的 LIMIT 語法來實現(xiàn)分頁功能;對于日期處理函數(shù),也根據(jù) OceanBase 的語法進行相應(yīng)調(diào)整。

其次,對應(yīng)用系統(tǒng)的配置文件進行修改,確保其能夠正確連接到 OceanBase  數(shù)據(jù)庫,并根據(jù)新數(shù)據(jù)庫的特性進行參數(shù)優(yōu)化,如調(diào)整連接池的最大連接數(shù)、最小連接數(shù)等。

此外,還對應(yīng)用系統(tǒng)進行了全面的回歸測試,確保改造后的應(yīng)用系統(tǒng)功能正常,性能不受影響。


四、數(shù)據(jù)庫集群搭建


OceanBase 采用分布式架構(gòu),數(shù)據(jù)庫集群的搭建是一項關(guān)鍵工作。

第一階段,采用了單機房三副本架構(gòu),這種架構(gòu)能夠在單機房環(huán)境下提供較高的數(shù)據(jù)可靠性和讀寫性能。通過 OceanBase 的集群管理工具,將多個物理節(jié)點組成一個集群,每個數(shù)據(jù)分片在三個節(jié)點上保存副本,確保在某個節(jié)點出現(xiàn)故障時,數(shù)據(jù)仍然可用。

在搭建過程中,嚴格按照 OceanBase 的最佳實踐進行配置,包括節(jié)點的硬件配置、網(wǎng)絡(luò)配置、存儲配置等。同時,對集群的各個節(jié)點進行監(jiān)控和管理,確保集群的穩(wěn)定性和性能。

隨著業(yè)務(wù)的發(fā)展和對數(shù)據(jù)高可用性要求的進一步提高,第二階段完成了兩地三中心的建設(shè)。通過在不同地理位置的三個數(shù)據(jù)中心部署 OceanBase 集群,實現(xiàn)了數(shù)據(jù)的異地多活,極大地提高了系統(tǒng)的容災(zāi)能力和業(yè)務(wù)連續(xù)性。

在兩地三中心架構(gòu)下,通過智能路由和數(shù)據(jù)同步技術(shù),確保用戶的請求能夠被合理地分配到各個數(shù)據(jù)中心,同時保證數(shù)據(jù)在不同數(shù)據(jù)中心之間的一致性。


五、數(shù)據(jù)庫參數(shù)調(diào)整優(yōu)化

為了充分發(fā)揮 OceanBase 的性能優(yōu)勢,對數(shù)據(jù)庫參數(shù)進行了細致的調(diào)整和優(yōu)化。根據(jù)業(yè)務(wù)特點和壓測結(jié)果,對內(nèi)存分配參數(shù)進行優(yōu)化,合理調(diào)整系統(tǒng)內(nèi)存、緩存內(nèi)存等參數(shù),確保數(shù)據(jù)庫在處理不同類型的業(yè)務(wù)時,都能夠高效地利用內(nèi)存資源。

例如,對于讀密集型業(yè)務(wù),適當增加緩存內(nèi)存的比例,提高數(shù)據(jù)的讀取速度;對于寫密集型業(yè)務(wù),優(yōu)化內(nèi)存分配,確保寫入操作的高效執(zhí)行。同時,對 I/O  參數(shù)進行調(diào)整,根據(jù)存儲設(shè)備的性能,優(yōu)化磁盤 I/O 調(diào)度策略,減少 I/O 等待時間。

此外,還對事務(wù)相關(guān)參數(shù)進行優(yōu)化,確保事務(wù)的并發(fā)處理能力和一致性。通過不斷地調(diào)整和優(yōu)化參數(shù),使 OceanBase 在各種業(yè)務(wù)場景下都能夠達到最佳性能狀態(tài)。


六、數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計

1、大表改造為分區(qū)表

隨著業(yè)務(wù)數(shù)據(jù)的不斷增長,一些核心業(yè)務(wù)表的數(shù)據(jù)量達到了千萬甚至億級,對這些大表進行分區(qū)表改造成為提高性能的關(guān)鍵措施。根據(jù)業(yè)務(wù)特點和查詢需求,選擇合適的分區(qū)鍵,如按時間、業(yè)務(wù)類型等進行分區(qū)。

例如,對于保單表,按照保單生效時間進行分區(qū),將不同時間段的保單數(shù)據(jù)存儲在不同的分區(qū)中。這樣在進行數(shù)據(jù)查詢時,只需要訪問相關(guān)的分區(qū),大大減少了數(shù)據(jù)掃描范圍,提高了查詢效率。同時,在進行數(shù)據(jù)插入和更新操作時,也能夠避免對整個大表的鎖爭用,提高了并發(fā)處理能力。

2、采用 TABLEGROUP 方式進行優(yōu)化

為了進一步提高數(shù)據(jù)庫的性能和管理效率,采用了 TABLEGROUP 方式對相關(guān)表進行組織。將業(yè)務(wù)上緊密相關(guān)的表放在同一個 TABLEGROUP 中,這樣在進行數(shù)據(jù)操作時,可以減少磁盤 I/O 的隨機訪問,提高數(shù)據(jù)讀寫的效率。例如,將客戶信息表、客戶保單關(guān)系表等放在同一個 TABLEGROUP 中,當查詢客戶及其保單信息時,能夠通過一次 I/O 操作讀取多個相關(guān)表的數(shù)據(jù),減少了 I/O 開銷。

3、PRIMARY ZONE 修改為單 ZONE 架構(gòu)

在 OceanBase 的架構(gòu)中,PRIMARY ZONE負責處理讀寫請求,為了優(yōu)化性能和提高可用性,將 PRIMARY ZONE修改為單 ZONE 架構(gòu)。在單 ZONE 架構(gòu)下,所有的讀寫請求都集中在一個 ZONE 中處理,減少了跨 ZONE 的數(shù)據(jù)傳輸開銷,提高了讀寫性能。同時,通過合理配置副本數(shù)量和分布,確保在單 ZONE 出現(xiàn)故障時,數(shù)據(jù)仍然能夠通過其他 ZONE 的副本進行訪問,保證了系統(tǒng)的高可用性。



七、執(zhí)行計劃綁定與復(fù)雜SQL改寫


1、執(zhí)行計劃綁定

在應(yīng)用系統(tǒng)運行過程中,數(shù)據(jù)庫的執(zhí)行計劃對于查詢性能至關(guān)重要。為了確保查詢語句始終能夠使用最優(yōu)的執(zhí)行計劃,采用了執(zhí)行計劃綁定技術(shù)。通過對關(guān)鍵查詢語句進行分析和測試,獲取其最優(yōu)執(zhí)行計劃,并將其綁定到數(shù)據(jù)庫中。

這樣,無論數(shù)據(jù)庫的統(tǒng)計信息如何變化,該查詢語句都將始終使用綁定的執(zhí)行計劃,避免了因執(zhí)行計劃變化而導(dǎo)致的性能波動。例如,對于一些涉及多表關(guān)聯(lián)的復(fù)雜查詢,通過執(zhí)行計劃綁定,能夠確保在不同的業(yè)務(wù)負載下,都能夠高效地完成查詢操作。

2、復(fù)雜 SQL 改寫

在原 Oracle 數(shù)據(jù)庫中,存在一些復(fù)雜的 SQL 語句,這些語句在遷移到  OceanBase 后,可能無法達到預(yù)期的性能。因此,對這些復(fù)雜 SQL 語句進行了改寫。通過優(yōu)化查詢邏輯、減少子查詢嵌套、合理使用索引等方法,提高  SQL 語句的執(zhí)行效率。

例如,將一些多層嵌套的子查詢改寫成 JOIN 操作,減少了數(shù)據(jù)的重復(fù)掃描;對于一些頻繁查詢的字段,添加合適的索引,加快了數(shù)據(jù)的檢索速度。同時,在改寫過程中,充分考慮了 OceanBase 的特性和優(yōu)化策略,確保改寫后的 SQL 語句能夠在新數(shù)據(jù)庫上高效運行。


八、遷移過程中的數(shù)據(jù)處理

1、同步工具,數(shù)據(jù)比對修復(fù)

在數(shù)據(jù)遷移過程中,使用同步工具進行數(shù)據(jù)遷移,并通過強大的數(shù)據(jù)比對功能,確保遷移前后數(shù)據(jù)的一致性。同步工具在遷移完成后,對源 Oracle 數(shù)據(jù)庫和目標 OceanBase 數(shù)據(jù)庫中的數(shù)據(jù)進行逐行比對,發(fā)現(xiàn)不一致的數(shù)據(jù)后,及時進行修復(fù)。

例如,在數(shù)據(jù)比對過程中,發(fā)現(xiàn)由于數(shù)據(jù)類型轉(zhuǎn)換問題導(dǎo)致部分數(shù)值型數(shù)據(jù)在遷移后出現(xiàn)精度丟失的情況,通過同步工具的數(shù)據(jù)修復(fù)功能,對這些數(shù)據(jù)進行了重新轉(zhuǎn)換和修正,確保了數(shù)據(jù)的準確性。

2、源 Oracle 不規(guī)范數(shù)據(jù)優(yōu)化

原 Oracle 數(shù)據(jù)庫中存在一些不規(guī)范的數(shù)據(jù),如數(shù)據(jù)格式不一致、空值處理不當?shù)龋@些數(shù)據(jù)如果直接遷移到 OceanBase ,可能會影響后續(xù)的業(yè)務(wù)處理和數(shù)據(jù)分析。

因此,在遷移之前,對源 Oracle 數(shù)據(jù)庫中的不規(guī)范數(shù)據(jù)進行了優(yōu)化。通過編寫數(shù)據(jù)清洗腳本,對數(shù)據(jù)格式進行統(tǒng)一規(guī)范,如將日期格式統(tǒng)一為 “YYYY-MM-DD” ;對于空值,根據(jù)業(yè)務(wù)規(guī)則進行合理的填充或處理。同時,對一些不合理的索引和約束進行調(diào)整,確保數(shù)據(jù)的完整性和一致性。

3、生僻字優(yōu)化

考慮到業(yè)務(wù)數(shù)據(jù)中可能存在生僻字,在遷移過程中對生僻字的存儲和處理進行了優(yōu)化。確保 OceanBase 數(shù)據(jù)庫的字符集能夠支持所有可能出現(xiàn)的生僻字,避免因字符集不兼容導(dǎo)致生僻字存儲錯誤或顯示亂碼的問題。同時,對應(yīng)用系統(tǒng)中涉及生僻字輸入、查詢和顯示的部分進行了測試和優(yōu)化,確保生僻字在整個業(yè)務(wù)流程中能夠正確處理。


通過一系列的技術(shù)工作和努力,中亦科技作為眾誠保險數(shù)據(jù)庫 “換芯” 項目的 “主治醫(yī)師”,憑借專業(yè)的技術(shù)能力、豐富的項目經(jīng)驗以及高度的責任心,為眾誠保險核心數(shù)據(jù)庫的成功替換和 40 多個系統(tǒng)的順利上線提供了強有力的支持。這次合作不僅實現(xiàn)了眾誠保險技術(shù)架構(gòu)的升級和優(yōu)化,也為雙方在未來的業(yè)務(wù)發(fā)展和技術(shù)創(chuàng)新方面奠定了堅實的基礎(chǔ)。

總之,眾誠保險核心數(shù)據(jù)庫的 “換芯” 工程是一次成功的技術(shù)變革,為企業(yè)的數(shù)字化轉(zhuǎn)型和可持續(xù)發(fā)展奠定了堅實的基礎(chǔ)。


相關(guān)推薦
助力IT企業(yè)信創(chuàng)服務(wù),和企業(yè)一起走向成功
立即領(lǐng)取企業(yè)福利 預(yù)約您的專屬顧問
400-1037-370