中國聯通:用國産技術,構築數字時代安全堡壘
客商在廣交會展館內設置的通訊服務點選購電話卡
文|張海鑫 黃紅華
2022年10月15日下午3點19分,位於韓國京畿道城南市盆唐區三平洞的SK C&C板橋數據中心發生火災。
儘管數據中心於次日上午9時恢復了90%的服務器電力供應,但在斷電的大半天內,韓國互聯網仍然蒙受了巨大損失。Kakao首當其衝,這款軟體是韓國應用最廣泛的移動通信工具,涵蓋即時通訊、移動支付、在線交易、在線地圖和打車等業務。分析師估計,受火災影響,Kakao第四季度的收入因此遭受220億韓元的損失。
無獨有偶,2021年3月位於法國斯特拉斯堡的OVH數據中心被大火燒燬。火災導致多個數據中心無法提供服務,大量客戶網站癱瘓,部分客戶數據完全丟失且無法恢復。這成為數據中心史無前例的災難性事件。
在全球,每天都會有因自然災害或人為因素導致的數據丟失事件發生,特別是近幾年隨着極端天氣、氣候事件頻發,數據安全面臨前所未有的挑戰。研究顯示,災害後,如果無法在14天內恢復信息作業,有75%的公司業務會完全停頓,43%的公司再也無法重新開業,20%的企業在兩年內將被迫宣告破産。
為了避免類似災難,在中國,運營商與國産數據庫一起,另辟蹊徑,在極端條件下為國民數據安全建起了一座堡壘。
一場容災實戰
“王平鎮、大&街道、妙峰山鎮的鄉親們,因暴雨致通信中斷,中國聯通緊急調派無人機抵達你鎮上空,可暫時恢復中國聯通移網通信。受無人機滯空時間限制,移網恢復時間只有3小時,請盡快告知情況、&&家人。祝平安!”2023年8月4日,當颱風“杜蘇芮”裹挾着140年來最大降雨登陸北京,這樣一則信息出現在了許多受災民眾的手機中,讓他們可以向外界報平安。
救災一線,中國聯通的空中基站無人機、應急通信車、工程搶險車第一時間到達現場,搶修隊伍艱難作業,失聯區域的信號條被一個個點亮。“永定鎮,共44個行政村/規模小區,已通!”“龍泉鎮,共33個行政村/規模小區,已通!”“軍莊鎮,共11個行政村/規模小區,已通!”……幾天時間,前線搶通鋪設的光纖芯公里數相當於從北京到阿根廷首都布宜諾斯艾利斯的距離。
而在後方,也有一群聯通人日夜堅守,確保數據安全萬無一失。“面臨地震、洪水等自然災害帶來的機房斷電、被毀或光纖斷裂等極端情況時,分佈式數據庫的彈性伸縮能力可以很好地進行發生故障時自動遷移,通過自愈來保障業務連續性以及數據的高可用和高安全。”中國聯通軟體研究院公共&&與架構研發事業部副總經理王曉峰説,聯通將數據庫集群進行“兩地三中心五副本”部署,數據副本分別存儲在西安和無錫的兩個數據庫資源池。比如當一個計算節點發生嚴重災難,我們的雙活管控&就會在不同的數據中心之間進行切換,異地災備中心的數據庫集群往往可以在秒級內完成節點的故障轉移,基於強同步機制的數據庫服務可以實現數據無丟失。基本上可以做到讓用戶無感,用戶重新連接網絡後便可立即恢復使用。
國産分佈式數據庫OceanBase的多地多副本架構,在很大程度上可以支撐聯通這種異地雙活的城市級容災需求,這也是聯通選擇分佈式數據庫的關鍵理由之一。王曉峰説,“分佈式數據庫相比集中式單機主備架構,具有原生的分佈式一致性事務和寫負載分發的優勢,從而可以更高程度地保障數據庫的多副本同步,提高數據的安全性。我們聯通的業務分為關鍵核心業務、核心業務和一般業務。關鍵核心業務的數據肯定是要保障數據高可用、高安全,不僅在數據層面進行異地的容災,在業務層面我們也是異地雙活,以保障在異常場景下為聯通客戶提供持續有效的服務。”
“當然這種城市級的災難並不多見,但我們平時也會時常開展這種容災倒換演練,根據演練經驗,對操作規程和調度時間等不斷進行優化,縮短容災倒換的時間,更好地應對未來可能面臨的風險。”王曉峰説,對數字時代的數據容災來説,“亡羊補牢,猶未遲也”的觀念顯然已經過時,“防患於未然”才是必須要做到的。
當史無前例的新需求遇上自主創新的大突破
除了數據安全方面的考量,中國5G市場爆發帶來的一個新問題,成了運營商們進行數據庫替換的直接誘因。
在2023年6月初舉行的第31屆中國國際信息通信展覽會上,工業和信息化部黨組書記、部長金壯龍指出,近10年來,我國信息通信業取得了跨越式發展,建成全球規模最大、技術領先的網絡基礎設施,移動通信網絡實現從“3G突破”“4G同步”到“5G引領”的跨越。
目前,中國已經建成全球規模最大的5G網絡,擁有的5G用戶數量全球最多。2023年上半年,三大運營商的成績亮眼,5G套餐用戶持續保持快速增長,6月份,三大運營商5G套餐用戶數達到12.48億戶。如此巨大的5G用戶需求,對於運營商來説意味着充滿機遇,卻也將世界其他國家從未遇到過的難題擺在它們面前。
用戶量、業務量的短時驟增,對通信行業的數據庫支撐系統提出了幾近苛刻的要求,尤其是核心計費賬務系統:話單積壓不能超過5分鐘、系統需要負載至少5到6倍的當前業務總量……這樣的數據和信息處理需求,在世界上史無前例、獨具中國特色。然而,Oracle、SQL Server和DB2等傳統數據庫孕育於歐美市場,並不能很好地滿足這樣體量的數據管理需求。
“以聯通為例,現在聯通全國活躍用戶超4億,在月初交費的高峰期,用戶通過PC端、手機端和聯通App等大量涌入,如此高併發的業務需求早已超出了國外集中式數據庫的性能上限。”王曉峰説,“以前業內基本上都用的是國外的集中式數據庫,5000萬用戶數基本上就到達集中式的瓶頸了。它或許可以支撐一個省的業務發展,但面對全國業務卻顯得力不從心,必須用分佈式數據庫來解決這個問題。”
“比如説聯通核心支撐系統cBSS,它將CRM、Billing等BSS域的核心系統全部集中起來,對數據庫的要求就是存儲量巨大,併發度非常高,還要有一定的可擴展性。有時候我們可能會推出一些秒殺活動,數據庫必須要能經受住這些活動帶來的大流量的突然衝擊。”王曉峰説,自主可控和高性能、高可用,這些是電信行業對數據庫的重要要求。
也正是基於上述兩點考量,中國聯通早早便把目光投向了國産數據庫。正在這時,國際市場也傳來了國産數據庫的好消息。2019年數據庫領域權威機構國際事務處理性能委員會(TPC)在官網發表TPC-C基準測試結果。螞蟻集團自主研發的原生分佈式數據庫OceanBase以兩倍於Oracle(甲骨文)的成績,打破數據庫基準性能測試的世界紀錄,成為全球數據庫演進史上的重要里程碑。次年,性能數據又創下7.07億tpmC的新紀錄,衛冕世界第一數據庫,實現我國基礎軟體領域的重大突破。
於是,中國聯通與OceanBase順理成章地走到了一起。
使用者也是開發者
王曉峰坦言,在整個數據庫國産升級項目之初也遭遇了一些挑戰。“主要來自數據庫産品的兼容性帶來的業務系統改造、語法和性能的不匹配,以及運維支撐問題。電信業務非常複雜,國外的集中式數據庫跟隨我們的業務系統運行了很多年,有些系統的開發時間很長,有一些非常複雜的存儲過程其代碼寫得也很繁雜,還會用到一些非常冷僻的SQL語句,這需要我們看懂語句邏輯,按照新的數據庫的要求把它重新改寫才行。”
為了提高國産數據庫的整體可用性和易用性,降低使用門檻,聯通軟研院&&架構部數據庫研發團隊,歷時13個月完成了對社區版OceanBase的優化改進,打造了ChinaUnicom Database for OceanBase(以下簡稱CUDB for OB)分佈式HTAP數據庫産品。王曉峰介紹,比如我們自研了MySQL和CUDB的雙向數據遷移,遷移速度10萬行/秒以上,是社區版OMS的3倍,同類産品DataX的5倍,並且遷移兼容性也遠超同類産品;同時,我們的配套生態工具也支持SQL阻斷限流、連接自動查殺、鎖事務管理、索引分析、SQL建議、一鍵巡檢等運維能力。通過工具,降低DBA門檻,我們希望可以做到人人都可以是DBA。
初略統計,目前中國聯通遷移到CUDB for OB上的業務應用已有270多個、部署規模200多、原始數據量近300TB壓縮後僅50TB。
由此,中國聯通在國産數據庫的使用過程中也完成了從使用者到開發者的身份轉變。“中國聯通的生産環境足夠複雜,系統運行多種多樣,OceanBase能夠在這樣的環境下歷練,會加速我們産品的成熟。”OceanBase運營商行業解決方案負責人李楠&&,後期我們也會與聯通軟研院的研發人員一起發現問題、解決問題,同用戶一起成長。
“我們還計劃將聯通自研OceanBase數據遷移工具對外開源。”王曉峰説,我們將好的開源項目、開源技術引入到聯通中進行實踐,並將實踐效果、改進思路回饋到開源社區,讓更多用戶不必再重復攻克我們在遷移過程中遇到的難題,降低國産數據庫的使用門檻,“這也是我們作為央企應該承擔的責任”。
除了已經在實戰中得到檢驗的高容災能力和高性能之外,王曉峰介紹,“OceanBase還有一個優勢是,它採用了數據壓縮存儲的方案,在保障多副本份額的同時可以對數據進行壓縮,基本上能夠壓縮到原來的1/3。換句話説,用1/3的服務器就能夠支撐原本同等的業務,這釋放了我們很多機器,整個系統的運營成本也明顯降低。”
王曉峰希望,數據庫作為關鍵基礎軟體,未來要在技術、人才、生態等多方面長期持續投入和創新,下大力氣,優化系統、擴大規模、降低成本、培養人才,産學研用共同合作,形成良性循環,讓更多人分享國研軟體的“甜”。