星環科技打造自主可控的高性能數據庫,開啟國產化升級新篇章
星環科技自成立以來,一直致力於國產化數據庫的自主研發,打造了自主可控的高性能分佈式分析型數據庫ArgoDB和分佈式交易型數據庫KunDB。交易型數據庫KunDB具備較強的SQL兼容性,同時具備高可用、高並發、在線擴縮容、數據強一致性等能力,適用於操作型業務、高並發業務等場景。多模型數據庫ArgoDB具備完整的SQL兼容性,同時具備高擴展、高可靠、多模型、存算解耦等能力,一站式滿足數據倉庫、實時數據倉庫、數據集市、OLAP、聯邦計算等場景。
通過不斷的打磨和對業務場景不斷的落地實踐,ArgoDB和KunDB已成為具有完全自主知識產權的成熟的國產數據庫,能夠為更多的客戶提供高性能、高可靠、成熟的數據庫產品服務,幫助用戶應對智能數據時代海量數據的分析與探索。
近日,星環科技正式發佈了ArgoDB5.0和KunDB3.0,並將其結合打造了一體化實時AETP技術(分析增強型交易庫),在一個數據庫系統里同時支撐交易與分析混合型業務場景,助力數據庫國產化升級
ArgoDB5.0:存算引擎雙升級,打造高性能湖倉集一體化多模型數據庫
Transwarp ArgoDB 是星環科技自主研發的面向數據分析型業務場景的國產化分佈式多模數據庫,能夠一站式替代Hadoop+MPP混合架構,提供多模分析、實時數據處理、存算解耦、混合負載、數據聯邦、異構服務器混合部署等先進技術能力,一站式滿足數據倉庫、實時數據倉庫、數據集市、OLAP、聯邦計算等各種需求。2019年8月,ArgoDB成為全球第四個通過TPC-DS基準測試並經過TPC官方審計的數據庫產品。
ArgoDB5.0打造了新一代向量化計算引擎和多模型存儲引擎,整體分析性能大幅度提升。ArgoDB5.0進一步加強了多模型數據的支持能力和處理能力,通過一個數據庫就可以滿足更多數據模型處理和不同模態數據關聯。同時,ArgoDB5.0引入DP-SQL能力,實現對數據的隱私保護,滿足數據發佈、流通、脫敏、查詢、交易等場景下的數據安全要求。在數據資產安全保障上,5.0版本繼續加強了數據容災備份能力,通過細粒度、高並發、高效率的容災備份能力,進一步提升數據安全保障能力。此外,ArgoDB 5.0進一步加強數據湖和數據倉庫/數據集市等業務面的技術革新,增強湖倉集融合能力,通過統一訪問接口、統一存儲、統一元數據管理等能力,真正意義上為用戶提供湖倉集一體化的場景解決方案。
新一代向量化計算引擎和多模存儲引擎,分析性能是同類數據庫產品的2~10倍
ArgoDB 5.0在原高效的計算引擎之上,將計算算子全向量化native改寫,使得高並發複雜分析在百毫秒內反饋結果,將優化器中引入數據的動態採樣,全面支持多種join的重寫。同時結合業務場景,優化場景化能力,重點在湖倉一體的SQL管理上進行了優化,並且新增隱私計算能力和數據動態脫敏能力,增強數據聯邦場景中SQL語句算子下推能力等。
在存儲引擎方面,ArgoDB 5.0繼續深耕分佈式存儲框架與列式存儲引擎的優化,在降低業務資源消耗的同時提升多模型能力和業務性能。相對於上一代批量掃描性能提升了10倍以上,同時降低業務SQL資源(IO等)的使用,提升系統穩定性和業務效率。對於實時數倉場景,數據延遲控制在毫秒級,並且支持高並發分析。在大集群場景下,支持百萬級別的表和百萬級別的元信息管理,穩定性進一步提升。
基於存算雙引擎的升級,ArgoDB 5.0在性能上有大幅度的提升,尤其是OLAP分析場景下的性能提升,無論是單表查詢還是多表關聯場景,ArgoDB都具備有明顯的性能優勢,整體上是同類數據庫產品的2-10倍,幫助用戶更快、更穩定地應對複雜多變的業務需求。
多模數據融合分析,更高效地滿足」一庫多用「場景
隨着業務數據量不斷增長的同時,數據結構也變得越來越靈活多樣,數據不再局限於規整的結構化數據,半結構化、非結構化數據在數據域處理中的佔比逐年上升,因此對不同模態的數據進行智能化數據處理的需求越來越迫切。
多模型數據庫ArgoDB繼3.2版本新增支持大對象數據類型Blob和Clob,用來存儲、查詢和處理圖片、電子文檔、音頻、視頻等非結構化數據後,ArgoDB 5.0新增對半結構化的JSON/JSONB/XML數據類型的支持,滿足了更多數據模型處理場景和更多複雜業務需求。
同時,ArgoDB 5.0進一步加強了對多模態數據的處理能力,在優化器上進一步深耕,對不同模態數據基於代價/規則等自動判斷選擇合理高效模型,拆分、分發計算任務,讓數據處理更加快捷和高效。
在架構上,ArgoDB基於存算解耦,實現了多模數據庫的「四個統一」:
- 統一的SQL編譯引擎,支持SQL 99/2003 標準語法,兼容TD,Oracle,DB2等多種方言,對不同模式的數據提供統一接口,將多個操作訪問入口變為一個入口,將多種數據庫語言變為一種語言,降低開發和遷移成本,簡化用戶操作。
- 統一的計算引擎,將多套計算引擎變為一套引擎,將多份計算資源變為一份資源,提供高性能的分析計算和執行效率,滿足跨模型數據複雜關聯分析場景。
- 統一的存儲管理系統,同時支持分析型行列混合存儲、支持具有搜索功能的文本存儲等多模異構存儲,並保證數據的強一致性,數據只需一次入庫,即可通過異構存儲的訪問能力支撐多樣化複雜分析場景,降低運維成本,將分散存儲管理變為統一存儲管理,極大簡化系統架構,減少開發運維成本。
- 統一的星環雲原生操作系統,支持 ARM+X86的混合架構,用戶可以利舊硬件,大幅降低成本。
ArgoDB5.0通過統一的元數據管理、統一的事務管理和完備的多模優化器支撐了對不同模態數據的統一讀取調度,實現多模態融合,滿足更多「一庫多用「場景。
創新型數據差分隱私,強化數據安全
數據處理與數據安全是不可分割的,如何對個人數據的有效保護是在數據處理、數據公開、數據發佈中不可繞開的一個話題。隱私保護是基於差分隱私的密碼學方法,在統計數據庫查詢時,旨在保證數據查詢的同時,最大程度減少識別個體數據的機會。
ArgoDB 5.0版本結合數據隱私安全的業務訴求,引入DP-SQL能力,實現對數據的隱私保護,滿足數據發佈、流通、脫敏、查詢、交易等場景下的數據安全要求。在交互式場景下,數據管理者可以按需對查詢請求數據集合添加必要的干擾(即:噪聲)後反饋給用戶;在非交互式場景下,數據管理者可以按需針對所有可能的查詢,在滿足一定條件下一次性發佈相關查詢數據(即添加噪聲後的「凈化版」數據)。
ArgoDB5.0將隱私計算與數據庫技術相結合,支持複雜分析SQL自動優化,易於開發人員使用。同時將加密協議結合SQL優化技術,相較於python級別實現執行效率更優,支持更大數據量的隱私計算。
打破數據壁壘,增強湖倉集融合
隨着數據與業務的並行發展,對數據的融合分析處理逐漸成為數據庫技術發展趨勢。當數據倉庫與數據湖數據集市協同處理時,帶來的是數據孤島的打破,以及數據計算邊界的拓寬。
ArgoDB 5.0版本進一步加強數據湖和數據倉庫/數據集市等業務面的技術革新。在同一平台中,避免數據移動,將原始的、加工清洗的、模型化的數據,共同存儲於一體化的「湖倉集」中,既能面向業務實現高並發、精準化、高性能的歷史數據、實時數據的查詢服務,又能承載分析報表、批處理、數據挖掘等分析型數據集市業務,真正意義上為用戶提供湖倉集一體化的場景解決方案。
通過ArgoDB打造的湖倉集一體化方案,用戶可以基於統一訪問接口最大程度上降低數據湖、數據倉庫、數據集市業務過程中業務接口的調整,降低用戶開發成本,提高數據處理效率。統一的元數據管理可以在精準的ACL控制下,實現按需展示湖倉集內的相關元數據的統一查詢,提高數據管理效率。統一存儲管理,對使用者屏蔽不同數據源的數據存儲,降低業務數據管理難度。此外,基於ArgoDB打造的湖倉集一體化方案可以無縫銜接AI技術,幫助業務挖掘更多數據價值。
KunDB3.0:高度兼容Oracle語法和PL/SQL, 實現OLTP數據庫國產化升級
Transwarp KunDB是星環科技基於分佈式技術自主研發的國產化的交易型數據庫,提供完整的關係型數據庫的能力,高度兼容SQL,保證事務ACID。KunDB具有業內領先的事務處理性能,SQL兼容性以及最新的分佈式查詢優化技術,支持複雜查詢且性能是MySQL的10倍以上,充分滿足高並發、大數據量的交易型業務場景,能夠實現MySQL,Oracle等傳統主流數據庫的國產化替代。獨特的混合部署技術支持主流國產化CPU等自主可控的硬件平台和OS部署,滿足國產化部署需求。此外,KunDB提供全鏈路高可用、一致性備份恢復等容災能力,以及完備的安全管理、資源管理能力,可以為不同業務場景保駕護航。
KunDB3.0高度兼容Oracle對象與語法,基於創新的過程語言編譯技術,完整支持Oracle PL/SQL語法,大大降低企業國產化遷移成本。通過豐富查詢優化規則和算子進一步增強查詢優化器,並結合全新的向量化執行引擎使得分析性能在TPCH基準測試中較MySQL最高優化80倍。在事務處理能力方面,相較於KunDB2.0採用的全局事務管理器GTM方案,KunDB3.0採用基於TSO的全新分佈式強一致事務處理框架,進一步提升分佈式事務處理能力,事務處理上限達300萬TPS,較GTM方案提升5倍以上。同時KunDB3.0也對存儲層性能和分佈式架構做了持續優化,單機TPCC提升了1倍,分佈式TPCC提升了60%。在容災能力方面,KunDB3.0優化了跨機房容災架構,支持全鏈路高可用、一致性備份恢復等能力,故障時可恢復過去任意時間點,充分保障數據安全。此外,KunDB3.0採用了基於分析引擎增強分佈式事務處理引擎技術(ATEP),大幅提高了KunDB的數據分析能力,通過一個系統就可以同時提供高性能AP和TP服務能力,滿足交易與分析混合型業務場景。
高度兼容Oracle對象與語法,完整支持Oracle PL/SQL
KunDB3.0 對Oracle語法各個方面高度兼容,成為業內領先的具備支撐Oracle業務遷移能力的國產數據庫。KunDB3.0高度兼容Oracle語法與PL/SQL,支持VARCHAR2、NVARCHAR2等全部類型,在PL/SQL語法上,支持控制語句、集合、動態SQL、子程序、預定義包、錯誤處理等全部PL/SQL語法,解決了Oracle業務遷移到國產化數據庫的核心痛點,為其它兼容性完善提供了基礎。在Oracle數據庫對象、DML、函數、系統視圖、內置包、驅動等方面,做到了常用功能的兼容,滿足大部分業務的遷移需求,極大降低了企業業務遷移成本。
KunDB3.0採用創新的過程語言編譯技術及中間優化語言TIR,完整支持Oracle PL/SQL語法,並在4類技術場景實現創新和性能提升。
- 為了支持多個數據庫方言,傳統解釋器方式導致重複工作量會很大。KunDB3.0通過統一的中間優化語言TIR,表達任意的過程式語義及SQL語義,支持multi pass編譯與LLVM IR組合,低偶合、低成本的擴展不同數據庫PL/SQL語法體系
- 傳統技術將PL/SQL翻譯成函數執行方式,沒有控制流代碼優化空間。KunDB3.0通過轉譯LLVM,將PL/SQL轉為底層語法,可以與llvm的 multi pass優化結合,增加代碼優化規則,從而優化存儲過程的執行
- 傳統翻譯成函數執行的方式,無法進一步實現編譯執行。KunDB3.0引入統一表達式處理引擎技術,SQL與PL/SQL可復用編譯優化,實現方式上比Oracle更加簡潔,同時節省了開發成本
- 傳統的異常處理無法實現零開銷。KunDB3.0參考LLVM的landing pad技術,實現零開銷的異常處理系統。
全新的查詢優化器和向量化執行引擎,複雜分析性能提升10倍
KunDB從2.0到3.0的迭代中,為了更加友好的支持跨分片的複雜查詢分析,提升AP能力,KunDB基於火山模型重新設計了查詢優化器,面向分佈式存儲豐富了查詢優化的規則,包括了分片下推、子查詢去關聯化等十多種查詢優化規則,相應的擴展和優化了block hash join、Index Lookup Join等二十多個算子,TPCH 子查詢性能相比於KunDB2.0均有大幅度提升,最高提升了近20倍。
KunDB3.0使用了全新的向量化執行引擎,在內存中使用列存儲的方式對數據進行轉換存儲後再進行計算,相比於內存行式數據管理,在內存資源佔用、分析函數實現、表達式求值性能、壓縮支持上都更加具有優勢。另一方面,執行引擎基於多協程技術,採用了基於流水線的並行處理框架,支持並行的數據掃描、算子間數據交換、算子計算、結果集返回等全鏈路過程,對於數據可分拆執行的場景,性能有大幅提升。同樣的數據規模下以TPCH測試為參考,KunDB分析性能較MysQL有大幅度提升,22個Query最高性能提升可達到MySQL的近80倍。
基於TSO的全新分佈式強一致事務處理,集群事務處理能力提升1倍
在分佈式事務處理上,KunDB3.0使用基於全局時間戳的事務處理框架來代替2.0的全局事務管理器GTM方案。分佈式層引入了TSO服務器分配時間戳,採用XA協議和時間戳優化2PC保證分佈式原子性寫,分佈式事務開銷降低50%。基於事務提交時間戳可做到副本全局一致性讀,實現保證事務的讀寫分離。存儲層可基於當前時間戳和數據時間戳做全局一致性讀判斷,不依賴全局快照,性能更高,減輕中心化風險。KunDB3.0集群的事務處理上限提升了6倍,達到300萬TPS,完全滿足頭部互聯網業務場景的性能需求。
此外,KunDB3.0也對存儲層性能和分佈式架構做了持續優化。存儲層採用了面向內存的數據存儲與管理、無鎖內存索引技術、悲觀與樂觀結合的並發控制技術、並行查詢技術,實現了存儲層性能接近1倍的提升。結合分佈式層在通信鏈路優化為基於MySQL協議的通信,放棄了高開銷的grpc通信;元數據存儲的改造為高吞吐的關係型存儲,以及減少組件、管理組件精簡為一個全局服務,優化了分佈式層的開銷。在4分片的拓撲下,TPCC性能較2.0提升了60%。
跨機房容災架構,任意時間點全局一致性恢復
在容災方面,KunDB優化了跨機房容災架構,支持全鏈路高可用和全局一致性恢復。計算引擎完全無狀態,擴展便捷,可實現多節點部署;存儲引擎支持主備/Paxos複製,支持故障時主備切換;元數據服務也都是基於多數派協議支持故障時自動選主,實際部署時避免了單節點部署的風險。通過跨機房的副本數據強同步,保證了機房級故障時,恢復點目標RPO=0。
通過副本可讀技術,最大化利用每個角色提升系統吞吐,並且支持基於業務負載和組件健康狀態的路由變化,提升系統穩定性。
KunDB3.0支持物理備份與實時binlog備份,故障時可恢復過去任意時間點。新增的一致性備份恢復能力,基於時間戳信息保障數據庫恢復到最新的一致性點,避免了分佈式數據庫恢復後需要人為參與事務點對齊的難題。各分片獨立並發備份,每分鐘完成數GB數據備份,在高並發核心系統中,能夠有效降低備份對業務的影響。
保證全局事務的一體化實時AETP,同時提供高性能交易與分析服務能力
中國信通院2021年數據發展研究報告中指出,企業通常維護不同數據庫來支持聯機事務處理(OLTP)與聯機分析處理(OLAP)任務,管理和維護成本高。基於創新的計算存儲框架的HTAP 數據庫,能夠基於同一套引擎同時支撐業務系統運行和分析決策場景,避免在傳統架構中,在線與離線數據庫之間大量的數據交互,成為未來數據庫發展的趨勢之一。
KunDB3.0採用了基於分析引擎增強分佈式事務處理引擎技術(ATEP),大幅提高了KunDB的數據分析能力,通過一個系統就可以同時提供高性能AP和TP服務能力。
對外提供統一的SQL引擎作為統一入口,簡化用戶操作,數據在庫內即可自動同步、轉換,不需要繁瑣的ETL組件和ETL過程,數據無需出庫即可完成計算。同時提供統一數據類型和方言支持,將多種數據庫語言變為一種語言,大大降低開發和遷移成本。
針對不同程度的分析負載,通過全局優化器自動識別SQL,利用不同的引擎進行處理,TP引擎和AP引擎根據工作負載做自動路由和自動查詢優化,如針對複雜加工邏輯,則使用AP引擎分佈式計算能力直接讀取KunDB上的數據進行複雜計算;針對高並發明細檢索,則使用TP引擎提供服務。
使用行列混合存儲方案,列存提供給AP引擎支持高性能分析,同時列存作為TP庫的只讀副本,實時從行存同步事務最新數據庫,延遲低於10s,保證了數據分析的時效性和全局一致性讀。
對於已經部署了ArgoDB或KunDB的用戶,可以直接升級到AETP數據庫,無需改造業務和數據庫的交互方式,實現快速平滑升級。
通過不斷的打磨和對業務場景不斷的落地實踐,星環科技關係型數據庫ArgoDB和KunDB已經在金融、政務、能源、醫療、交通等多個行業應用,成功替代Oracle、MySQL等傳統業務數據庫。未來,星環科技將繼續深耕數據庫領域,通過不斷的技術創新和應用創新,為用戶提供更完備功能,更高性能、更穩定可靠的國產化數據庫產品。