將成為數據庫主流的HTAP,它能替代Oracle嗎?

  • 2019 年 12 月 10 日
  • 筆記

11 月 17 日,金山辦公登陸科創版,圓了小米集團創始人、金山軟件董事長雷軍和金山所有員工的「英雄夢」。算下來,從 1999 年以金山辦公為業務主體準備上市算起到今天,雷軍足足等了 20 年。

WPS 上市之際,除了引起了人們關於辦公軟件市場和前景的熱烈討論之外,還牽扯出人們對另一個更加深刻的問題——國產化軟件及其安全可靠性的思考。受益於國產化趨勢,WPS 的 PE 估值升至 35 倍,維持「買入」評級。正如天雲數據 CEO 雷濤所說,這背後的深層次原因,核心實際上在於國內要「去 office」的趨勢,所以,這個沉寂了多年,幾乎被邊緣化的辦公軟件產品才得以抖落塵埃,涅槃重生。

至於這款國產辦公軟件的水平,在虎撲論壇上大多數網友表示比較滿意,有人認為與微軟 office 相比,WPS 具有體積更小,比微軟辦公軟件更安全的優勢,甚至發出了「華人之光」的感慨。從中可以看到,只要功能、安全性等有保障,國人似乎非常樂於支持國產化。

「國產化」、」去 IOE」,國產浪潮來襲

在 IT 國產化浪潮下的影響下,「去 IOE」這個概念逐漸流行起來。這一概念最早由阿里巴巴提出,其本意是,在阿里巴巴的 IT 架構中,去掉 IBM 的小型機、Oracle 數據庫、EMC 存儲設備,代之以自己在開源軟件基礎上開發的系統。去 IOE 意味着接下來政府必須將數據安全牢牢掌握在國內企業手中,以防止數據丟失造成的一系列嚴重後果。

具體來說,去 IOE 還有以下兩個解釋:

第一個是指 IT 架構的更新換代,具體說就是以 IBM 為代表的主機、以 ORACLE 為代表的關係型數據庫,以及以 EMC 為代表的高端存儲設備,被新型的雲計算技術所替換,也就是我們常說的「雲化」。其中,主機被X86設備所取代,傳統數據庫被開源數據庫產品替換,而SAN結構的高端存儲也受到雲化的存儲產品和體系的衝擊。這三方面中任何一項工作,都可以被冠以「去IOE」的具體表現。

第二個是指針對外國 IT 設備,特別是美國產品的「嚴打」,減少甚至不再購買 IBM、ORACLE、EMC 等企業的產品。

2008 年阿里提出去 IOE 時不少人覺得是痴人說夢,但經過多年運營,阿里雲已經徹底完成了去 IOE 工作,即阿里雲的硬件投入徹底拋棄了這三家傳統企業,經歷幾次雙十一的挑戰之後該技術也趨於成熟。

HTAP概念橫空出世

值得注意的是,這「去 IOE」中的「O」,乃是真正實現國內 IT 技術獨立的關鍵所在,即去除對以 Oracle 為代表的關係型數據庫的依賴,如 Oracle、SQLServer、Sybase、Informix、Access、DB2、MySQL 等。

由於關係型數據庫具有保持數據的一致性(事務處理),以標準協議為前提,數據更新的開銷很小,可以進行Join等複雜查詢等特點,一直是數據庫領域的關鍵一環。

多年以來,國內企業多使用這些國外數據公司主導的數據庫產品,很少有一款產品能夠與之抗衡。

直到2005 年,Gartner提出了 HTAP(Hybrid transactional/analytical processing,在線事務處理/在線分析處理數據庫)這一概念,並迅速成為引起一些企業的關注,被很多人視為未來數據庫領域發展趨勢之一。

2014 年,Gartner 對 HTAP 數據庫給出了明確的定義,HTAP 數據庫需要同時支持 OLTP 和OLAP 場景。基於創新的計算存儲框架,在同一份數據上保證事務的同時支持實時分析,省去了費時的 ETL 過程。

與傳統 IT 架構有一些事務處理需要聯機分析和分開處理不同,HTAP 數據庫能夠在一份數據上同時支撐業務系統運行並做 OLAP 場景,這樣就避免在傳統架構中,在線與離線數據庫之間大量的數據交互。

它會代替 Oracle 嗎?

既然 HTAP 有這樣的優勢,它能夠替代 Oracle 嗎?

數據資源發生變化的當今時代,生產數據發生了哪些變化?數據消費者隨之發生了什麼改變?數據架構、計算、信息發生了哪些改變?帶着這些疑問,CSDN 採訪了天雲數據 CEO 雷濤,請他來談一談關於 HTAP 和大數據技術的那些事。

記者:在從 IT 向 DT 時代的轉換過程中,產品和技術得以飛速發展,行業需求或痛點發生了哪些變化?

雷濤:回到剛才 WPS 的故事。我們看到,WPS 上市代表一種國產化的趨勢,WPS 替代了Windows Office,但事實上真是 WPS 做端到端的複製替代 Windows 嗎?從我作為一個消費者的體驗上來看,我個人會在手機上和 pad 上使用像印象筆記這樣的軟件,不再使用編輯軟件了,我不再關注到底用粗體還是斜體來排版,我關注的是,拿起任何一個設備,它都是同步的,能夠保持信息的一致性。所以真正替代 OA 的升級,並不是找到一個完整的 Word 的替代品——WPS,而是找到了下一代產品大的迭代需求。

而這個大的迭代需求,就是我們針對「去O」這個問題,我們做了一兩個大型商業銀行的 Oracle 替代,但很快發現,它的真實市場並不是點對點替代,而是在整個需求發生升級迭代的過程里出現一個新的消費市場,即 Oracle 在做的是幾百萬條交易規格的強一致性,不僅是性能,更重要的是數據的移動性、計算框架的變化,比如我們的聯機事務同時要做大規模並行計算。以前大數據挖掘的機器學習也要跑到這個數據平台,對計算場景的通用性、即時性和全量數據的這些要求都是傳統架構無法適應的。我們現在看到的更多的是,不是替代 Oracle,而是如何升級 Oracle 的市場需求,即我們所說的混布數據庫。

記者:「去IOE」開始,有關數據庫國產化的話題就一直是市場關注的焦點,您認為國產數據庫的安全可靠如何量化,據了解很多銀行、政府的關鍵業務還在用外企的產品,國產數據庫的破局點在哪?

雷濤:之前,從運營商到銀行核心系統,大的架構都壟斷在西方的 IOE(IBM、Oracle、EMC)這三座大山裡,而「去 IOE」,最難的是去「O」。

記者:為什麼要提 HTAP?天雲數據的 HTAP 產品 Hubble 會直接替代 Oracle 嗎?

雷濤:不是不可能。數字中心的核心交易系統,我們已經在銀行實施,實現了 Oracle 最貴的一體機的替代。

記者:有沒有實際落地、應用的行業案例可以分享?

雷濤:用一個案例的數據可以說明。我們的切入點是以金融為核心的系統。現在,混布數據庫處理其中超過兩千的核心表,400 多億條交易數據,56 個在線服務交易,滿足了 500 個用戶並發,500 毫秒的交易響應,每天的在線交易額,包括櫃檯、手機銀行、網銀,兩百多萬,占整個 A 類銀行核心系統交易種類的10%。現在,國內少數幾家商業銀行都換成分佈式系統了,但還都是在 MySQL 開源體系中,我們是唯一一個在分佈式的 New SQL 下面去做的。這個是「去 IOE」 最根本和徹底的。

記者:替換成本銀行承擔得起嗎?

雷濤:就是誰願意先嘗試創新,這個系統已經在銀行上線了三年,但是銀行很低調。很多人以為銀行的信息化比互聯網慢,但其實不是這樣。我們原來做互聯網和運營商,每天新增交易規模1700 億記錄,就覺得已經是包打天下了,到銀行,一個交易跨一千多張表的複雜度、關聯度,動輒四千多行 SQL 語句一個交易,而且交易規則是非常複雜的,所以,銀行不僅數據規模量大,而且銀行體系還面臨著銀監會的監督,不容出錯,對於交易系統的投資大太多了。

記者:OLAP(On-Line Analytical Processing,聯機分析技術)和 OLTP(on-line transaction processing,聯機事務處理)真的是資源矛盾的需求么?

雷濤:現在國內外有企業在做新型的 HTAP 產品,事實上是在解決聯機事務和密集計算,以前TP、AP 是分開場景來算, 必須做選擇,魚和熊掌不可兼得。

AP 的操作和 TP 操作的矛盾在存儲里早就有表達,存儲的SPC性能設計只能滿足其一,AP 就像我選一個大巴來接人,來一支球隊,我派一輛大巴全接走了,而 TP 就像是一輛隨叫隨走的禮賓車,每來一個人,派一輛高檔的禮賓車把人接走,它對隨機訪問能夠即時服務和響應,講究服務質量和高並發,但是不講究吞吐和帶寬。所以,AP 是體量的計算的複雜度問題,它可以容忍服務的下降,而 TP 是強調高並發服務的低延遲響應,以及強一致性的事務保證。似乎在存儲上也是這樣,它的底層也是Random IO和sequence IO,這兩個隨機的和持續的連續 IO,完全是兩套矛盾的服務,為什麼最後出現了像 EMC、cymatrics、HDS 的 HP 的 XP 高端旗艦級存儲,它就是把這個問題拆解,可配置量化,一個高端存儲可以進行內部位圖設計的定製化,還可以互相調整和Balance,做複製時可以基於位圖的元數據控制,而不用動真實的數據,所以旗艦級存儲輕量、快速,能滿足多種目標。所以融合型產品最終體現在企業高端上可控和可被顆粒化。

HTAP 提的這個方案就是這樣,縱觀 Google 的技術發展歷程,從最早的 Big Table 就是基於HDFS 這種模式,它特別適合 AP,即有大規模數據吞吐,但它是批處理操作,到後來的F1 Spanner架構,基於 Paxos 協議,密集同步,強一致性保護,它開始逐漸地拆解得非常細,也就是在 HTAP 場景下,我們會把控制的顆粒度,如整個交易的IO流程和交易流程拆到不同的層級,從如何做存儲,每一張表對應 AP 和 TP 場景的問題和存儲,到調度層等逐漸分解。Impala 的 AP 做得很好,但是為什麼不能解決並發?因為它是進程級的,沒有拆解到線程,線程就可以控制到很微小的顆粒度,可以解決並發和很多資源調度問題。然後再往上的邏輯層,基於MVCC機制和像 Raft 這樣的協同機制,可以在交易邏輯層來完成更細顆粒度的表達。這很像十年前,旗艦級存儲出現時能適應不同的場景,滿足不同的需求。

記者:如何滿足不同的場景需求,move code or move data?

雷濤:滿足的目的是什麼呢?不要去動數據,而是動代碼,這是我們提出的一個概念:move code,還是 move data。為什麼 HTAP 現在這麼關鍵?因為我們現在在大型的銀行,現在有一些迫切的剛需出現了,move code 還是 move data 這個問題源於現在的數據發生了變化,數據資源發生變化了,現在我們談的 4 個 變化,核心就是從交易轉向行為和機器生產,大量IOT、物聯網的數據產生,數據密集度高、體量大,產生速度又快,這讓計算框架結構產生根本變化。這是第一個變化因素。

第二個 Driver 是數據消費者變化,原來的數據消費者是少量的報表、儀錶盤,BI 和數據倉作為消費者。對於 TP,其實沒有數據消費,TP 是流程,數據是產生的副產品,挖掘數據的價值會隨着交易流程的結束而結束。一般都會複製到數倉,甚至複製到 SAS。數據挖掘,就是機器學習這塊消費數據,以前AP很少量的數據消費,比如一個儀錶盤,就是一兩個數倉的管理員在看,但現在,我們碰到大量的需求是什麼呢?原來上大屏的數據可視化的那些項目,全部推送到了了移動端,就是個性化數倉/個性化價值倉提高單兵服務能力。比如一個營業廳應用有六萬多人,同時在線需要至少五百個並發/秒,理財經理要在某一時刻看到大客戶的結息、凈值等一系列的數據服務,且都是個性化的。所以,這意味着,以前的 AP 需要提供高並發服務,因為數據消費者一下子增多,從以前的幾個老闆,看 BI 的東西,變成了很多一線員工要進行數據消費,這對並發的要求把 AP 推到 TP 場景里。

記者:因為移動化了?

雷濤:因為數倉消費化,所以,一下子把大量數據計算內容推到了 TP 場景里。同樣,現在 TP 越來越複雜,大量交易都帶着權益,且要求交易要即時服務,比如權益類業務,很多現在都是Online,所以使得 TP 場景越來越重,核心系統的交易部分要做得計算的跨越的表越來越多。如此大量的 TP AP 化,AP TP 化,這是場景問題。

這提出了一個問題:我們如何合併這個過程呢?即我們要處理好兩個核心要素,一個是計算,一個是數據,這兩個角色開始發生變化,原來是以計算為核心,現在要以數據為核心。但說的容易,這其中涉及到架構的變化,即 move data 還是 move code 的問題。

互聯網來臨時,PC、desktop 時代和互聯網時代兩者之間比較的是 file和page,FTP 和 HTML,一對比就知道,以前是把文件搬來搬去,code 不動,應用服務器就在 FTP Server 上,代碼不動,動數據。但是在互聯網時代,我們發現頁面不動,訪問請求在不斷地鏈接,所以我們在 move code,這是發生在信息層面本身的。

第二次革命發生在計算框架本身,就是 MapReduce 和 IOE 的區別,MapReduce 是Google Big table 這套體系,data 被切碎放在所有的磁盤上,每一個數據的計算都是 CPU 在計算,所以代碼被切碎了送進去,數據不動,就是 move data。而現在是把 code 送進去,在存儲上計算 data,代碼切碎了送進去,而不是把數據拿出來,在一個大型或小型機上算好。MapReduce、Big table 這次的遷移實際上是計算框架的變化。

而這一次,HTAP 事實上是數據中心架構的變化。

原來有一個 Oracle 做交易,完成了整個流程性應用的內容,自動化寫的代碼,數據是它交易的副產品,交易結束了,數據的生命周期也結束。要想把數據價值做二次表達,我們要每天做ETL,跑批作業,存到數據倉庫中,然後在數據倉庫中建模、挖掘、數據集市、ODS,一層一層地構建起數據倉庫報表。如果還回答不出更細節、隱含的問題,比如非線性問題,還要把數據複製到SAS中做機器學習,再做統計的指標體系,去做進一步的挖掘。數據要在這裡搬動三次,複製三份冗餘,還要管理數據一致性,每天數據中心運維的大量工作在做數據搬家。現在,數據中心也開始要做一個融合性的計算框架。比如,現在AI要做online訓練,淘寶推薦引擎,滴滴打車的路徑動態規劃都在做即時數據,數據閉環是數據基礎設施的一個很大的要求。BI和AI操作都要Online化,也就是AP操作要變成TP場景。

回到我剛才說的需求,現在的AP都是高並發的數據服務,都是要TP的應用場景出現了,但是這是一個體量巨大的密集計算,以前我們認為是AP的東西,現在要求,並發和即時,以前的機器學習,比如快速做邏輯回歸,貝葉斯、規劃、動態規划算法等都需要online做,這些都要求底層有一個融合的數據平台,這是第一個需求,即不能再搬家了,這是融合性數據庫的根本性需求。

這種需求不是讓你在AP和TP之間做選擇,新的架構要解決TP AP化和AP TP化的問題。HTAP會成為未來的一個主導性趨勢,而不是一個邊緣的補充,因為以數據驅動業務為核心的,會越來越落回生產事件。

記者:這是一個真正具有業務場景需求的功能。

雷濤:而且未來三五年它是主導趨勢型的,它不會再區分出一個小TP加上一個重的離線的批處理 AP了,未來,要想讓你的前端和企業有彈性、靈活,現在的數據中台服務底層都應該是混布的。

記者:未來,HTAP 還會有更多待開發的場景,您認為它將會向哪個方向發展?

雷濤:我們大量的機器學習也是要跑HTAP的,因為現在很多算法都是即時的,我們能夠替代SAS的機器學習的服務,不是靠算法的優勢來替代,深度學習真正在流程替代里不多,通用機器學習是最多的,而通用機器算法幾十年前就存在,今天要獲得其最大的價值,要把數據的價值挖掘出來。

真正做AI的人都會特別依賴HTAP,數據供上來,算法就沒有價值了。我們做數據驅動分為幾個階段:

第一階段是發生了什麼?我們做報表、監測、統計等;第二個階段是為什麼會發生?我們做數倉,能夠回答一些多視角的問題;第三階段是做預測,做機器學習,預測將來會發生什麼。

記者:HTAP 的需求如此強烈,未來的獨角獸會出現在哪裡呢?

雷濤:現在大家首先會看到幾個場景的需求,第一個爆發出來的需求是數據庫的國產化,這一波是由政策推動的一個巨大的市場紅利,尤其是在資本市場已經顯示出來了潛力,比如 WPS這個邊緣的辦公應用組件都能有如此巨大的市值,大家的預期很高。我們是要找一個上世界的替代品呢,還是用發展的眼光去看,找到新世界的需求?因為這個世界總是在變化的。

就像在早期,互聯網發展大多基於LAMP(Linux、Apache、MySQL、PHP)架構,是向企業級架構學習,對照着企業級的「嬰兒版」、「幼兒版」產品,做出對應的便宜、開源、輕量、廉價的互聯網,比如Facebook最早的Lamp架構。但很快,Facebook LAMP架構就推倒重來了,因為它扛不住。互聯網帶來的不是廉價,而是更迅猛的數據資源爆發。交易數據是最早的數據屬性,數據是流通的副產品,但是互聯網驅動的是行為數據,行為數據要遠大於交易數據,行為數據帶來的系統架構絕對不是靠廉價,而是靠高並發、高擴展、更松耦合的高服務能力來完成的。我們很少看到Google宕機,它不是靠高可用性來保證,而是靠整個服務的容錯。在行為數據中誕生了新的架構,不是LAMP抄了一個企業級的版本,而是生成了一個新的分佈式架構。同樣地,今天我們看Oracle替代這個問題,我們不是找了一個像WPS替代Office的版本,而是要找到Oracle下面的分佈式,能夠碾壓一體機,能夠適應萬億記錄規則場景的方法。這是一個新的營銷的市場,一個新的藍海。

更多技術乾貨現場聽!

關於數據庫和 HTAP 涉及到的話題和問題,遠遠不止於雷濤在此次採訪中所談,比如很多企業和技術人員都在思考的數據庫轉型問題。

隨着 5G 技術迅速發展,數據增長越來越快,對分佈式數據庫、實時數據庫、圖數據庫的需求也越來越多。在今年中國大數據技術大會(BDTC 2019)的新一代數據庫轉型論壇上,雷濤帶來題為《大數據體系下HTAP數據庫》的演講,對 HTAP 數據庫和天雲數據的 HTAP 數據庫產品 Hubble 進行全方位的解讀,讓企業和技術人員更加了解這項將對大數據領域產生重大影響的技術,洞悉 HTAP 未來發展的趨勢。

本論壇主要討論了分佈式數據庫特性,包括Key/Value,Schema-less等數據庫(OLTP、OLAP、HTAP等),重點介紹列存儲數據庫、行存儲數據庫,文檔型數據庫以及圖數據庫,並具體介紹MySQL、OceanBase、Greenplum、TiDB、Neo4J、ThinkerPop等,並且會深度分析他們在各種行業的應用實踐。

雷濤個人簡介:

雷濤現任天雲融創數據科技(北京)有限公司(簡稱天雲數據)首席執行官。雷濤擁有 20 余年北美信息科技公司從業經驗,2005 年入席 SNIA 存儲工業協會中國區技術委員會聯合主席;2013 年首批 CCF 中國計算機學會大數據專委會委員;長江商學院特聘導師,博士後工作站企業導師。2019年第九屆「吳文俊人工智能科學技術獎」獲得者。