*作者:徐曉鋒 YashanDB 資深架構師


“一套系統能不能既扛高併發交易,又做實時分析?”、“白天跑業務、晚上跑批處理,能不能不‘掉鏈子’?”

當我們走訪近百家企業,經常聽到類似的提問。數字化深入的今天,OLTP與OLAP的界限正在加速模糊,混合工作負載不再是“特殊場景”,而是“常態需求”。傳統解決方案中,企業往往需拆分部署兩套獨立架構:用OLTP數據庫支撐高併發,再搭一套OLAP架構支撐分析需求。兩套系統、兩份數據、雙重運維,給企業造成硬件資源重複投入、運維成本高、業務創新迭代受限的多重負擔。

基於企業的共性訴求,YashanDB提出“TP+”核心理念,YashanDB V23.5作為這一理念的核心落地版本,對執行引擎、優化器、內存索引訪問等多方面進行優化,在TP基礎上全面增強複雜查詢能力,真正實現TP+場景的極致性能,為企業提供從TB至數百TB級數據全生命週期管理的一站式解決方案。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_OLAP

為什麼是現在?

TP+的時代必然性

TP+的興起並非偶然,而是技術發展與業務需求共同驅動的必然結果:

  • 業務層面,企業決策正從“事後分析”轉向“實時智能”,例如銀行需要在日終批處理的同時響應實時轉賬查詢,電商平台要在高併發交易峯值期完成庫存動態分析,傳統“先交易後分析”的模式已無法滿足業務實時性要求;
  • 技術層面,存儲成本的持續降低、多核服務器的普及,為“混合負載同引擎處理”提供了硬件基礎,而企業對IT架構簡化、TCO優化的訴求,進一步推動了“TP+AP融合”的技術演進。

那麼,YashanDB定義的TP+究竟是什麼?它不是TP與AP的簡單拼接,而是以“業務場景為中心”,通過底層技術革新,實現“交易型負載與分析型負載高效協同”的全新架構:既保留TP場景所需的高併發、低延遲、高可靠特性,又具備AP場景所需的複雜計算、批量處理、高效查詢能力,讓企業無需在“交易速度”與“分析深度”之間做取捨。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_yashandb_02

YashanDB做了什麼?

構建TP+場景混合負載基石

YashanDB V23.5對TP+的支撐,源於我們對底層技術的持續深耕與原創突破。我們拒絕“修修補補”的優化,而是從執行引擎、優化器、內存數據索引等核心模塊進行重構,構建起真正適配TP+場景的技術底座。

一、全新向量化執行引擎:批量數據處理性能實現質的提升

面對大規模數據處理場景,傳統單行處理模式存在CPU緩存命中率低、內存訪問延遲高等瓶頸。YashanDB V23.5全新設計批量數據向量化處理引擎,完成從“單行處理”到“批量列組織處理”的升級,徹底重構執行層架構。

  • 核心技術亮點:採用緩存更友好算法,重新設計數據結構與訪問模式,最大化提升CPU緩存命中率,顯著降低內存訪問延遲;針對Hash join、Hash group、排序等核心算子進行深度優化,適配不同數據重複度場景。
  • 性能實測表現:在千萬級數據測試中,無論低重複度還是高度重複數據場景,核心算子性能均實現跨越式提升,提升幅度達40%至400%。其中排序算子在高度重複數據場景下性能提升最為顯著,為大批量數據分析提供強力支撐。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_OLAP_03


二、優化器新增TopN智能優化:千萬級數據查詢毫秒級響應

業務中常有“無需全量返回,僅需TopN結果”的場景(如分頁查詢、熱門榜單展示),傳統優化器往往會掃描全量數據後再篩選,導致性能浪費。YashanDB V23.5新增優化器TopN模式,通過精細化代價評估實現最優執行計劃選擇。

  • 核心技術亮點:基於統計信息與代價模型,精準評估TopN場景下各算子的計算代價,通過“滿足N條記錄即終止”的執行邏輯,向上層算子傳遞記錄需求,實現全鏈路代價最優;智能匹配執行算子,如千萬級數據關聯場景中自動選擇NL join替代Hash join,規避全量數據掃描。
  • 性能實測表現:在千萬級數據關聯+TopN返回場景中,性能提升達上千倍,徹底解決分頁查詢、熱門數據篩選等場景的性能瓶頸。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_崖山數據庫_04


三、優化內存索引訪問:高併發點查性能60倍+提升

隨着服務器內存容量持續增大,內存數據訪問成為高併發實時查詢的關鍵性能節點。YashanDB V23.5實現了內存數據索引訪問優化(Fixed Index),基於支持並行操作的Hash結構,實現內存數據的高效點查。

  • 核心技術亮點:Hash結構原生支持並行操作,適配高併發場景;索引設計貼合內存數據存取特性,避免冗餘數據拷貝與轉換開銷。
  • 性能實測表現:針對客户核心業務的SQL緩存查詢場景測試,單值查詢性能提升超60倍,多值查詢性能提升10倍以上,且內存配置越大,提升幅度越顯著,為高併發實時查詢提供堅實技術支撐。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_崖山數據庫_05

四、UDF內聯技術優化:複雜業務函數性能大幅提升

用户定義函數(UDF)在企業業務中廣泛應用,但傳統實現方式存在上下文切換頻繁、執行效率低等問題,導致存在顯著的性能開銷。YashanDB V23.5對UDF內聯技術優化,對UDF可以內聯的場景,實現了大幅度的性能提升。

  • 核心技術亮點:查詢編譯階段深度解析UDF的PL/SQL代碼,識別可優化模式;將適配的UDF轉換為內聯子查詢,大幅降低上下文切換開銷;結合子查詢轉Join能力,進一步提升執行效率。
  • 典型應用示例:以下為子查詢轉Join的一個示例場景:
-- 原UDF調用語句
create or replace function func_test_so_inline_f1 return varchar2 is
   v_out varchar2(32);
begin
    select x1 into v_out from t_test_so_inline_1 where a1 = 100;
    NULL;
    return v_out;
end;

-- 內聯優化後自動轉為Join執行
select func_test_so_inline_f1 
from t_test_so_inline_2 
where a2 = 200;

  • 性能實測表現:UDF內聯優化後,複雜業務函數執行性能大幅提升,徹底解決傳統UDF調用導致的性能瓶頸。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_崖山數據庫_06

場景價值兑現:

從通用能力到業務精準適配

技術的終極價值,是解決真實業務問題。YashanDB V23.5針對企業高頻場景做深度適配,讓TP+能力真正落地。

一、分頁查詢優化:億級數據分頁毫秒級響應

分頁查詢是電商列表、報表分頁等場景的核心操作,但傳統實現方式隨着數據量增長,性能會急劇下降。YashanDB V23.5針對該場景推出Rownum與StopKey協同優化方案,實現全場景分頁性能突破。

1. 核心技術亮點

  • 條件推導與下推:將Rownum限制條件下推至底層算子,實現數據提前過濾,減少無效數據掃描;
  • 索引協同優化:若底層存在有序索引,直接利用索引有序性提前返回結果,避免全表掃描與排序;
  • 無索引場景優化:通過StopKey排序機制,顯著減少排序內存佔用,提升排序效率。

2. 典型應用示例:如下是一個經典的分頁查詢的例子,可以看到YashanDB基於該類查詢優化後的執行計劃。

select * from(
  select a.*, rownum as rn from (
    select custom_id from item order by custom_id desc
) 
a) 
 where rn > 10 and rn < 20;

3. 執行計劃優化:優化器自動選擇"INDEX FULL SCAN DESCENDING"結合"COUNT STOPKEY",僅掃描必要索引數據,避免全表排序,在千萬級數據的測試中,響應時間從秒級降至毫秒級。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_yashandb_07

可以使用索引的場景

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_yashandb_08

無索引的場景

二、混合批處理優化:企業核心業務全鏈路加速

針對TP+場景的混合業務操作,典型批處理場景,如日終批處理、大規模數據裝載、全局臨時表操作、循環處理等,YashanDB V23.5進行全鏈路優化,充分滿足企業級混合業務需求。

1.核心優化點

  • 臨時表緩存淘汰策略優化:提升臨時數據處理吞吐量,減少緩存失效導致的性能波動;
  • Bulk Collection增強:優化PL/SQL批量數據處理性能,提升混合業務下大數據吞吐能力;
  • 單列索引創建優化:針對批量處理中臨時索引創建需求,提升索引構建效率;
  • 子查詢轉Join擴展:更多複雜子查詢可自動轉為Join執行,降低嵌套查詢開銷。

2.業務價值:日終批處理耗時顯著縮短,大規模數據裝載效率提升,支持企業核心業務(如金融批量結算、零售庫存盤點)高效完成。

YashanDB V23.5:全面支撐TP+,助力企業解決混合負載痛點_yashandb_09

未來:以TP+為鑰

一站式解決數據管理問題

YashanDB對TP+的探索,始終圍繞“三個同一”的核心堅守——同一時間支持交易與分析並行、同一空間無需兩套系統部署、同一引擎承載全場景負載,這正是崖山數據庫與其他“偽融合”方案的本質區別。未來,YashanDB將進一步增強自適應混合負載框架的發展,其核心包括:

  • 統一執行引擎:向量化與行處理的無縫切換,火山模型與Pipeline模型的協同調度,兼顧數據流處理的靈活性與並行效率。
  • 融合優化框架:基於增強的代價模型,根據查詢特徵自動選擇最優處理模式,為不同負載類型生成最優執行計劃。比如點查詢採用高效的行式處理,分析查詢採用向量化批量處理。
  • 多模態混合查詢:關係查詢、全文檢索與向量檢索的一體化支持,為多模態數據應用提供統一接口。

我們將持續深化底層技術,讓TP+場景的數據管理更智能、更融合,真正一站式解決TB至數百TB級數據全生命週期管理問題,高效支撐密集數據更新與大批量數據分析的混合負載。