國產數據庫市場橫空殺出個巨頭?亞信科技AntDB數據庫憑什麽

2022-12-26 飛總聊IT

信創政策加持下國產數據庫市場異常熱鬧,大大小小的廠商二三百家,與行業人交流發現,竟然還有不少數據庫方面的專業人才,也有在某個行業深耕十幾二十年的不錯的數據庫產品。有了政策的東風,這些產品也不甘於深藏原行業,紛紛殺到國產數據庫市場攻城略地。從通訊行業走出的亞信科技AntDB數據庫也一樣勢頭很猛,被越來越多的行業客戶關註、青睞。


2022年7月,亞信科技發布了分布式數據庫AntDB的7.0版本。這是AntDB自2008年在通信運營商核心系統上線以來第七個大的版本。這次發布會也是亞信科技AntDB的首次發布會,並成功引起了外界對亞信科技數據庫的好奇:亞信科技還有數據庫?竟然在十幾年前就開始做了?已經到第7個版本了?這到底是一個什麽產品?


嚴格來說,亞信科技數據庫是亞信科技的被動選擇,因為亞信科技數據庫是被客戶場景逼出來的產品,是為了解決當時的國際主流數據庫沒有遇到過、無法滿足的場景需求,被迫進行技術創新才有的產品。


21世紀初,中國移動電話用戶進入了迅猛發展的時期,僅中國移動某省的客戶就高達四五千萬,每天通信記錄高達10億級別,如此數量級的用戶量和業務量在全球來看都是史無前例的,用戶量和業務量同時劇增給核心計費賬務系統的吞吐量和相應效率帶來了嚴重挑戰,即使用到當時最先進的國際主流數據庫產品也無法滿足業務需求。


面對全球超級規模的數據和信息處理需求,亞信科技作為為三大運營商提供業務支撐的合作夥伴「臨危受命」,投入到了第一代AntDB的開發中,並於2008年在通信運營商核心系統正式上線運行,在電信級高可用的基礎上,使整個交易處理的吞吐率和響應時間提升了一個數量級。


從需求方面說,亞信科技AntDB「出道即巔峰」——從一開始就在應對超高強度和密度的業務需求,由此而來的產品,安全性和穩定性可以說是與生俱來、並且一直在實打實的場景中驗證打磨著的,這種高頻高密度交易的天然「練兵場」對於大多數產品來說都是可遇不可求的稀缺資源。


應用場景這種天然的「練兵場」對AntDB的發展演進非常重要,畢竟對著教科書都能把代碼編出來,但是代碼出來,產品能不能穩定運行、可靠性怎麽樣就需要實實在在的應用場景來打磨,脫離應用場景談產品能力談產品發展都是不現實的,尤其對於這種連國際主流數據庫都束手無策的獨具中國特色的場景更能考驗和打磨出產品的實戰能力。


第一代AntDB是內存數據庫,它把單節點交易處理的吞吐量和響應時間都提高了一個數量級,有效支撐了通信運營商業務發展的需要,亞信科技也因此開始了自己的數據庫研發之路。經過10多年的發展,AntDB已經從滿足自用需求發展為企業級的通用產品,並在通信、金融、交通、能源、物聯網等行業成功商用落地。


下圖總結了AntDB的各個版本的研發演進情況,包括各個版本開發時間和重要特性。


e538b678535543dc4cba3d94c99a184e.jpg

AntDB1.0是一個內存數據庫,到2.0的時候已經發展成為第一代的分布式數據庫,支持異地多中心雙活。AntDB3.x,4.x和5.x的時代分別增加了對PostgreSQL生態社區,MySQL生態,Oracle的SQL的支持。


AntDB的發展,展示了一條從內存數據庫,到高可用全功能的關系型數據庫,再到兼容MySQL,PostgreSQL以及Oracle的全棧式數據庫,更進一步到分布式,多模原生數據庫的發展路徑。


從架構上來看,AntDB的架構是典型的主流數據庫架構。具體來說,AntDB是一個典型的share-nothing架構。這種架構沒有什麽特殊功能節點,所有的查詢都可以通過任意節點進行。目前大部分的開源分布式數據庫和商業分布式數據庫也都采用這種架構。


在share-nothing架構下,AntDB的計算和存儲是分離的。計算有計算的節點,存儲也有存儲的節點。無論是計算節點還是存儲節點,都可以按照實際需要水平擴展。AntDB系統通過自動化分片技術,來實現分散式存儲和負載均衡。


下圖是它的架構圖。


a765bb6434f1c06325962d96ab8b6eb0.jpg


和其他share-nothing的數據庫比起來,AntDB的獨到之處在於存儲引擎和計算引擎都是自研的,擁有自主知識產權的源代碼。AntDB的內存引擎提供了比大部分商業數據庫超過一個量級的交易能力,還提供了從內存引擎到磁盤引擎之間的數據自動同步功能。


同時在內核全自研的基礎上,AntDB還做了產品的標準化和第三方生態兼容,通過SQL解析來保護數據庫語法的多樣性,既支持SQL2016標準,全面兼容MySQL、PostgreSQL語法,也同時兼容Oracle等國外主流數據庫的SQL語法。用戶可以根據自己的業務需求,選擇合適的SQL語法解析引擎,做到用同樣的AntDB引擎,去替換多種已有的數據庫的目的,而且AntDB對SQL解析引擎的切換動態生效,不需要重啟數據庫。這給了用戶極大的方便。


在信創政策下,擁有全自研引擎的AntDB全面融入信創,與國產芯片、操作系統等底層軟件硬件生態兼容,適配國產第三方工具。目前AntDB對國產的飛騰,龍芯,鯤鵬,海光等CPU架構,和統信,中標麒麟,銀河麒麟,歐拉等國產操作系統全面對接。


經歷了10多年各種應用場景的錘煉,為10億多用戶提供在線服務,AntDB已經成為性能穩定、執行速度快的系統——手機用戶的每次點擊、每次通話都需要AntDB的支持,AntDB峰值每秒處理百萬筆通信核心交易,超過了國外商用數據庫產品一個數量級,當之無愧的強大。


也正因為一直在通信運營商核心系統應用,離中國信息技術發展最近,因此AntDB數據庫可以說一直站在未來的場景中叠代升級。對於數據庫未來的發展,AntDB將關鍵字鎖定在是「融合」+「實時」兩個詞上。


為了適應現在的諸多數據應用場景,數據庫產品有交易型數據庫,有分析型數據庫。現存的還有以Hadoop生態圈為代表的大數據體系。還有近年來越來越流行的流處理數據庫等等。


如果一個用戶為了支撐不同的應用場景,就需要按照不同的數據處理工具,並且要在不同的數據處理工具之間對底層數據進行同步,那麽這將是一個非常復雜的系統。用戶的管理和維護都非常的困難。很不幸的是,現實中,目前很多單位的數據處理工具確實是這樣的。


AntDB的「超融合」理念認為,一個數據處理引擎應該能夠融合和處理各種不同的場景。客戶應該只需要一個數據庫產品就能夠同時獲得內存計算、交易、分析、流處理、時序等諸多能力,完成對數據庫引擎的「超融合「。


010.jpg


隨著技術的發展,用戶對數據處理實時性要求越來越高。比如說,用戶以前只需要看每天的統計報表,現在用戶更希望能夠實時看到統計報表,獲得實時的風險推送告警。


目前實時計算是通過流計算引擎進行的,它們遊離在數據庫之外,通常通過Kafka 傳送數據,通過Spark streaming或者Flink等流處理引擎處理。這些引擎不能簡單地用SQL來處理數據,流處理系統和批處理系統之間也無法進行融合。


所以面向未來的數據庫引擎應當具備流式處理引擎,通過SQL對流和批統一的進行處理,可以對流流,流表等進行多種模式的關聯,可以進行彈性部署,流處理和批處理節點可以分別根據業務需要進行縮容擴容。

012.jpg

 「超融合」和「流式處理引擎」也是AntDB數據庫新版本中即將實現的能力。


根據可靠消息,12月26-28日亞信科技產品發布會上,AntDB將就這兩種能力進行公開發布,發布會的相關消息也會同步到AntDB公眾號,感興趣的朋友可以關註公眾號隨時跟進。