云·創(chuàng)數(shù)據(jù)庫公開課第2期 | 浪潮信息:企業(yè)互聯(lián)網(wǎng)化下的數(shù)據(jù)平臺(tái)升級(jí)
主講人 | 浪潮信息 喬鑫
張康 編輯整理
量子位編輯 | 公眾號(hào) QbitAI
6月中旬起,量子位發(fā)起了以數(shù)據(jù)庫為主題的系列公開課,邀請(qǐng)來自浪潮信息、螞蟻集團(tuán)、騰訊云等頭部企業(yè)的數(shù)據(jù)庫技術(shù)線負(fù)責(zé)人,圍繞數(shù)據(jù)庫的行業(yè)現(xiàn)狀、趨勢與技術(shù)進(jìn)展等內(nèi)容,以線上直播的形式為大家?guī)?期分享。
第二期直播中,浪潮信息數(shù)據(jù)庫產(chǎn)品線總經(jīng)理—喬鑫講述了HTAP數(shù)據(jù)庫的技術(shù)原理、優(yōu)化方案以及開發(fā)部署概要等技術(shù)問題,為數(shù)百位觀眾帶來前瞻的指導(dǎo)。
直播回放:
以下是分享內(nèi)容實(shí)錄:
當(dāng)前數(shù)據(jù)庫行業(yè)市場趨勢
當(dāng)前大數(shù)據(jù)時(shí)代,數(shù)據(jù)量持續(xù)的爆發(fā)。在行業(yè)權(quán)威報(bào)告中,我們能夠從定性到定量有一個(gè)更清晰的認(rèn)知:
從1970年到2005年,甚至2010年,數(shù)據(jù)的發(fā)展相對(duì)來講比較緩慢,并且大部分?jǐn)?shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù)。從2015年到2020年,數(shù)據(jù)量有了爆發(fā)性的增長。一方面,結(jié)構(gòu)化數(shù)據(jù)在持續(xù)增長,另一方面,非結(jié)構(gòu)化數(shù)據(jù)迅速增加。在2015年時(shí),結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)各占半壁江山,但到了2020年時(shí),結(jié)構(gòu)化數(shù)據(jù)約占1/5,非結(jié)構(gòu)化數(shù)據(jù)將占到4/5。
隨著互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)的普及,數(shù)據(jù)量增長速度加快,數(shù)據(jù)的類型也更加豐富多樣。根據(jù)IDC的預(yù)估來看,2020年整個(gè)數(shù)據(jù)量能達(dá)到50ZB,到2025年整體數(shù)據(jù)量將達(dá)到175ZB。
數(shù)據(jù)的結(jié)構(gòu)分類
結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)都表示什么?
用技術(shù)的語言來講,能用二維表的方式表現(xiàn)出來的數(shù)據(jù)就是結(jié)構(gòu)化數(shù)據(jù),用關(guān)系型數(shù)據(jù)庫來做相應(yīng)的支撐和存儲(chǔ)。結(jié)構(gòu)化數(shù)據(jù)典型性的代表,有:銀行賬戶信息、企業(yè)CRM、ERP信息等數(shù)據(jù),包括我們?cè)谏蠈W(xué)時(shí)的檔案信息等。
與結(jié)構(gòu)化數(shù)據(jù)相對(duì)應(yīng)的就是非結(jié)構(gòu)化的數(shù)據(jù),結(jié)構(gòu)化的數(shù)據(jù)是用二維表能夠進(jìn)行表現(xiàn)、存儲(chǔ)管理,非結(jié)構(gòu)化數(shù)據(jù)無法用二維表去表現(xiàn)和存儲(chǔ)。非結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)不規(guī)則、不完整,沒有預(yù)定義的數(shù)據(jù)模型。比如我們通??吹降奈谋緮?shù)據(jù)、圖像數(shù)據(jù)、音視頻數(shù)據(jù)等都屬于非結(jié)構(gòu)化數(shù)據(jù)。
在結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)之間,還有半結(jié)構(gòu)化數(shù)據(jù)。半結(jié)構(gòu)化數(shù)據(jù)、包含相關(guān)標(biāo)記,用一些分隔符可以對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的分割,但是實(shí)際上里面還是有大量的數(shù)據(jù)的結(jié)構(gòu)是不規(guī)則的。郵件、html、xml等都是常見的半結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)的價(jià)值分類
上述分類是根據(jù)數(shù)據(jù)的類型進(jìn)行分類,我們也嘗試著根據(jù)數(shù)據(jù)的價(jià)值分類,分為稠密數(shù)據(jù)和稀疏數(shù)據(jù)。
稠密數(shù)據(jù)具有三大特點(diǎn),首先是價(jià)值密度比較大,數(shù)據(jù)容量較小。以金融行業(yè)為例,信用卡的數(shù)據(jù)就是稠密數(shù)據(jù),用戶的每一條消費(fèi)記錄都是有價(jià)值、不能丟失的。稠密數(shù)據(jù)的數(shù)據(jù)量通常是在GB到TB級(jí)別,少數(shù)能達(dá)到PB級(jí),它的數(shù)據(jù)容量相對(duì)來講還比較小。其次稠密數(shù)據(jù)的變更相對(duì)比較頻繁,數(shù)據(jù)流量比較小。
稀疏數(shù)據(jù)也有三大特點(diǎn),首先是數(shù)據(jù)價(jià)值密度比較小,但整個(gè)的數(shù)據(jù)的容量是比較大的,有幾百TB甚至達(dá)到幾十PB的規(guī)模。其次稀疏數(shù)據(jù)產(chǎn)生的速度比較快,數(shù)據(jù)來源比較多樣。比如拍攝視頻的攝像頭,一天24小時(shí)都在記錄、產(chǎn)生大量的數(shù)據(jù),但是這些數(shù)據(jù)里的價(jià)值密度相對(duì)比較小,可能只有在發(fā)生某些事故時(shí),我們?nèi)ゲ榭磳?duì)應(yīng)的某一段或者是某幾幀來了解事故的情況,才體現(xiàn)出一些價(jià)值。
針對(duì)稠密的數(shù)據(jù)和稀疏的數(shù)據(jù),我們用什么樣的架構(gòu)來進(jìn)行支撐呢?
稠密數(shù)據(jù)一般采用核心式架構(gòu)來進(jìn)行相應(yīng)的支撐。核心式架構(gòu)最主要的特點(diǎn)是數(shù)據(jù)的一致性要求非常高,節(jié)點(diǎn)級(jí)的可靠性要求也非常高。節(jié)點(diǎn)級(jí)的可靠性一方面是指軟件(基礎(chǔ)軟件、操作系統(tǒng)、數(shù)據(jù)庫),另一方面也指硬件(服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等),對(duì)于可靠性的要求都非常高。核心式架構(gòu)的另一個(gè)特點(diǎn)是業(yè)務(wù)穩(wěn)定性非常高,對(duì)于整體的運(yùn)維來講比較便捷。
稀疏數(shù)據(jù)一般采用敏捷式架構(gòu)來進(jìn)行支撐。敏捷式架構(gòu)是一種分布式的方式,它的特點(diǎn)首先是在橫向擴(kuò)展有比較大的優(yōu)勢。另外稀疏數(shù)據(jù)也是有一定價(jià)值的,因此敏捷式架構(gòu)的高可用更多從系統(tǒng)級(jí)進(jìn)行相應(yīng)的考慮。從吞吐量上來講,上述講到稀疏數(shù)據(jù)有海量的數(shù)據(jù),所以說敏捷式架構(gòu)具有巨大的數(shù)據(jù)吞吐。最后敏捷式架構(gòu)易于部署、開發(fā)敏捷,同時(shí)部署的成本比較低。
數(shù)據(jù)庫產(chǎn)品的發(fā)展
數(shù)據(jù)庫分類
首先是數(shù)據(jù)庫的分類,主要包括關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫和其他類型的數(shù)據(jù)庫。
關(guān)系型數(shù)據(jù)庫是我們談?wù)摰谋容^多的,比如在國際上比較有名的Oracle數(shù)據(jù)庫、IBM的DB2數(shù)據(jù)庫、微軟的SQLServer數(shù)據(jù)庫,以及MySQL,PG等開源數(shù)據(jù)庫。國內(nèi)的關(guān)系型數(shù)據(jù)庫包括浪潮的K-DB、達(dá)夢、人大金倉、神州通用、阿里OceanBase等。
非關(guān)系型數(shù)據(jù)庫比較常用的如MongoDB、Redis、HBase等數(shù)據(jù)庫。其他類型數(shù)據(jù)庫常見的比如多媒體數(shù)據(jù)庫、工程數(shù)據(jù)庫、嵌入式數(shù)據(jù)庫、時(shí)序數(shù)據(jù)庫等。
從關(guān)系數(shù)據(jù)庫的和非關(guān)系數(shù)據(jù)庫的特點(diǎn)上來講,關(guān)系型數(shù)據(jù)庫一般適用于稠密數(shù)據(jù),非關(guān)系型數(shù)據(jù)庫適用于稀疏數(shù)據(jù)。相對(duì)應(yīng)的,關(guān)系型數(shù)據(jù)庫的特點(diǎn)是有固定的數(shù)據(jù)結(jié)構(gòu),對(duì)SQL的標(biāo)準(zhǔn)支持做的比較好,對(duì)于復(fù)雜的數(shù)據(jù)庫增、刪、改、查操作都有很好的支撐;但是相應(yīng)的其橫向擴(kuò)展上存在一些困難。
非關(guān)系型數(shù)據(jù)庫的特點(diǎn)一是數(shù)據(jù)的格式比較多樣,二是橫向擴(kuò)展的能力比較高,而且它整個(gè)的架構(gòu)比較靈活;但在SQL標(biāo)準(zhǔn)化上存在一些問題,而且對(duì)于一些復(fù)雜的數(shù)據(jù)操作還存在一些不足。
數(shù)據(jù)庫的市場情況
接下來看一下全球數(shù)據(jù)庫市場的排名情況,國際上比較認(rèn)可的是DB-Engines Ranking的排名。我們發(fā)現(xiàn)排在前幾名的是一些主流的關(guān)系型數(shù)據(jù)庫,排到前四名的分別是Oracle、MySQL、SQL Server、PostgreSQL,關(guān)系型數(shù)據(jù)庫現(xiàn)在持續(xù)占據(jù)全球數(shù)據(jù)庫市場排名前列。
另外近年來很多非關(guān)系型數(shù)據(jù)庫發(fā)展迅速,在排名上增長較快,比如第5名的MongoDB,第8名的Redis,但是從得分情況來看,與關(guān)系型數(shù)據(jù)庫還存在一定差距。
再來看中國的數(shù)據(jù)庫市場情況,關(guān)系型數(shù)據(jù)庫Oracle的銷售額占中國市場的40%-50%。
但是近幾年我們也可以看到國產(chǎn)數(shù)據(jù)庫百花齊放,據(jù)不完全統(tǒng)計(jì),現(xiàn)在中國的數(shù)據(jù)庫廠家達(dá)到百余家,尤其是18、19年國產(chǎn)數(shù)據(jù)庫高速發(fā)展,關(guān)系型、非關(guān)系型的數(shù)據(jù)庫產(chǎn)品,及相關(guān)技術(shù)上都日益成熟。浪潮作為一家中國的數(shù)據(jù)庫企業(yè)很欣喜能看到這樣的現(xiàn)狀。
企業(yè)數(shù)據(jù)平臺(tái)升級(jí)方案
數(shù)據(jù)平臺(tái)通用架構(gòu)
從底層看,首先是數(shù)據(jù)源,包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)。然后通過獲取層采集這些數(shù)據(jù)去做ETL等相應(yīng)處理。
再往上是數(shù)據(jù)層,主要包括兩個(gè)部分:一部分是核心庫,包含主數(shù)據(jù)庫和數(shù)據(jù)倉庫,可以直接從獲取層提取相應(yīng)的數(shù)據(jù);一部分是大數(shù)據(jù)平臺(tái),可以處理一些稀疏數(shù)據(jù),并且把處理完的數(shù)據(jù)打到核心庫里邊。
經(jīng)過數(shù)據(jù)層兩部分的處理,接著向上提供數(shù)據(jù)的統(tǒng)一服務(wù)和開發(fā),包括數(shù)據(jù)分析、數(shù)據(jù)挖掘、實(shí)時(shí)處理等能力。再往上是針對(duì)最終客戶的業(yè)務(wù)應(yīng)用,形成一些應(yīng)用的支撐。
結(jié)合上述兩部分內(nèi)容,核心數(shù)據(jù)庫里面存放的大部分是稠密數(shù)據(jù),大數(shù)據(jù)平臺(tái)里存放的大部分是稀疏數(shù)據(jù)。今天我主要介紹核心庫如何處理稠密數(shù)據(jù)。
應(yīng)用需求變化
在應(yīng)用的需求層面,目前主要有4點(diǎn)變化。一是需要海量數(shù)據(jù)存儲(chǔ),數(shù)據(jù)總量大、數(shù)據(jù)增長快,已經(jīng)到了PB級(jí)。二是要求數(shù)據(jù)實(shí)時(shí)入庫,大量新增數(shù)據(jù)需要實(shí)時(shí)入庫,同時(shí)還需要實(shí)時(shí)清理低價(jià)值數(shù)據(jù)。三是秒級(jí)分析和挖掘以防止價(jià)值點(diǎn)缺失,需要極高的查詢相應(yīng)速度。四是復(fù)雜的業(yè)務(wù)場景,頻繁發(fā)生新建分區(qū)、建立索引、插入、更新等工作,對(duì)數(shù)據(jù)的一致性要求更強(qiáng)。
對(duì)于海量數(shù)據(jù)存儲(chǔ)、秒級(jí)分析挖掘,實(shí)際上更多的是對(duì)傳統(tǒng)OLAP數(shù)據(jù)庫的一些要求。而對(duì)于數(shù)據(jù)實(shí)時(shí)入庫、復(fù)雜業(yè)務(wù)場景,更多的是對(duì)OLTP的要求。但實(shí)際上很多客戶既要求有OLTP這種實(shí)時(shí)入庫的性能,同時(shí)也要有OLAP這種秒級(jí)分析和挖掘的性能。所以我們就需要進(jìn)一步的數(shù)據(jù)平臺(tái)升級(jí),滿足客戶應(yīng)用需求的變化。
浪潮的分布式架構(gòu)方案
浪潮提供了一個(gè)分布式的架構(gòu)方案—inData,是軟硬件一體化的方案。
從軟件來看,在計(jì)算節(jié)點(diǎn)上我們使用了K-DB數(shù)據(jù)庫的計(jì)算引擎,和K-DB獨(dú)有的K-RAC技術(shù)(類似于Oracle的功能,能夠?qū)崿F(xiàn)業(yè)務(wù)的動(dòng)態(tài)負(fù)載,同時(shí)在 n-1個(gè)節(jié)點(diǎn)宕機(jī)時(shí),剩下的節(jié)點(diǎn)還能保持高可用,對(duì)于用戶業(yè)務(wù)的高可用性提供了很好的支持)。
從硬件來看,硬件分為存儲(chǔ)、網(wǎng)絡(luò)和計(jì)算幾個(gè)層次。我們加了存儲(chǔ)的虛擬化,把用戶的所有數(shù)據(jù)分散到不同的存儲(chǔ)節(jié)點(diǎn)上,這種計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)都可以用x86服務(wù)器來進(jìn)行相應(yīng)的支撐。
浪潮分布式架構(gòu)的技術(shù)優(yōu)勢
首先是高擴(kuò)展性,可以動(dòng)態(tài)增加計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)我們可以加到8個(gè)、16個(gè)或更多,存儲(chǔ)節(jié)點(diǎn)的數(shù)量可以增加到千的數(shù)量級(jí),并且隨著節(jié)點(diǎn)數(shù)的增加,架構(gòu)的性能、容量呈線性增長。
其次是高可靠性,浪潮的分布式架構(gòu)是全冗余的架構(gòu),沒有單點(diǎn)故障。從硬件上來講,在服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)方面都避免了單點(diǎn)故障。從軟件層面來講,我們也支持多副本技術(shù),實(shí)現(xiàn)了數(shù)據(jù)級(jí)的冗余,可以實(shí)現(xiàn)數(shù)據(jù)的兩副本或者三副本,實(shí)現(xiàn)整個(gè)系統(tǒng)級(jí)的高可靠性。
第三點(diǎn)是高性能,隨著客戶應(yīng)用、業(yè)務(wù)的變化,對(duì)數(shù)據(jù)庫性能的要求更高。浪潮通過智能過濾、高速緩存、存儲(chǔ)索引等技術(shù),實(shí)現(xiàn)了海量的吞吐、微秒級(jí)的延遲。
第四點(diǎn)就是易管理,浪潮提供了一體化的圖形監(jiān)控工具,可以智能識(shí)別、定位故障源,實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)庫軟硬件的狀態(tài),使用戶的運(yùn)維管理更加方便。
關(guān)鍵技術(shù)保障HTAP高性能
上述第三點(diǎn)展開來講,浪潮主要是從4個(gè)方面提高了分布式架構(gòu)的性能。
一是智能過濾技術(shù)。在應(yīng)用智能過濾技術(shù)之前,如果要在計(jì)算節(jié)點(diǎn)上做一個(gè)復(fù)雜的大量的查詢,就需要在存儲(chǔ)節(jié)點(diǎn)上把整個(gè)的負(fù)荷要求的數(shù)據(jù)都傳輸?shù)接?jì)算節(jié)點(diǎn)上,極大消耗了計(jì)算資源、占用了網(wǎng)絡(luò)帶寬。通過智能過濾技術(shù),就把第一步的查詢下移到了存儲(chǔ)節(jié)點(diǎn)上,更好的利用了存儲(chǔ)節(jié)點(diǎn)的計(jì)算能力,釋放計(jì)算節(jié)點(diǎn)計(jì)算力。降低網(wǎng)絡(luò)負(fù)載。
二是高速緩存技術(shù)。在計(jì)算節(jié)點(diǎn)的內(nèi)存之間、存儲(chǔ)節(jié)點(diǎn)的磁盤之間,我們用閃存做了一個(gè)熱緩沖,緩存熱數(shù)據(jù),提高了對(duì)查詢、插入等操作的響應(yīng)速度。
三是配合智能過濾的存儲(chǔ)索引技術(shù)。智能過濾更多的是釋放計(jì)算資源和網(wǎng)絡(luò)資源,而存儲(chǔ)索引技術(shù)更多的釋放了存儲(chǔ)資源。我們對(duì)用戶的數(shù)據(jù)做了透明處理、自動(dòng)維護(hù),建立一個(gè)自動(dòng)的索引,極大地提升了索引效率。
四是列壓縮技術(shù)。能夠提升5-10倍的數(shù)據(jù)壓縮率,同時(shí)消耗的計(jì)算資源較小,可以控制在1%-2%。
上述4種技術(shù)進(jìn)一步提升了浪潮一體化方案的性能,能夠滿足客戶的海量數(shù)據(jù)錄入需求,同時(shí)也會(huì)能夠?qū)崿F(xiàn)秒級(jí)的分析和挖掘需求。
浪潮inData數(shù)據(jù)庫一體機(jī)支持的場景主要包括五個(gè)部分。一是傳統(tǒng)SAN架構(gòu)的替代,大幅度降低采購成本、運(yùn)維進(jìn)一步簡化。二是數(shù)據(jù)庫的性能方面實(shí)現(xiàn)很大的加速。三是HTAP混合負(fù)載,性能大幅提升,解決了IO、帶寬瓶頸。四是數(shù)據(jù)庫的整合,把分散的數(shù)據(jù)進(jìn)行系統(tǒng)性的整合,同時(shí)建立起自己的數(shù)據(jù)庫云平臺(tái)。五是很好的替代了Oracle的Exadata,是去IOE的最佳實(shí)踐,并且具有更高的性價(jià)比。
案例分享
最后介紹一個(gè)客戶案例。這個(gè)客戶的特點(diǎn)一是數(shù)據(jù)量很大,數(shù)據(jù)初始總量約為200TB,同時(shí)每天新增1TB;二是需要實(shí)時(shí)入庫,并且要求與原來的初始數(shù)據(jù)做出整合,實(shí)現(xiàn)秒級(jí)的數(shù)據(jù)分析和挖掘。
浪潮提供的方案是,首先給給數(shù)據(jù)做雙副本,保證業(yè)務(wù)的高可用;其次在計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),針對(duì)客戶的業(yè)務(wù)量和性能要求做了相應(yīng)的測算和配置,采用了定制化的4+30配置,即4個(gè)計(jì)算節(jié)點(diǎn),30個(gè)存儲(chǔ)節(jié)點(diǎn)。整體來看,很好的支撐了客戶的核心庫應(yīng)用,并且能夠支撐其未來三年的數(shù)據(jù)增長。
最后為浪潮的K-DB數(shù)據(jù)庫做一個(gè)廣告。K-DB已經(jīng)服務(wù)于全行業(yè),包括金融、能源、政府、交通等,為500多家客戶、2000多套業(yè)務(wù)系統(tǒng)提供了數(shù)據(jù)庫的支撐。同時(shí)我們也希望未來有更多的用戶來支持國產(chǎn)數(shù)據(jù)庫的發(fā)展。浪潮作為國產(chǎn)數(shù)據(jù)庫廠商,一定會(huì)做好產(chǎn)品、做好技術(shù),為中國的數(shù)據(jù)庫發(fā)展添一份力量,謝謝大家。
— 完 —
量子位 QbitAI · 頭條號(hào)簽約
關(guān)注我們,第一時(shí)間獲知前沿科技動(dòng)態(tài)
- 天云數(shù)據(jù)CEO雷濤:從軟件到數(shù)件,AI生態(tài)如何建立自己的“Android”?| 量子位·視點(diǎn)分享回顧2022-03-23
- 火熱報(bào)名中丨2022實(shí)景三維創(chuàng)新峰會(huì)成都站將于4月13日召開!2022-03-21
- 從軟件到數(shù)件,AI生態(tài)如何建立自己的“Android”?天云數(shù)據(jù)CEO直播詳解,可預(yù)約 | 量子位·視點(diǎn)2022-03-11
- 什么樣的AI制藥創(chuàng)企才能走得更遠(yuǎn)?來聽聽業(yè)內(nèi)怎么說|直播報(bào)名2022-03-03