星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

星環科技發表於2022-03-01

近日, 星環科技分散式交易型資料庫Transwarp KunDB正式推出2.2版本。新版本核心帶來了關鍵能力升級,主要包括:

●支援與星環大資料基礎平臺Transwarp Data Hub和分散式分析型資料庫ArgoDB直接SQL互操作,通過統一的SQL引擎可將資料直接寫入KunDB,以及從KunDB做資料分析,進一步完善了TDH的多模型支援能力;


●分散式資料庫內建了新的執行器引擎,可以解決跨Shard的資料分析和檢索能力,在架構上通過列式資料結構、多協程技術運算元內並行和流水線計算模式來提升檢索與分析效能;


●查詢SQL的相容性進一步提升,新增APPLY、CTE、中間結果物化等運算元,並支援子查詢去關聯化,從而完善子查詢、公共表示式、大表關聯查詢等SQL的支援,可以完整執行TPC-H等基準測試;


●新增多級資料分割槽能力,通過DDL指定規則資料可在分片基礎上進行二次分割槽儲存,即先分片儲存,再分割槽儲存。


KunDB主要面向高併發、大資料量的交易型業務場景,隨著KunDB2.2的推出,對分散式查詢分析類的SQL的支援和效能進一步提升, 適用於大數量下的資料集市業務。某頭部醫療資訊化公司圍繞臨床資料中心服務,構建圍繞醫院臨床、科研、教育、管理服務,通過對資料的科學、合理、有效利用反哺醫教研管。 在醫院的CDR典型場景,採用星環ArgoDB+KunDB形成了聯合資料解決方案。臨床資料中心的資料由ArgoDB對實時資料進行加工、處理,部分結果實時輸出至KunDB,提供給醫生進行醫療資訊併發查詢服務。1000併發下,多種維度資料查詢請求KunDB均可毫秒級響應,有效滿足醫院問診效率提升。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

下面我們一起來揭曉新版本的全新產品體驗。


全新特性加持:分散式技術創新,資料庫體驗更加豐富

新特性之一:支援與星環TDH的元件關係型分析引擎Inceptor和分散式分析型資料庫ArgoDB直接SQL互操作

星環關係型分析引擎Inceptor和分散式分析型資料庫ArgoDB,可為使用者提供PB級海量資料的高效能分析服務。本次KunDB 2.2版本升級可以跟 TDH/ArgoDB SQL引擎互操作,為使用者提供更大的便利。KunDB作為 TDH/ArgoDB另一類儲存引擎,支援定義表儲存型別為KunDB,支援INSERT INTO...SELECT語句自動將資料批量寫入KunDB,或者通過SELECT語句把KunDB的資料拉取到計算引擎中完成分散式計算返回給業務。 通過TDH/ArgoDB統一SQL引擎與KunDB進行互動,利於TDH/ArgoDB跟KunDB組成資料倉儲+高併發資料集市一站式解決方案。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

該新特性的加持,TDH/ArgoDB使用者可以在資料不出資料庫的情況下,對TDH/ArgoDB的其它儲存引擎中的資料分析後將結果轉儲到KunDB,使用KunDB作為高併發查詢業務的資料庫儲存引擎。或者藉助TDH/ArgoDB引擎,對KunDB中的最新鮮的業務資料直接進行復雜分析,而不需要ETL過程。對於已使用TDH/ArgoDB的使用者,不需要變更業務層跟資料庫互動方式,就可以兼顧複雜分析、高併發查詢等業務場景的需求。

新特性之二:多級資料分割槽支援

KunDB 2.2版本提供了資料分割槽的支援,KunDB分片儲存語句使用的 PARTITION BY語句,2.2 之後調整為DISTRIBUTED BY子句標識資料分片規則,同時PARTITION BY子句用於資料分割槽的規則。從而支援資料在多個分散式儲存節點上可以分片+分割槽二級儲存,跟儲存層的表分割槽打通。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

該特性一方面相容了MySQL的分割槽表語法,另一方面資料分佈的粒度支援分片和分割槽兩級,可根據業務資料特徵選擇不同的欄位和規則分別進行更加細粒度的管理,對資料管理的靈活性和查詢效能都有提升。

新特性之三:迭代器模式執行器

KunDB 2.2的執行器採用了迭代器模式,將常見的計算抽象成基本運算元並定義各運算元之間的資料介面,SQL執行分解為運算元的迭代計算方式,資料以chunk形式,而非單行模式在運算元間流轉。迭代器架構清晰,運算元功能內聚,可針對不同運算元進行鍼對性優化處理。迭代器模式擴充套件性好,針對新的計算模型可抽象成新的運算元。在KunDB2.2中已支援Block Hash Join、Index Lookup Join、Nest Loop Join、Hash Aggr、Quick Sort、Apply、Union、Projection、Selection、Limit、Table Scan、Max1Row、CTE等運算元。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

在此基礎上,KunDB2.2完善了分散式模式下對MySQL查詢類SQL的相容支援,並在效能上提升。在上述醫院高併發資料集市案例中,所有聚合查詢、關聯查詢等複雜查詢類SQL均達到了毫秒級響應。

新特性之四:子查詢去關聯優化

通過代數理論,子查詢可等價轉換為關聯查詢,計算深度減少,可選擇更多的關聯運算元,執行計劃更加靈活。與傳統的子查詢相比,轉換為關聯查詢的執行代價更低,並可多次優化達到效能最優。結果上,SELECT、FROM、WHERE等子句的子查詢效能均得以大幅度提升,並支援了UPDATE、JOIN條件子句中使用子查詢。TPCH 10GB資料規模的測試結果中,Q4、Q7、Q8、Q9、Q11、Q13、Q15等帶有子查詢的SQL均在1分鐘內完成,與MySQL相比效能最高提升了20倍。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

新特性之五:支援記憶體列式計算

KunDB中記憶體中對結果集轉換成列式結構快取,支援所有資料庫型別的行列轉換。相比於傳統的行式計算模型,列式計算引入自適應壓縮,基於壓縮後編碼直接計算,記憶體消耗降低50%以上,而執行時間不會劣化。

尤其是基於列的表示式計算,沒有逐行解析的開銷,節省了大部分的函式呼叫。數值型別算術運算子通過記憶體列式計算方式,與記憶體行式計算相比,效能最高提升50倍。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

新特性之六:計算與儲存層通訊優化

在之前的版本,KunDB查詢執行器與儲存節點的通訊採用的gRPC方式,即SQL引擎KunGate與KunTablet服務通訊,KunTablet與儲存節點通訊。KunDB2.2開始KunGate在SQL執行時可以採用MySQL Protocal方式與儲存節點直接通訊。KunTablet只負責儲存節點的狀態監控,與儲存層的連線管理、執行管理都在KunGate層完成。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

通訊鏈路減少,SQL執行的延遲大幅降低,以TPCC基準測試為參考,效能提升50%左右。

新特性之七:中間結果集物化儲存

在HASH JOIN和SORT運算元計算過程中,中間結果超過固定閾值(預設100萬條)記錄時,KunDB執行器可將中間結果以列式方式壓縮落盤檔案,防止耗費大量記憶體資源影響資料庫服務的穩定性。計算後落盤檔案可以自動清理,中間結果臨時落盤的記錄數閾值可以通過引數設定。對於億級的表關聯查詢,也可保證記憶體不會因中間結果集過大而出現OOM的情況。

新特性之八:優化器邏輯優化規則完善

KunDB2.2優化器累計實現了下推、子查詢去關聯化、列裁剪、表示式和條件評估、謂詞下推、TopN下推、聚合下推、關聯重排序、HINT等查詢優化規則。基於優化規則,對於關聯查詢、關聯排序均可不同程度的下推執行,提升了SQL執行的並行度,並且緩解了KunGate的記憶體壓力。以TPCH中的Q4查詢SQL為例,KunDB2.2經過邏輯優化後,執行計劃更加的簡單高效。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

以10GB TPCH為例,經過優化後的SQL執行效率較MySQL都有大幅提升。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

※其中Q17和Q20因MySQL 10分鐘無結果,取10分鐘作為執行時間。

新特性之九:跨連線的執行計劃快取

KunDB 2.2 SQL引擎改造了執行計劃快取的機制,將使用者會話中執行的SQL解析結果和執行計劃快取在記憶體中,給其它連線或者同一連線後續的SQL執行做複用。其它連線後續有相同的 SQL 請求時,自動找到快取的SQL與執行計劃,通過減少編譯和優化的時間,提升 SQL 的效能。在某金融行業TP業務中,該技術對於簡單查詢類請求執行時間節省了 50%。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

新特性之十:執行器支援多協程並行

傳統的迭代器模型,通過運算元提供的介面管理SQL執行的生命週期。大量介面呼叫帶來了開銷,運算元內部採用多執行緒有會頻繁執行緒切換開銷。KunDB2.2 執行器採用了基於協程的並行執行技術,每個運算元作為主協程,運算元內開啟多個子協程並行,使用生產者-消費者多個面模型實現了運算元間的並行。記憶體消耗、併發切換開銷、運算元呼叫開銷均大幅降低,而且運算元間解耦產生更靈活的執行模型。

星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇



關鍵能力優化提升:支援 10w+ 資料庫物件,事務處理效能、MySQL相容性、關聯工具能力全面提升


●後設資料服務改造,重構了後設資料管理元件,採用了高併發一致性儲存方案,支援至少10萬以上的資料庫物件且效能不會劣化。


●事務處理能力大幅提升,以TPCC為例,較上個分散式版本tpmC提升60%。


●MySQL相容性持續增強,新增了CTE語法、近40個函式的支援,擴充套件DQL、SET、ROLE等語法的完善。


●關聯工具能力全面增強,主要是資料匯入匯出、備份恢復時,壓縮、加密等功能的豐富和效能提升,其中全量資料匯出工具結合儲存層直方圖效能提升了2倍以上。



國產化能力升級:國產資料庫生態完更加完善


KunDB是星環科技自主研發的國產資料庫, 支援主流國產化CPU(龍芯、飛騰、鯤鵬等)等自主可控的硬體平臺和OS部署(UOS、中標/銀河麒麟、華為尤拉等),支援東方通、寶蘭德等企業中介軟體,資料庫同步工具迪思傑、 TapData等。確保資料資訊的安全,在使用者認證、自主訪問控制(DAC)、鏈路與資料加密、操作與SQL審計等方面提供資料庫的多維度安全保護,嚴格保證資料和業務的安全性和完整性。繼KunDB Server和匯入匯出工具之後,KunDB的備份還原工具KunDR也支援了國產SM4加密演算法, 所有KunDB儲存相關的元件都支援國產加密演算法。


星環 KunDB 2.2 釋出,為高併發事務與查詢混合的業務系統提供一個新選擇

目前,KunDB憑藉出色的產品實力通過了中國人民銀行分散式資料庫符合性認證測試,進行了337檢測專案的驗證, 覆蓋了資料庫功能、安全、災難恢復、效能等方面,已經在政府、醫療等多個行業中落地,其中與星環科技分散式分析型資料庫ArgoDB形成的聯合醫療解決方案已經在全國範圍內多家三甲醫院落地實施。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994106/viewspace-2861682/,如需轉載,請註明出處,否則將追究法律責任。

相關文章