淺談“HTAP”

HTAP是近些年來比較火的一個概念眨补,下面就聊聊其前世今生及技術(shù)特點旗笔。

1. 數(shù)據(jù)應(yīng)用類別

根據(jù)數(shù)據(jù)的使用特征,可簡單做如下劃分斩箫。在選擇技術(shù)平臺之前吏砂,我們需要做好這樣的定位。

image.png

1).OLTP

聯(lián)機事務(wù)處理OLTP

(On-Line Transaction Processing)

OLTP是事件驅(qū)動乘客、面向應(yīng)用的狐血,也稱為面向交易的處理過程。其基本特征是前臺接收的用戶數(shù)據(jù)可以立即傳送到計算中心進行處理易核,并在很短的時間內(nèi)給出處理結(jié)果匈织,是對用戶操作的快速響應(yīng)。例如銀行類牡直、電子商務(wù)類的交易系統(tǒng)就是典型的OLTP系統(tǒng)缀匕。其具備以下特點:

  • 直接面向應(yīng)用,數(shù)據(jù)在系統(tǒng)中產(chǎn)生碰逸。
  • 基于交易的處理系統(tǒng)乡小。
  • 每次交易牽涉的數(shù)據(jù)量很小饵史;對響應(yīng)時間要求非常高满钟。
  • 用戶數(shù)量非常龐大,其用戶是操作人員胳喷,并發(fā)度很高零远。
  • 數(shù)據(jù)庫的各種操作主要基于索引進行。
  • 以SQL作為交互載體厌蔽。
  • 總體數(shù)據(jù)量相對較小牵辣。

2).OLAP

聯(lián)機實時分析OLAP

(On-Line Analytical Processing)

OLAP是面向數(shù)據(jù)分析的,也稱為面向信息分析處理過程奴饮。它使分析人員能夠迅速纬向、一致、交互地從各個方面觀察信息戴卜,以達到深入理解數(shù)據(jù)的目的逾条。其特征是應(yīng)對海量數(shù)據(jù),支持復雜的分析操作投剥,側(cè)重決策支持师脂,并且提供直觀易懂的查詢結(jié)果。例如數(shù)據(jù)倉庫是其典型的OLAP系統(tǒng)。其具備以下特點:

  • 本身不產(chǎn)生數(shù)據(jù)吃警,其基礎(chǔ)數(shù)據(jù)來源于生產(chǎn)系統(tǒng)中的操作數(shù)據(jù)
  • 基于查詢的分析系統(tǒng)糕篇;復雜查詢經(jīng)常使用多表聯(lián)結(jié)、全表掃描等酌心,牽涉的數(shù)量往往十分龐大
  • 每次查詢設(shè)計的數(shù)據(jù)量很大拌消,響應(yīng)時間與具體查詢有很大關(guān)系
  • 用戶數(shù)量相對較小,其用戶主要是業(yè)務(wù)人員與管理人員
  • 由于業(yè)務(wù)問題不固定安券,數(shù)據(jù)庫的各種操作不能完全基于索引進行
  • 以SQL為主要載體墩崩,也支持語言類交互
  • 總體數(shù)據(jù)量相對較大

3).OTHER

除了傳統(tǒng)的OLTP、OLAP類侯勉,近些年來針對數(shù)據(jù)的使用又有些新特點鹦筹,我將其歸入了“其他”類。

  • 多模 隨著業(yè)務(wù)“互聯(lián)網(wǎng)化”和“智能化”的發(fā)展以及架構(gòu) “微服務(wù)”和“云化”的發(fā)展址貌,應(yīng)用系統(tǒng)對數(shù)據(jù)的存儲管理提出了新的標準和要求铐拐,數(shù)據(jù)的多樣性成為突出的問題。早期數(shù)據(jù)庫主要面對結(jié)構(gòu)化數(shù)據(jù)的處理場景芳誓。后面隨著業(yè)務(wù)的發(fā)展余舶,逐漸產(chǎn)生了對非結(jié)構(gòu)化數(shù)據(jù)的處理需求啊鸭。包括結(jié)構(gòu)化數(shù)據(jù)锹淌、半結(jié)構(gòu)化(JSON、XML等)數(shù)據(jù)赠制、文本數(shù)據(jù)赂摆、地理空間數(shù)據(jù)、圖數(shù)據(jù)钟些、音視頻數(shù)據(jù)等烟号。多模,正是指單一數(shù)據(jù)庫支持多種類型數(shù)據(jù)的存儲與處理政恍。
  • 流式 流式處理(實時計算)汪拥,是來源于對數(shù)據(jù)加工時效性的需求。數(shù)據(jù)的業(yè)務(wù)價值隨著時間的流失而迅速降低篙耗,因此在數(shù)據(jù)發(fā)生后必須盡快對其進行計算和處理迫筑。傳統(tǒng)基于周期類的處理方式,顯然無法滿足需求宗弯。隨著移動互聯(lián)網(wǎng)脯燃、物聯(lián)網(wǎng)和傳感器的發(fā)展導致大量的流式數(shù)據(jù)產(chǎn)生。相應(yīng)地出現(xiàn)了專有的流式數(shù)據(jù)處理平臺蒙保,如Storm辕棚、Kafka等。近些年來,很多數(shù)據(jù)庫開始支持流式數(shù)據(jù)處理逝嚎,例如MemSQL扁瓢、PipelineDB。有些專有流式數(shù)據(jù)處理平臺開始提供SQL接口懈糯,例如KSQL基于Kafka提供了流式SQL處理引擎涤妒。
  • 高階 隨著對數(shù)據(jù)使用的深入,數(shù)據(jù)的使用不再僅僅以簡單的增刪改查或分組聚合類操作赚哗,而對于其更為高階的使用也逐步引起大家的重視她紫。例如使用機器學習、統(tǒng)計分析和模式識別等算法屿储,對數(shù)據(jù)進行分析等贿讹。

對比 — OLAP vs OLTP

image.png

2. 數(shù)據(jù)處理模式

面對上述復雜多變的應(yīng)用場景,數(shù)據(jù)應(yīng)用的多種類別够掠,是由單一平臺處理民褂,還是由不同平臺來處理呢?一般來說疯潭,專有系統(tǒng)的性能將比通用系統(tǒng)性能高一到兩個數(shù)量級赊堪,因而不同的業(yè)務(wù)應(yīng)采用不同的系統(tǒng)。但正如古人說“天下大勢竖哩、分久必合哭廉、合久必分”,在數(shù)據(jù)處理領(lǐng)域也有一種趨勢相叁,由單一平臺來處理遵绰。這里選擇的核心在于如何來辯證看待需求和技術(shù)。它們是一對矛盾體增淹,當這對矛盾緩和時椿访,數(shù)據(jù)處理領(lǐng)域?qū)⒏呄蛴谡希欢斶@對矛盾尖銳時虑润,數(shù)據(jù)處理領(lǐng)域?qū)②呌诜稚⒊擅怠>蛙浻布夹g(shù)發(fā)展現(xiàn)狀和當前需求來看,未來整合的趨勢更為明顯拳喻。集成數(shù)據(jù)平臺將能滿足絕大多數(shù)用戶的場景哭当,只有極少數(shù)企業(yè)需要使用專有系統(tǒng)來實現(xiàn)其特殊的需求。

1).分散式(專有平臺)

目前比較常規(guī)的方式舞蔽,是采用多個專有平臺荣病,來針對不同場景進行數(shù)據(jù)處理。因此是跨平臺的渗柿,因此是有個數(shù)據(jù)傳輸?shù)倪^程个盆。這之中會帶來兩個問題:數(shù)據(jù)同步脖岛、數(shù)據(jù)冗余。數(shù)據(jù)同步的核心是數(shù)據(jù)時效性問題颊亮,過期的數(shù)據(jù)往往會喪失價值柴梆。常見的做法如下:

image.png

OLTP系統(tǒng)中的數(shù)據(jù)變化,通過日志的形式暴露出來终惑;通過消息隊列解耦傳輸绍在;后端的ETL消費拉取,將數(shù)據(jù)同步到OLAP中雹有。整個鏈條較長偿渡,對于時效性要求較高的場景是個考驗。此外霸奕,數(shù)據(jù)在鏈條中流動溜宽,是存在多份的數(shù)據(jù)冗余保存。在常規(guī)的高可用環(huán)境下质帅,數(shù)據(jù)會進一步保存多份适揉。因此這里面隱藏了比較大的技術(shù)、人力成本以及數(shù)據(jù)同步成本煤惩。而且橫跨如此之多的技術(shù)棧嫉嘀、數(shù)據(jù)庫產(chǎn)品,每個技術(shù)棧背后又需要單獨的團隊支持和維護魄揉,如DBA剪侮、大數(shù)據(jù)、基礎(chǔ)架構(gòu)等什猖。這些都蘊含著巨大的人力票彪、技術(shù)红淡、時間不狮、運維成本。正是出于在滿足各種業(yè)務(wù)需求的同時在旱,提高時效性摇零,減低數(shù)據(jù)冗余、縮短鏈條等桶蝎,收斂技術(shù)棧就變得很重要驻仅。這也是通用類平臺解決方案,誕生的出發(fā)點登渣。

2).集中式(通用平臺)

用戶厭倦了為不同的數(shù)據(jù)處理采用不同的數(shù)據(jù)處理系統(tǒng)噪服,更傾向于采用集成數(shù)據(jù)處理平臺來處理企業(yè)的各種數(shù)據(jù)類型。對于融合了聯(lián)機事務(wù)處理和聯(lián)機實時分析的場景胜茧,也就是下面所談到的HTAP粘优。此類通用平臺方案具備下面優(yōu)點:

  • 通過數(shù)據(jù)整合避免信息孤島仇味,便于共享和統(tǒng)一數(shù)據(jù)管理。
  • 基于SQL的數(shù)據(jù)集成平臺可提供良好的數(shù)據(jù)獨立性雹顺,使應(yīng)用能專注于業(yè)務(wù)邏輯丹墨,不用關(guān)心數(shù)據(jù)的底層操作細節(jié)。
  • 集成數(shù)據(jù)平臺能提供更好的實時性和更全的數(shù)據(jù)嬉愧,為業(yè)務(wù)提供更快更準的分析和決策贩挣。
  • 能夠避免各種系統(tǒng)之間的膠合,企業(yè)總體技術(shù)架構(gòu)簡單没酣,不需要復雜的數(shù)據(jù)導入/導出等王财,易于管理和維護。
  • 便于人才培養(yǎng)和知識共享裕便,無須為各種專有系統(tǒng)培養(yǎng)開發(fā)搪搏、運維和管理人才。

3. HTAP

HTAP數(shù)據(jù)庫(Hybrid Transaction and Analytical Process闪金,混合事務(wù)和分析處理)疯溺。2014年Gartner的一份報告中使用混合事務(wù)分析處理(HTAP)一詞描述新型的應(yīng)用程序框架,以打破OLTP和OLAP之間的隔閡哎垦,既可以應(yīng)用于事務(wù)型數(shù)據(jù)庫場景囱嫩,亦可以應(yīng)用于分析型數(shù)據(jù)庫場景。實現(xiàn)實時業(yè)務(wù)決策漏设。這種架構(gòu)具有顯而易見的優(yōu)勢:不但避免了繁瑣且昂貴的ETL操作墨闲,而且可以更快地對最新數(shù)據(jù)進行分析。這種快速分析數(shù)據(jù)的能力將成為未來企業(yè)的核心競爭力之一郑口。

image.png

1).技術(shù)要點

  • 底層數(shù)據(jù)要么只有一份鸳碧,要么可快速復制,并且同時滿足高并發(fā)的實時更新犬性。
  • 要滿足海量數(shù)據(jù)的容量問題瞻离,在存儲、計算都具有很好的線性擴展能力乒裆。
  • 具有很好的優(yōu)化器套利,可滿足事務(wù)類、分析類的語句需求鹤耍。
  • 具備標準的SQL肉迫,并支持諸如二級索引、分區(qū)稿黄、列式存儲喊衫、向量化計算等技術(shù)。

2).重點技術(shù) – 行列存儲

行存儲(Row-based):對于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫杆怕,比如甲骨文的OracleDB和MySQL族购,IBM的DB2鼻听、微軟的SQL Server等,一般都是采用行存儲(Row-based)行联四。在基于行式存儲的數(shù)據(jù)庫中撑碴,數(shù)據(jù)是按照行數(shù)據(jù)為基礎(chǔ)邏輯存儲單元進行存儲的,一行中的數(shù)據(jù)在存儲介質(zhì)中以連續(xù)存儲形式存在朝墩。

image.png

列式存儲(Column-based)是相對于行式存儲來說的醉拓,新興的Hbase、HP Vertica收苏、EMC Greenplum 等分布式數(shù)據(jù)庫均采用列式存儲亿卤。在基于列式存儲的數(shù)據(jù)庫中,數(shù)據(jù)是按照列為基礎(chǔ)邏輯存儲單元進行存儲的鹿霸,一列中的數(shù)據(jù)在存儲介質(zhì)中以連續(xù)存儲形式存在排吴。

image.png

傳統(tǒng)的行式數(shù)據(jù)庫,是按照行存儲的懦鼠,維護大量的索引和物化視圖無論是在時間(處理)還是空間(存儲)面成本都很高钻哩。而列式數(shù)據(jù)庫恰恰相反,列式數(shù)據(jù)庫的數(shù)據(jù)是按照列存儲肛冶,每一列單獨存放街氢,數(shù)據(jù)即是索引。只訪問查詢涉及的列睦袖,大大降低了系統(tǒng)I/O珊肃,每一列由一個線來處理,而且由于數(shù)據(jù)類型一致馅笙,數(shù)據(jù)特征相似伦乔,極大方便壓縮。

3).重點技術(shù) – MPP

MPP (Massively Parallel Processing)董习,即大規(guī)模并行處理烈和,在數(shù)據(jù)庫非共享集群中,每個節(jié)點都有獨立的磁盤存儲系統(tǒng)和內(nèi)存系統(tǒng)阱飘,業(yè)務(wù)數(shù)據(jù)根據(jù)數(shù)據(jù)庫模型和應(yīng)用特點劃分到各個節(jié)點上斥杜,每臺數(shù)據(jù)節(jié)點通過專用網(wǎng)絡(luò)或者商業(yè)通用網(wǎng)絡(luò)互相連接虱颗,彼此協(xié)同計算沥匈,作為整體提供數(shù)據(jù)庫服務(wù)。非共享數(shù)據(jù)庫集群有完全的可伸縮性忘渔、高可用高帖、高性能、優(yōu)秀的性價比畦粮、資源共享等優(yōu)勢散址。簡單來說乖阵,MPP是將任務(wù)并行的分散到多個服務(wù)器和節(jié)點上,在每個節(jié)點上計算完成后预麸,將各自部分的結(jié)果匯總在一起得到最終的結(jié)果瞪浸。下面以典型的MPP產(chǎn)品Greenplum架構(gòu)為例。

image.png

4).重點技術(shù) – 資源隔離

OLTP吏祸、OLAP類兩者對資源的使用特點不同对蒲,需要在資源層面做好隔離工作,避免相互影響贡翘。常見的通過定義資源隊列的方式蹈矮,指定用戶分配隊列,起到資源隔離的作用鸣驱。

5).HTAP產(chǎn)品

下圖是網(wǎng)站找到的數(shù)據(jù)庫產(chǎn)品分類圖泛鸟,針對HTAP類的可參考對象線上的相關(guān)產(chǎn)品。當然這只是一家之言踊东,僅供參考北滥!

image.png

本文分享自微信公眾號 - 韓鋒頻道(hanfeng_channel),作者:韓鋒頻道

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闸翅,一起剝皮案震驚了整個濱河市碑韵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缎脾,老刑警劉巖祝闻,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遗菠,居然都是意外死亡联喘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門辙纬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豁遭,“玉大人,你說我怎么就攤上這事贺拣”托唬” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵譬涡,是天一觀的道長闪幽。 經(jīng)常有香客問我,道長涡匀,這世上最難降的妖魔是什么盯腌? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮陨瘩,結(jié)果婚禮上腕够,老公的妹妹穿的比我還像新娘级乍。我一直安慰自己,他們只是感情好帚湘,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布玫荣。 她就那樣靜靜地躺著,像睡著了一般大诸。 火紅的嫁衣襯著肌膚如雪崇决。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天底挫,我揣著相機與錄音恒傻,去河邊找鬼。 笑死建邓,一個胖子當著我的面吹牛盈厘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播官边,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沸手,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了注簿?” 一聲冷哼從身側(cè)響起契吉,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎诡渴,沒想到半個月后捐晶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡妄辩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年惑灵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眼耀。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡英支,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哮伟,到底是詐尸還是另有隱情干花,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布楞黄,位于F島的核電站池凄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谅辣。R本人自食惡果不足惜修赞,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桑阶。 院中可真熱鬧柏副,春花似錦、人聲如沸蚣录。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萎河。三九已至荔泳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虐杯,已是汗流浹背玛歌。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留擎椰,地道東北人支子。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像达舒,于是被迫代替她去往敵國和親值朋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容