浪潮信息:企業互聯網化下的數據平台升級 | 雲·創課程實錄
當前數據庫行業市場趨勢
當前大數據時代,數據量持續的爆發。在行業權威報告中,我們能夠從定性到定量有一個更清晰的認知:
從1970年到2005年,甚至2010年,數據的發展相對來講比較緩慢,並且大部分數據是結構化數據。從2015年到2020年,數據量有了爆發性的增長。一方面,結構化數據在持續增長,另一方面,非結構化數據迅速增加。在2015年時,結構化數據與非結構化數據各佔半壁江山,但到了2020年時,結構化數據約佔1/5,非結構化數據將佔到4/5。
隨着互聯網、雲計算、大數據的普及,數據量增長速度加快,數據的類型也更加豐富多樣。根據IDC的預估來看,2020年整個數據量能達到50ZB,到2025年整體數據量將達到175ZB。
數據的結構分類
結構化數據、非結構化數據、半結構化數據都表示什麼?
用技術的語言來講,能用二維表的方式表現出來的數據就是結構化數據,用關係型數據庫來做相應的支撐和存儲。結構化數據典型性的代表,有:銀行賬户信息、企業CRM、ERP信息等數據,包括我們在上學時的檔案信息等。
與結構化數據相對應的就是非結構化的數據,結構化的數據是用二維表能夠進行表現、存儲管理,非結構化數據無法用二維表去表現和存儲。非結構化數據的結構不規則、不完整,沒有預定義的數據模型。比如我們通常看到的文本數據、圖像數據、音視頻數據等都屬於非結構化數據。
在結構化數據和非結構化數據之間,還有半結構化數據。半結構化數據、包含相關標記,用一些分隔符可以對數據進行相應的分割,但是實際上裏面還是有大量的數據的結構是不規則的。郵件、html、xml等都是常見的半結構化數據。
數據的價值分類
上述分類是根據數據的類型進行分類,我們也嘗試着根據數據的價值分類,分為稠密數據和稀疏數據。
稠密數據具有三大特點,首先是價值密度比較大,數據容量較小。以金融行業為例,信用卡的數據就是稠密數據,用户的每一條消費記錄都是有價值、不能丟失的。稠密數據的數據量通常是在GB到TB級別,少數能達到PB級,它的數據容量相對來講還比較小。其次稠密數據的變更相對比較頻繁,數據流量比較小。
稀疏數據也有三大特點,首先是數據價值密度比較小,但整個的數據的容量是比較大的,有幾百TB甚至達到幾十PB的規模。其次稀疏數據產生的速度比較快,數據來源比較多樣。比如拍攝視頻的攝像頭,一天24小時都在記錄、產生大量的數據,但是這些數據裏的價值密度相對比較小,可能只有在發生某些事故時,我們去查看對應的某一段或者是某幾幀來了解事故的情況,才體現出一些價值。
針對稠密的數據和稀疏的數據,我們用什麼樣的架構來進行支撐呢?
稠密數據一般採用核心式架構來進行相應的支撐。核心式架構最主要的特點是數據的一致性要求非常高,節點級的可靠性要求也非常高。節點級的可靠性一方面是指軟件(基礎軟件、操作系統、數據庫),另一方面也指硬件(服務器、存儲、網絡等),對於可靠性的要求都非常高。核心式架構的另一個特點是業務穩定性非常高,對於整體的運維來講比較便捷。
稀疏數據一般採用敏捷式架構來進行支撐。敏捷式架構是一種分佈式的方式,它的特點首先是在橫向擴展有比較大的優勢。另外稀疏數據也是有一定價值的,因此敏捷式架構的高可用更多從系統級進行相應的考慮。從吞吐量上來講,上述講到稀疏數據有海量的數據,所以説敏捷式架構具有巨大的數據吞吐。最後敏捷式架構易於部署、開發敏捷,同時部署的成本比較低。
數據庫產品的發展
數據庫分類
首先是數據庫的分類,主要包括關係型數據庫、非關係型數據庫和其他類型的數據庫。
關係型數據庫是我們談論的比較多的,比如在國際上比較有名的Oracle數據庫、IBM的DB2數據庫、微軟的SQLServer數據庫,以及MySQL,PG等開源數據庫。國內的關係型數據庫包括浪潮的K-DB、達夢、人大金倉、神州通用、阿里OceanBase等。
非關係型數據庫比較常用的如MongoDB、Redis、HBase等數據庫。其他類型數據庫常見的比如多媒體數據庫、工程數據庫、嵌入式數據庫、時序數據庫等。
從關係數據庫的和非關係數據庫的特點上來講,關係型數據庫一般適用於稠密數據,非關係型數據庫適用於稀疏數據。相對應的,關係型數據庫的特點是有固定的數據結構,對SQL的標準支持做的比較好,對於複雜的數據庫增、刪、改、查操作都有很好的支撐;但是相應的其橫向擴展上存在一些困難。
非關係型數據庫的特點一是數據的格式比較多樣,二是橫向擴展的能力比較高,而且它整個的架構比較靈活;但在SQL標準化上存在一些問題,而且對於一些複雜的數據操作還存在一些不足。
數據庫的市場情況
接下來看一下全球數據庫市場的排名情況,國際上比較認可的是DB-Engines Ranking的排名。我們發現排在前幾名的是一些主流的關係型數據庫,排到前四名的分別是Oracle、MySQL、SQL Server、PostgreSQL,關係型數據庫現在持續佔據全球數據庫市場排名前列。
另外近年來很多非關係型數據庫發展迅速,在排名上增長較快,比如第5名的MongoDB,第8名的Redis,但是從得分情況來看,與關係型數據庫還存在一定差距。
再來看中國的數據庫市場情況,關係型數據庫Oracle的銷售額佔中國市場的40%-50%。
但是近幾年我們也可以看到國產數據庫百花齊放,據不完全統計,現在中國的數據庫廠家達到百餘家,尤其是18、19年國產數據庫高速發展,關係型、非關係型的數據庫產品,及相關技術上都日益成熟。浪潮作為一家中國的數據庫企業很欣喜能看到這樣的現狀。
企業數據平台升級方案
數據平台通用架構
從底層看,首先是數據源,包括結構化數據、半結構化數據、非結構化數據。然後通過獲取層採集這些數據去做ETL等相應處理。
再往上是數據層,主要包括兩個部分:一部分是核心庫,包含主數據庫和數據倉庫,可以直接從獲取層提取相應的數據;一部分是大數據平台,可以處理一些稀疏數據,並且把處理完的數據打到核心庫裏邊。
經過數據層兩部分的處理,接着向上提供數據的統一服務和開發,包括數據分析、數據挖掘、實時處理等能力。再往上是針對最終客户的業務應用,形成一些應用的支撐。
結合上述兩部分內容,核心數據庫裏面存放的大部分是稠密數據,大數據平台裏存放的大部分是稀疏數據。今天我主要介紹核心庫如何處理稠密數據。
應用需求變化
在應用的需求層面,目前主要有4點變化。一是需要海量數據存儲,數據總量大、數據增長快,已經到了PB級。二是要求數據實時入庫,大量新增數據需要實時入庫,同時還需要實時清理低價值數據。三是秒級分析和挖掘以防止價值點缺失,需要極高的查詢相應速度。四是複雜的業務場景,頻繁發生新建分區、建立索引、插入、更新等工作,對數據的一致性要求更強。
對於海量數據存儲、秒級分析挖掘,實際上更多的是對傳統OLAP數據庫的一些要求。而對於數據實時入庫、複雜業務場景,更多的是對OLTP的要求。但實際上很多客户既要求有OLTP這種實時入庫的性能,同時也要有OLAP這種秒級分析和挖掘的性能。所以我們就需要進一步的數據平台升級,滿足客户應用需求的變化。
浪潮的分佈式架構方案
浪潮提供了一個分佈式的架構方案—inData,是軟硬件一體化的方案。
從軟件來看,在計算節點上我們使用了K-DB數據庫的計算引擎,和K-DB獨有的K-RAC技術(類似於Oracle的功能,能夠實現業務的動態負載,同時在 n-1個節點宕機時,剩下的節點還能保持高可用,對於用户業務的高可用性提供了很好的支持)。
從硬件來看,硬件分為存儲、網絡和計算幾個層次。我們加了存儲的虛擬化,把用户的所有數據分散到不同的存儲節點上,這種計算節點和存儲節點都可以用x86服務器來進行相應的支撐。
浪潮分佈式架構的技術優勢
首先是高擴展性,可以動態增加計算節點和存儲節點。計算節點我們可以加到8個、16個或更多,存儲節點的數量可以增加到千的數量級,並且隨着節點數的增加,架構的性能、容量呈線性增長。
其次是高可靠性,浪潮的分佈式架構是全冗餘的架構,沒有單點故障。從硬件上來講,在服務器、存儲、網絡方面都避免了單點故障。從軟件層面來講,我們也支持多副本技術,實現了數據級的冗餘,可以實現數據的兩副本或者三副本,實現整個系統級的高可靠性。
第三點是高性能,隨着客户應用、業務的變化,對數據庫性能的要求更高。浪潮通過智能過濾、高速緩存、存儲索引等技術,實現了海量的吞吐、微秒級的延遲。
第四點就是易管理,浪潮提供了一體化的圖形監控工具,可以智能識別、定位故障源,實時監控數據庫軟硬件的狀態,使用户的運維管理更加方便。
關鍵技術保障HTAP高性能
上述第三點展開來講,浪潮主要是從4個方面提高了分佈式架構的性能。
一是智能過濾技術。在應用智能過濾技術之前,如果要在計算節點上做一個複雜的大量的查詢,就需要在存儲節點上把整個的負荷要求的數據都傳輸到計算節點上,極大消耗了計算資源、佔用了網絡帶寬。通過智能過濾技術,就把第一步的查詢下移到了存儲節點上,更好的利用了存儲節點的計算能力,釋放計算節點計算力。降低網絡負載。
二是高速緩存技術。在計算節點的內存之間、存儲節點的磁盤之間,我們用閃存做了一個熱緩衝,緩存熱數據,提高了對查詢、插入等操作的響應速度。
三是配合智能過濾的存儲索引技術。智能過濾更多的是釋放計算資源和網絡資源,而存儲索引技術更多的釋放了存儲資源。我們對用户的數據做了透明處理、自動維護,建立一個自動的索引,極大地提升了索引效率。
四是列壓縮技術。能夠提升5-10倍的數據壓縮率,同時消耗的計算資源較小,可以控制在1%-2%。
上述4種技術進一步提升了浪潮一體化方案的性能,能夠滿足客户的海量數據錄入需求,同時也會能夠實現秒級的分析和挖掘需求。
浪潮inData數據庫一體機支持的場景主要包括五個部分。一是傳統SAN架構的替代,大幅度降低採購成本、運維進一步簡化。二是數據庫的性能方面實現很大的加速。三是HTAP混合負載,性能大幅提升,解決了IO、帶寬瓶頸。四是數據庫的整合,把分散的數據進行系統性的整合,同時建立起自己的數據庫雲平台。五是很好的替代了Oracle的Exadata,是去IOE的最佳實踐,並且具有更高的性價比。