時間:2024-09-20 來源: 作者:hfw.cc 我要糾錯
htap數據庫,即交易分析混合負載DB,已經成為一個流行的新數據庫。不僅概念非常流行,而且逐漸成為除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數據庫,應為分布式數據庫。
2、htap應用場景
正如我前面所說,htap應該帶來業務和架構的創新和改進,而不僅僅是替換或性能的提高。從這個角度來看,本文認為htap的應用場景主要集中在以下兩個方面:
(1)分析能力內嵌的業務系統
有了htap的能力,未來的交易型業務系統應該天生具備在業務交易方面進行分析的能力,不影響交易性能和數據的一致性。相當一部分原本需要通過數據遷移和同步在后臺數據平臺上完成的風險控制、營銷或其他能力,可以實時遷移到業務系統方面,成為業務系統的內在功能,使其能夠在一定程度上完成業務閉環,這必然是技術驅動現代業務發展的重要方向。
今后的業務系統應按照這個標準進行設計,這對于現代交易系統業務能力的轉變和升級具有重要意義。
(2)以“用”為核的數據服務超市
大部分數據倉庫系統是為“管理”而生的,很難在應用中享受數據紅利。大多數企業都在花費大量精力建立數據倉庫系統之后,大部分業務系統和人員只能通過“請求技術人員協助完成”和“將數據導入業務系統”兩種方式使用數據。這種應用與數據分離的現象是大多數企業長期以來一直非常關注的痛點。
面向數據消費,在現有數據平臺之上,建立以“使用”為核心、以“管理”為基礎的數據服務平臺,即正確解釋數據中心的概念,已經成為許多企業規劃和實施的關鍵創新和升級應用之一。與Data WareHouse不同,它是為了存儲和管理,而是為了讓整個企業的用戶可以像超市的商品一樣自由選擇和消費數據(準確地說,它是為了業務整理的數據資產,因為它不是本文的重點,這里就不贅述了),從而讓整個企業享受數據紅利。因此,這里被認為數據服務超市更合適。但是,除了數據資產體系建立等結構和模型層面的內容之外,應該用什么樣的數據庫來承載這個SuperStore呢?
SuperStore面向數據消費,即要承載來自全企業的大量、高并發的服務型查詢需求(QPS的TP型),還要承載大量的探索型統計分析需求(AP型),這一要求顯然不是純粹的OLAP數據庫,也不是純粹的OLTP數據庫能夠滿足的,顯然也必須是彈性分布式的。所以,過去相當一部分數據服務平臺,都是采用多種類型的數據庫,組合滿足不同的需求而設計的。htap數據庫,應該是這個場景的最佳選擇。