TiDB HTAP特性的應用場景簡析

語言: CN / TW / HK

作者:何朝洋

原文來源:https://tidb.net/blog/da6fe78a

TiDB是一種典型的HTAP資料庫,即交易分析混合負載型DB,目前已經成為一種流行的新型資料庫代表,具有隔離性、實時性、一致性“三性合一”的優秀特性,同時隨著版本的迭代,AP的能力在逐漸增強。HTAP不僅概念很火,並且也在逐漸成為除OLTP、OLAP之外,越來越多資料庫使用者新的選型規範。然而,現階段,又存在一些現象:一是一夜之間,所有的資料庫都變成了HTAP資料庫;二是除了“能同時承載交易與分析SQL”這一極易模糊的理解之外,基本沒有清晰明確的界定;自然而然,對HTAP的應用場景,也是八仙過海,各式各樣,並不清晰的。這些,都導致HTAP有成為一種噱頭的趨勢。

 

1. HTAP的界定

這裡認為,HTAP既然要成為一種新的標準與規範,就必須有儘量明確界定。而達此目的的最基本原則,就是它在技術上必須有不同於過去經典資料庫的能力(不應該只是分散式),並且必須對客戶的數字化程序帶來創新與升級,這同時包括業務架構、應用架構、資料架構與技術架構等層面。面向這一原則,其定義與界定可以持續探討,而本文僅提出如下幾點以供參考:

(1)HTAP在技術架構與設計目標上不應該等同於經典Oracle與MySQL,或分散式後的類Oracle與MySQL,因為如果經典Oracle與MySQL也算是HTAP的話(用“能同時承載交易與分析SQL”來衡量,那肯定是),HTAP的定義,就毫無意義;

(2)HTAP資料庫的交易與分析任務的執行,應該能做到使用者透明使用且有互不影響的基礎,而不應該是AP多了大幅影響TP,TP多了大幅影響AP,經典Oracle與MySQL正是如此;

(3)HTAP不應該面向數倉類純OLAP的需求。也就是說,其對企業資料架構的提升,現階段不應該以摒棄資料倉庫體系為目標;

(4)現在的HTAP資料庫,應該是分散式資料庫。

如果用以上標準來界定的話,就可以很明確的判定:除TiDB之外,很多其它號稱HTAP的資料庫,其實並不是真正的HTAP。

 

2. TiDB HTAP應用場景

前面說過,TiDB這種真正的HTAP特性給客戶帶來的,應該是業務與架構的創新與提升,而不僅僅是替換或者效能的提高。由此出發,本文認為TiDB HTAP的應用場景主要集中如下兩個方面:

(1)分析能力內嵌的業務系統(Analytic-Embeded OLTP)

有了HTAP的能力,未來的交易型業務系統,都應該在業務交易側,就天生擁有分析的能力,並且不影響交易的效能與資料的一致性。如風控、營銷或者其它原來需要在後臺數據平臺端通過資料遷移與同步才能完成的能力,相當一部分,可以遷移到業務系統側實時完成,成為業務系統內在的功能,使其本身就能完成一定程度的業務閉環,這必然是技術驅動現代業務發展的重要方向。

未來的業務系統應該以此標準來設計,這對現代交易系統的業務能力改造與升級有很大的意義。

 

(2) 以“用”為核的資料服務超市(Data SuperStore)

大多數的資料倉庫(Data Warehouse)體系,都是為“管”而生的,應用很難享受到資料的紅利。絕大多數的企業,在花大量精力建立了資料倉庫(Data Warehouse)體系後,業務系統與人員大多隻能通過“請求技術人員協助完成”及“把資料導到業務系統來”兩種方式來使用資料,這種應用與資料分隔的現象是大多數企業過去很長一段時間及至今都極為關注的痛點。

面向資料消費,在現有資料平臺之上,建立以“用”為核,以“管”為基的資料服務平臺,即資料中臺這一概念的正確解釋,已經成為很多企業規劃與實施的重點創新與升級應用之一。它不同於Data WareHouse是為了存與管,而是為了讓全企業的使用者能將資料(準確講是面向業務整理後的資料資產,因不是本文重點,這裡不作贅述)當作超市的商品一樣自由選擇與消費,從而讓全企業享受到資料的紅利,因此,這裡認為稱之為資料服務超市(Data SuperStore)更為恰當。然而,拋開資料資產體系建立等架構與模型層面的內容不說,應該用什麼樣的資料庫來承載這個SuperStore呢?

面向資料消費的 SuperStore,即要承載來自全企業的大量、高併發的服務型查詢需求(QPS的TP型),也要承載大量探索型的統計分析需求(AP型),這種要求顯然不是純OLAP資料庫,也不是純OLTP資料庫能滿足的,顯然又必須是彈性分散式的。因此,過去相當多的資料服務平臺,都是採用多種型別資料庫,組合滿足不同需求來設計的。那麼,以TiDB為典型代表的HTAP資料庫,就應該是該場景的最佳選擇。