資料庫的重要性&華為推出新一代Gauss資料庫
資料庫是計算機行業的基礎核心軟體,所有應用軟體的運行和資料處理都要與其進行資料互動,資料庫的開發難度,不僅體現在與其他基礎器件的適配,更在于如何實作對資料高效、穩定、持續的管理,Oracle、微軟的資料庫之所以能長久不衰,一方面在于其強大的技術開發和產品升級迭代能力,另一方面在于其對資料庫的Knowhow理解足夠深,這個是其他廠商短期難以超越的,華為在資料庫領域逐步取得新的突破,2019年華為推出了新一代的資料庫產品Gauss資料庫,該產品已經在金融、能源、政企等國內客戶得到上線應用,
華為Gauss資料庫:AI原生&&支持異構計算
華為在資料庫領域已經有12年的開發經驗,從早期的摸索到現在的產品逐步成熟,中間也是經歷了很多歷程,華為的資料庫產品系列命名為:GaussDB,高斯資料庫,華為GaussDB是一個企業級AI-Native分布式資料庫,GaussDB采用MPP(Massive Parallel Processing)架構,支持行存盤與列存盤,提供PB(Petabyte,2的50次方位元組)級別資料量的處理能力,華為Gauss資料庫是全球首款AI-Native資料庫,能夠同時支持X86、ARM、GPU、NPU等異構計算,
華為Gauss資料庫:三大產品線系列
GaussDB:三大產品線系列,目前華為已經開發有三個產品系列:GaussDB 100、GaussDB 200、GaussDB300,1)GaussDB 100:主要以OLTP為主,目前該產品已經應用在招商銀行,2)GaussDB 200:以OLAP為主,兼顧OLTP,該產品目前已經在工商銀行得到上線應用,3)GaussDB 300::HTAP,是企業級分布式HTAP資料庫(Hybrid Transaction and Analytical Process,混合事務和分析處理),
華為Gauss資料庫:華為IT生態體系不可或缺
從生態體系來看,Oracle資料庫成為全球第一資料庫的地位,也是經過了很多次版本的更新升級,更與上世紀80年代開始的全球IT生態體系的逐步確立有關,Oracle資料庫世界霸主地位,是隨著Windows作業系統、Intel X86芯片一起建立的PC時代的IT底層生態而逐步確立的,而AWS資料庫則是適應了互聯網時代(云計算時代)新的計算場景對資料庫的新需求,再加上自身的云生態體系,逐步迎來了客戶使用的推廣,從華為Gauss資料庫來看,華為IT架構的底層生態已經逐步建立起來,包括芯片、作業系統、資料庫等,這些在華為IT體系內部是高度耦合的,
華為資料庫分析
資料庫是計算機行業的基礎核心軟體,所有應用軟體的運行和資料處理都要與其進行資料互動,2008年阿里提出“去IOE”,而10年之后,我們現在來看,發現Oracle的資料庫是最難替換的,不僅是因為Oracle的資料庫沉淀了大量的企業客戶資料,更是因為資料庫產品開發難度確實比較大,資料庫的開發難度不亞于作業系統,屬于整個IT架構的基礎軟體(資料庫軟體在作業系統之上,我們可以將其稱為類中間層的基礎軟體),而且資料庫的開發需要與底層計算架構高度相關和耦合,是適配X86架構,還是適配ARM架構等等,
當然以上這些都是資料庫的與其他基礎器件的適配,資料庫難度更大的地方在于如何實作對資料高效、穩定、持續的管理,
Oracle、微軟的資料庫之所以能長久不衰,一方面在于其強大的技術開發和產品升級迭代能力,另一方面在于其對資料庫的Knowhow理解足夠深,這個是其他廠商短期難以超越的,
回到這篇文章的主題:
華為資料庫,
華為在IT的底層架構,逐步搭建起自己的基礎架構,建立華為生態,
我們這次把華為資料庫進行講解,并對目前主流的資料庫進行對比,
只有對比,才能發現不同,
華為DB開發歷程
華為對資料庫的開發經歷了長達12年左右的時間,
2007年,華為開始著手研發記憶體資料庫,專案代號為GMDB,
這個專案的背景是,當時電信實施實時計費,電信行業對資料庫有特殊的要求,有些需要定制化開發,
而當時國外的資料庫產品主要是標準化產品,
為了滿足客戶需求,華為當時開始研發記憶體資料庫,
2010年,華為開始從記憶體資料庫向通用關系型資料庫進行拓展,逐步將非記憶體資料庫的功能融入到資料庫產品中,
2012年,華為資料庫性能得到顯著提升,GMDB開始逐步商用化,主要應用于電信計費,
同時,該產品也在華為內部的部分部門開始使用,
2013年,華為OLTP資料庫開始上線(后面我們會詳細介紹OLTP和OLAP),
2014年,華為開發出第一個OLAP資料庫版本(OLAP我們可以簡單理解為:
是針對大量資料的分析型資料庫),
2015年,華為與工商銀行一起聯合研發,
GaussOLAP資料庫在工商銀行上線,逐步替代海外的資料倉庫,
2017年,華為與招商銀行一起聯合開發GaussDB,
同時,華為啟動面向事務和分析混合處理的資料庫開發,即HTAP,
2018年,華為GaussOLTP資料庫(事務型資料庫)開始在招商銀行綜合支付交易系統成功上線,
承接招商銀行“手機銀行”和“掌上生活”兩大App交易流水流量,
2018年,GaussHTAP資料庫推出,并在民生銀行得到應用,
從華為Gauss資料庫產品演化至今來看:
1)華為資料庫產品的研發是從記憶體資料庫開始,逐步向通用關系型資料庫延伸,這與Oracle、AWS資料庫開發的起點并不完全一樣,
2)華為資料庫產品型別,包括了OLTP、OLAP,同時還研發出HTAP產品,
我們認為,從產品應用角度來看,華為OLAP(分析型資料庫)大規模應用的時點更早一些,
Oracle的OLTP(事務型資料庫)在全球領域的競爭優勢非常明顯,這一領域的資料庫產品比較難替代,
3)華為的OLTP資料庫是通過與大客戶合作,特別是銀行大客戶合作(工商銀行、招商銀行),來不斷進行產品迭代和完善的,
我們認為,這也是華為資料庫能夠快速成長的主要原因,
初識華為GaussDB
華為在資料庫領域已經有12年的開發經驗,從早期的摸索到現在的產品逐步成熟,中間也是經歷了很多歷程,
目前,華為資料庫逐步建立起三大產品系列,
華為的資料庫產品系列命名為:
GaussDB,高斯資料庫,
高斯,是德國偉大的數學家,近代數學的奠基者之一,高斯、阿基米德、歐拉、牛頓被世人稱為世界上最偉大的四位數學家,
華為將自己的資料庫命名為Gauss系列,也有向數學致敬的意味,
GaussDB:
開源資料庫,
華為的Gauss資料庫是一個開源資料庫,基于PostgreSQL9.2開發,
我們知道PostgreSQL本身就是一個開源資料庫品牌,
現在除了OracleDB、微軟的SQLServer等傳統老牌資料產品之外,目前新開發的資料庫產品,開源資料庫占比較大的部分,
包括我們看到的AWS的Aurora資料庫、阿里的飛天資料庫、華為的Gauss資料庫,以及資料庫新進入者MongoDB等,
GaussDB:
分布式&AI原生,
華為GaussDB是一個企業級AI-Native分布式資料庫,
GaussDB采用MPP(Massive Parallel Processing)架構,支持行存盤與列存盤,提供PB(Petabyte,2的50次方位元組)級別資料量的處理能力,
可以為超大規模資料管理提供高性價比的通用計算平臺,也可用于支撐各類資料倉庫系統、BI(Business Intelligence)系統和決策支持系統,為上層應用的決策分析提供服務,
華為GaussDB將AI能力植入到資料庫內核的架構和演算法中,為用戶提供更高性能、更高可用、更多算力支持的分布式資料庫,
GaussDB:
三大產品線系列,
高斯資料庫研發始于2011年,
目前已經開發有三個產品系列:
GaussDB 100、GaussDB 200、GaussDB 300,
GaussDB 100:
主要以OLTP為主,
GaussDB 100研發開始于2011年,與后面的GaussDB 200/300不同,GaussDB 100并不是一個分布式資料庫,
GaussDB 100包括兩條線,一條產品線是基于單機版開源資料庫PostgreSQL研發的產品,另一條線是自研內核的GaussDB 100產品,
后面這一條線是近幾年華為研發的產品,
目前該產品已經應用在招商銀行,
GaussDB 100主要是OLTP,即事務型資料庫,
GaussDB 200:
以OLAP為主,兼顧OLTP,
華為GaussDB 200開始于2012年,在基于傳統關系型資料庫的SQL引擎和事務強一致性等基礎上,進行了分布式、并行計算的改造,
歷時6年,打造了一款架構領先的分析型資料庫,為各行業PB級海量資料分析提供有競爭力的解決方案,
GaussDB 200既可以適用于OLTP,也可以應用于OLAP,
GaussDB 300:
HTAP,OLTP和OLAP,
GaussDB 300是一個分布式并行關系型資料庫系統,是企業級分布式HTAP資料庫(Hybrid Transaction and Analytical Process,混合事務和分析處理),
GaussDB 300架構上著重構筑傳統資料庫的企業級能力和互聯網分布式資料庫的高擴展和高可用能力,完全兼容SQL標準,提供百萬級TPMC的交易處理能力和企業級可靠性,
GaussDB 200/300都是基于開源資料庫PostgreSQL研發,雖然是基于開源資料庫,但已經對開源代碼進行了大量修改,在很大程度上接近于自研,
GaussDB 200/300既可以支持OLTP也可以支持OLAP,也是華為投入精力最大、研發時間最長的產品線,
目前已經在工商銀行和民生銀行應用,
在以上我們對華為GaussDB的介紹當中,提到了資料庫領域比較重要的兩個概念:
OLTP和OLAP,
下面我們就介紹下這兩個概念,以及其所對應的資料庫型別,
華為GaussDB資料庫包括:
事務性(OLTP)資料庫、分析型(OLAP)資料庫和混合負載(HTAP)資料庫,
這里需要解釋下OLTP、OLAP、HTAP之間的區別,這也是資料庫最基本的內容,
資料庫系統一般分為兩種型別:
一種是面向前臺應用的,應用比較簡單,但是重吞吐和高并發的OLTP型別;
一種是重計算的,對大資料集進行統計分析的OLAP型別,
1)OLTP:
聯機事務處理OLTP(on-line transaction processing)
它是事件驅動、面向應用的,比如電子商務網站的交易系統就是典型的OLTP系統,
OLTP的基本特點是:
- 資料在系統中產生;
- 基于交易的處理系統(Transcation-Based);
- 每次交易牽涉的資料量很小;
對回應時間要求非常高;
- 用戶數量非常龐大,主要是操作人員;
- 資料庫的各種操作主要基于索引進行,
2)OLAP:
聯機分析處理OLAP(On-Line Analytical Processing)
是基于資料倉庫的資訊分析處理程序,是資料倉庫的用戶介面部分,
OLAP系統是跨部門的、面向主題的,其基本特點是:
- 本身不產生資料,其基礎資料來源于生產系統中的操作資料(OperationalData);
- 基于查詢的分析系統;
復雜查詢經常使用多表聯結、全表掃描等,牽涉的數量往往十分龐大;
- 回應時間與具體查詢有很大關系;
- 用戶數量相對較小,其用戶主要是業務人員與管理人員;
- 由于業務問題不固定,資料庫的各種操作不能完全基于索引進行,
OLTP是傳統的關系型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易,
OLAP是資料倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀易懂的查詢結果,
OLTP 系統強調資料庫記憶體效率,強調記憶體各種指標的命令率,強調系結變數,強調并發操作,
OLAP 系統則強調資料分析,強調SQL執行市場,強調磁盤I/O,強調磁區等,
3)
HTAP:
混合事務和分析處理(Hybrid Transaction and Analytical Process)
,既可以應用于事務型資料庫場景,亦可以應用于分析型資料庫場景,
GaussDB OLTP資料庫
,業界首創Switch Turbo技術,AZ內TRO<1秒,滿足金融場景下的資料庫高可用訴求,
GaussDB OLAP資料庫
,可以幫助客戶實作PB級海量資料高效分析,目前已經廣泛應用于金融、運營商、政府等行業,
GaussDB HTAP資料庫
,多模引擎支持五種資料型別融合處理,包括流、圖、空間、文本、結構化,可以解決集中式架構擴展性和性能瓶頸問題,同時分散風險,提升業務連續性,
華為GaussDB值得關注的點:
1、全球首款AI-Native資料庫,
AI原生資料庫是GaussDB的主要特點之一,
華為將AI引擎內置到GaussDB全系產品中,使其具備一定的自運維、自管理、自調優、故障自診斷和自愈的能力,
華為也希望把在芯片、演算法上面的優勢,集中體現到資料庫上來,
客觀來講,其實對于在資料庫中植入AI技術,并不是一個新鮮做法,
Oracle在幾個版本之前就開始就植入了AI技術,開啟了“Autonomous”之旅,
2、異構計算支持X86、ARM、GPU、NPU,
這個也是Gauss資料庫與其他資料庫比較大的不同,
目前主流的資料庫產品,包括OracleDB、MySQL、SQL Server等,基本都是支持X86架構,
我們認為,華為資料庫對于異構計算的支持,可能是為該資料庫未來向更多計算場景的應用做準備,
我們知道,5G帶來計算場景的變革或將更大,
詳解華為GaussDB
華為的Gauss資料庫現在推廣的產品主要是GaussDB100、GaussDB 200和GaussDB 300,
我們這里主要對GaussDB 200和GaussDB 300這兩個系列產品進行介紹和解讀,
華為GaussDB200
1、GaussDB200 簡介
GaussDB 200是企業級的大規模并行處理關系型資料庫,采用MPP(Massively Parallel Processing)架構,支持行存盤與列存盤,提供PB(Petabyte,2的50次方位元組)級別資料量的處理能力,
從以上對GaussDB的描述中,我們至少能夠理解到以下幾層意思:
1)GaussDB 200是一個關系型資料庫,不是No-SQL資料庫,
2)它利用了分布式并行處理技術,
早期傳統資料庫并不是分布式架構,
分布式并行架構更適合于處理互聯網高并發資料,
3)支持行存盤和列存盤,
這里需要解釋下,資料庫領域中的行存盤和列存盤區別,
行存盤(Row-based):
對于傳統的關系型資料庫,比如甲骨文的OracleDB和MySQL,IBM的DB2、微軟的SQL Server等,一般都是采用行存盤(Row-based)行,
在基于行式存盤的資料庫中,資料是按照行資料為基礎邏輯存盤單元進行存盤的,一行中的資料在存盤介質中以連續存盤形式存在,
列式存盤(Column-based)
是相對于行式存盤來說的,新興的Hbase、HP Vertica、EMC Greenplum 等分布式資料庫均采用列式存盤,
在基于列式存盤的資料庫中,資料是按照列為基礎邏輯存盤單元進行存盤的,一列中的資料在存盤介質中以連續存盤形式存在,
傳統的行式資料庫,是按照行存盤的,維護大量的索引和物化視圖無論是在時間(處理)還是空間(存盤)面成本都很高,
而列式資料庫恰恰相反,列式資料庫的資料是按照列存盤,每一列單獨存放,資料即是索引,
只訪問查詢涉及的列,大大降低了系統I/O,每一列由一個線來處理,而且由于資料型別一致,資料特征相似,極大方便壓縮,
第一,從存盤角度來看
,對于列式存盤來說,一行資料包含一個列或者多個列,每列有單獨一個cell來存盤資料,
而行式存盤,則是把一行資料作為一個整體來存盤,
另外,列式存盤天生就是適合壓縮,因為同一列里面的資料型別基本是相同,
第二,從查詢角度來看
,行式存盤比較適合隨機查詢,而且,關系型資料庫(RDBMS)大多提供二級索引,在整行資料的讀取上,要優于列式存盤,
但是,行式存盤不適合掃描,這意味著要查詢一個范圍的資料,行式存盤需要掃描整個表,
基于以上,我們可以看出,GaussDB 200兼具了行存盤和列存盤的優勢,
4)MPP架構,
這個與上面的分布式并行是一體的,
在資料庫中,MPP架構并不是新技術,
目前Oracle的資料庫,包括國內的南大通用的分析型資料庫(OLAP)都采用了MPP架構,
MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供資料庫服務,
非共享資料庫集群有完全的可伸縮性、高可用、高性能、優秀的性價比、資源共享等優勢,
簡單來說,MPP是將任務并行的分散到多個服務器和節點上,在每個節點上計算完成后,將各自部分的結果匯總在一起得到最終的結果,
說起MPP,我們不得不說大資料處理中應用到的里另一個技術:
Hadoop,
這個詞曾經在2016年中國大資料行業比較流行,
我們來看下,MPPDB、Hadoop與傳統資料庫技術在應用場景上的對比,
MPPDB與Hadoop都是將運算分布到節點中獨立運算后進行結果合并(分布式計算),但由于依據的理論和采用的技術路線不同而有各自的優缺點和適用范圍,
兩種技術以及傳統資料庫技術的對比如下:
Hadoop和MPP兩種技術的特定和適用場景為:
- Hadoop在處理非結構化和半結構化資料上具備優勢,尤其適合海量資料批處理等應用要求,
- MPP適合替代現有關系資料機構下的大資料處理,具有較高的效率,
- MPP適合多維度資料自助分析、資料集市等;
Hadoop適合海量資料存盤查詢、批量資料ETL、非機構化資料分析(日志分析、文本分析)等,
由上述對比可預見未來大資料存盤與處理趨勢:
MPPDB+Hadoop混搭使用,用MPP處理PB級別的、高質量的結構化資料,同時為應用提供豐富的SQL和事務支持能力;
用Hadoop實作半結構化、非結構化資料處理,
這樣可以同時滿足結構化、半結構化和非結構化資料的高效處理需求,
GaussDB 200在核心技術上跟傳統資料庫相比有巨大優勢,可以解決很多行業用戶的資料處理性能問題,可以為超大規模資料管理提供高性價比的通用計算平臺,并可用于支撐各類資料倉庫系統、BI(Business Intelligence)系統和決策支持系統,統一為上層應用的決策分析等提供服務,
2、GaussDB200應用場景
GaussDB 200面向行業大資料應用,可以適用于以下場景:
1)詳單查詢
GaussDB 200具備PB級資料負載能力,通過記憶體分析技術滿足海量資料邊入庫邊查詢要求,適用于安全、電信、金融、物聯網等行業的詳單查詢業務,
從這點可以看出,這一功能的實作是發揮了GaussDB 200在OLTP方面能力,
2)資料倉庫
GaussDB 200具備百TB級資料支撐能力,可以高效處理百億行多表連接查詢,適用于操作資料存盤ODS(Operational Data Store)、企業資料倉庫EDW(Enterprise DataWarehouse)、資料集市DM(Data Mart),
以上這一功能體現了GaussDB 200在OLAP方面的能力,
3)混合負載
GaussDB 200基于海量資料查詢統計分析能力與事務處理能力,行列混存技術同時滿足聯機事務處理OLTP(On-Line Transaction Processing)與聯機分析處理OLAP(Online Analytical Processing)混合負載場景,
4)大資料分析
支持結構化資料PB級分析能力,
分布式并行資料庫集群滿足PB級結構化大資料的分析能力,
GaussDB 200是一個分布式并行關系型資料庫系統,
提供了以下功能:
1)標準SQL支持
支持標準的SQL-92/SQL:1999/SQL:2003規范,支持GBK和UTF-8字符集,支持SQL標準函式與分析函式,支持存盤程序,
2)資料庫存盤管理功能
支持表空間,支持在線擴容功能,
3)提供組件管理和資料節點HA(High Availability)
支持資料庫事務ACID特性(即原子性Atomicity、一致性Consistency、隔離性Isolation和持久性Durability),支持單節點故障恢復,支持負載均衡等,
4)應用程式介面
支持標準JDBC 4.0的特性和ODBC 3.5特性,
5)安全管理
支持SSL安全網路連接、用戶權限管理、密碼管理、安全審計等功能,保證資料庫在管理層、應用層、系統層和網路層的安全性,
3、GaussDB200技術特點
GaussDB 200具有低成本、高性能、高可靠和支持海量資料存盤的特點,
1)低成本
基于分布式x86架構,客戶硬體投資成本低,
支持標準的SQL92、SQL99、SQL2003規范,支持客戶應用系統平滑遷移,
2)高性能
行列混合存盤引擎,資料按照最優負載模型選擇存盤方式,性能更優,
支持基于服務等級協議SLA(Service-Level Agreement)策略的負載管理,保障并發任務的服務質量,
支持基于代價的查詢優化模型,提升復雜查詢性能,
分布式、并行化的查詢處理模型,充分利用系統計算資源和IO資源,
支持并行資料匯出和匯入,
3)高可靠
硬體級高可靠:
磁盤Raid、交換機堆疊及網卡bond、不間斷電源UPS(Uninterruptible Power Supply),
件級高可靠:
集群CM、CN、GTM、DN實體全方位HA,
資料存盤安全可靠:
在安全認證的基礎上,支持資料在資料庫內的加密存盤,防止三方人員繞過資料庫認證機制直接讀取資料檔案中的資料,
4)支持海量資料
集群最大可擴展至2048個節點,支撐PB級資料管理能力,
集群規模按用戶需求彈性伸縮,擴展業務不中斷,減少用戶投資成本,
各組件提供功能如下:
- GaussDB 200:
基于MPP架構的新型資料庫,為GaussDB 200提供PB級資料負載能力、百TB級資料支撐能力、海量資料查詢統計分析能力與事務處理能力、支持結構化資料PB級分析能力等,
- Manager:
作為運維系統,負責GaussDB 200的集群管理,支持大規模集群的安裝部署、監控、告警、用戶管理、權限管理、審計、服務管理、健康檢查、問題定位、升級和補丁等,
- GaussDB 200采用Share-nothing架構,由多個擁有獨立且互不共享CPU、記憶體、存盤等系統資源的節點組成,
在這樣的系統架構中,業務資料被分散存盤在多個物理節點上,資料分析任務被推送到資料所在位置就近執行,通過控制模塊的協調,并行地完成大規模的資料處理作業,實作對資料處理的快速回應,
Share-nothing又稱為無共享架構,
Share-nothing架構具備如下優點:
1)最易于擴展的架構
為商業智能BI(Business Intelligence)和資料分析的高并發、大資料量計算提供按需擴展的能力;
自動化的并行處理機制,
2)內部自動并行處理,無需人工磁區或優化
資料加載與訪問方式與一般資料庫相同;
資料分布在所有的并行節點上;
每個節點只處理其中一部分資料,
3)最優化的I/O處理
所有的節點同時進行并行處理;
節點之間完全無共享,無I/O沖突,
4)增加節點實作存盤、查詢及加載性能的線性擴展
GaussDB 200由多個MPPDBServer組成,GaussDB 200結構具體如圖所示,
作為關系型資料庫系統,GaussDB 200主要業務為資料的查詢與存盤,
GaussDB 200進行資料查詢的流程如圖15所示,
具體查詢流程如下:
1)用戶通過應用程式發出查詢本地資料的SQL請求到Coordinator,
2)Coordinator接收用戶的SQL請求,分配服務行程,向GTM請求分配全域事務資訊,
3)GTM接收到Coordinator的請求,回傳全域事務資訊給Coordinator,
4)Coordinator根據資料分布資訊以及系統元資訊,決議SQL為查詢計劃樹,從查詢計劃樹中提取可以發送到Datanode的執行步驟,封裝成SQL陳述句或者子執行計劃樹,發送到Datanode執行,
5)Datanode接收到讀取任務后,查詢具體Storage上的本地資料塊,
6)Datanode任務執行后,將執行結果回傳給Coordinator,
7)Coordinator將查詢結果通過應用程式回傳給用戶,
GaussDB 200資料存盤流程與資料查詢流程相近,請參考資料查詢流程,此處不再介紹,
華為GaussDB300
GaussDB 300是企業級分布式HTAP資料庫(Hybrid Transaction and Analytical Process,混合事務和分析處理),架構上著重構筑傳統資料庫的企業級能力和互聯網分布式資料庫的高擴展和高可用能力,完全兼容SQL標準,提供百萬級TPMC的交易處理能力和企業級可靠性,
GaussDB 300是一個分布式并行關系型資料庫系統,
提供了以下功能:
1)標準SQL支持
支持標準的SQL92/SQL99/SQL2003規范,支持GBK和UTF-8字符集,支持SQL標準函式與分析函式,支持存盤程序,
2)資料庫存盤管理功能
支持表空間,支持在線擴容功能,
3)提供組件管理和資料節點HA(High Availability)
支持資料庫事務ACID特性(即原子性Atomicity、一致性Consistency、隔離性Isolation和持久性Durability),支持單節點故障恢復,支持負載均衡等,
4)應用程式介面
支持標準JDBC 4.0的特性和ODBC 3.5特性,
5)安全管理
支持SSL安全網路連接、用戶權限管理、密碼管理、安全審計等功能,保證資料庫在管理層、應用層、系統層和網路層的安全性,
GaussDB 300具備如下特性:
1)高擴展: 容量和性能按需水平擴展
無共享架構,性能線性擴展能力,
應用透明的Sharding能力,
2)高可用:
雙活和兩地三中心高可用
讀寫分離和兩地三中心部署,
分片雙活和兩地三中心部署,
3)高性能: 支持高吞吐強一致性事務能力
高并發MVCC和日志管理,
跨節點高性能、強一致事務,
4)易管理: 易遷移,易監控,運維
兼容SQL2003,存盤程序等高級功能,
在線升級,在線擴容,
GaussDB 300的分布式能力做到對業務透明,能替換傳統OLTP資料庫應用,也能替換資料庫中間件、資料庫分庫分表等Sharding 方案,
同時它也讓開發運維人員不用關注資料庫資料分布和擴展的細節問題,專注于業務開發,極大的提升研發的生產力,
GaussDB 300應用場景
GaussDB 300面向行業大資料應用,可以適用于以下場景:
1)核心交易處理
具備大并發、百萬級TPMC事務處理能力,提供集群高可用、同城雙活和跨城市級容災能力,能夠支撐銀行核心賬務、渠道交易、互聯網金融等關鍵OLTP應用場景,
2)復雜事務處理支持標準SQL92、SQL99和SQL2003,提供存盤程序、觸發器、分頁、游標等能力,滿足CRM、ERP等典型企業應用場景的復雜事務能力要求,
3)混合負載場景
基于行列混存、動態負載管理和多租戶等技術,具備復雜事務處理和海量資料查詢統計分析能力,同時滿足聯機事務處理OLTP(On-Line Transaction Processing)與聯機分析處理OLAP(Online Analytical Processing)混合負載場景,
GaussDB 300技術特點
華為GaussDB 300具有如下技術特點:
1)低成本
基于分布式x86架構(支持鯤鵬架構),客戶硬體投資成本低,
支持標準的SQL92/SQL99/SQL2003規范,支持客戶應用系統平滑遷移,
2)高性能
通過列存盤、向量化執行引擎、分布式查詢處理等關鍵技術,實作百億資料量查詢秒級回應,
3)支持海量資料
集群最大可擴展至32個節點,支撐TB級資料管理能力,
集群規模按用戶需求彈性伸縮,擴展業務不中斷,減少用戶投資成本,
資料庫產品對比分析
這里我們主要講華為資料庫GaussDB與目前市場主流資料庫:
Oracle、AWS進行對比,
Oracle資料庫作為傳統資料庫產品的代表,其繼續在傳統計算場景占據較大的市場份額,
同時,針對新興的計算場景和新的資料型別要求,Oracle資料庫也在進行轉型和迭代,
AWS資料庫作為新興資料庫廠商的代表,其資料庫產品更多的是為了滿足云計算(互聯網)場景下對資料處理的需求,
目前,AWS的產品既包括關系型資料庫產品,也包括了非關系型資料庫產品,
我們這一部分內容,主要介紹下Oracle和AWS資料庫的最新進展,
以此來對比下目前華為的Gauss資料庫與這兩大巨頭資料庫產品之間的異同,
Oracle資料庫
Oracle作為全球最大、歷史最悠久的資料庫廠商,在資料庫方面的技術領先型和創新性方面,依然保持了強大的優勢,
Oracle資料庫自從1978年發布第一個版本之后,至今已經有41年的時間,
Oracle在全球資料庫的市場份額超過50%,
其不僅包括商用版的Oracle DB,同時MySQL作為開源資料庫,也是Oracle旗下的產品,
1、Oracle DB最新進展
2019年Oracle發布Oracle DB 19C,
在2019年8月Oracle云資料庫大會上,Oracle介紹了其最新產品Oracle DB 19C的特性,
Oracle DB 19C可以在任何環境運行,本次版本增加的新功能包括:
1)安全可靠的Oracle 資料庫版本
長期支持12c 第2 版系列(12.2、18、19);
標準支持服務持續至2023 年3 月,擴展支持服務持續至2026 年3 月
2)提供更多自治資料庫功能
自動索引、實時統計......
3)提供功能變更以改善整體客戶體驗
面向物聯網的流插入,Active Data Guard 備用資料庫更新、針對云物件存盤的SQL 查詢,
針對以上這些,我們初看起來,可能還沒有太多直觀和概念的認識,
我們先看下Oracle資料庫正在做的資料庫革新,
主要體現在幾個方面:
1)自治資料庫Autonomous Database
2)云Cloud
3)Exadata
4)分片Sharding
5)區塊鏈Blockchain
6)微服務Microservices
我們先看下,Oracle資料庫在自治方面的進展,
首先對于“自治(Autonomous)”,我們可以理解為將AI技術逐步植入和迭加到已有的資料庫產品,
Oracle資料庫從9i版本,已經開始實作“自動Autonomous”的功能,包括自動查詢重寫和自動撤銷管理等功能,
在之后的10g、11g、12c等多個版本中,不斷加大和強化AI和機器學習技術的應用,
Oracle的自治資料庫,集成了基于機器學習和人工智能技術的監視、管理和分析功能,
自治資料庫的機器學習和人工智能演算法所使用的技術應包括查詢優化、自動記憶體管理和自動存盤管理,以提供一個完全自主調優的資料庫,
自治資料庫的目標是,實作資料庫調優自動化,防止應用中斷,并加強整個資料庫應用的安全性,
機器學習演算法通過分析大量的記錄資料,并標記例外值和例外模式,幫助企業提高資料庫安全性,防止入侵者造成破壞,
機器學習還可以在系統運行的同時自動、連續地對系統進行打補丁、調整、備份和升級,而無需人工干預,
這將盡可能減少發生人為錯誤或惡意行為的可能性,避免影響資料庫運作或安全性,
對于Oracle資料庫,通常有這樣的看法:
“Oracle 是一個關系型資料庫,因此無法管理和分析非結構化資料”,
對于以上這種看法,我們認為,對Oracle資料庫的認知,還停留在關系型資料庫本身的固定范式,
Oracle是一個多模型資料庫,可以支持多個計算場景下的資料管理,包括:
檔案、圖形、鍵值、空間地理等,
因此,Oracle資料庫可以對任何資料型別執行SQL查詢,
2、Oracle資料庫的轉型
為了應對新的計算環境,新的資料格式以及新的應用場景,
目前Oracle資料庫也在逐步轉型,
1)從單資料庫到分布式資料庫
Oracle的資料庫支持的資料計算量都比較大,為了滿足全球規模的OLTP應用程式對小型資料庫的需求,Oracle利用原生分片技術,將大型資料庫分成很多小型資料庫,
Oracle的原生SQL對分片表可以做到1000個分片;
線性擴展的資料和用戶隔離到不同的分片;
在線添加和重組分片;
路由基于分片鍵,交叉分片查詢,
2)從關系型到以Web為中心的資料
我們之前Oracle資料庫有分歧的地方在于,Oracle的資料庫不能很好的支持互聯網資料,
目前,Oracle資料庫逐步向支持互聯網場景的資料,
Oracle利用原生SQL對JSON進行支持,
1)JSON是Web新應用程度最流行的資料格式,
2)資料庫中的JSON極大簡化了應用程式開發
3)Oracle將JSON存盤在表列中,并支持原生SQL
4)所有的Oracle功能都支持JSON,
3)從碎片化資料庫到融合資料庫
目前,初創格式和云供應商都在大力倡導單用途資料庫,其可以避免建立通用資料庫做需要的數十年的投資,
能在某一個的應用場景快速超越已有的市場領先者,
比如,我們現在看到的AWS的資料庫,其開發了支持不用資料型別和計算場景下的多樣化的資料庫,
針對市場的多樣化資料場景需求和競爭對手的競爭,Oracle開發了融合資料庫,將眾多單獨的資料庫產品融合到Oracle資料庫產品中,可以支持鍵值、分析、JSON等多樣化的產品功能需求,
AWS資料庫
AWS資料庫的研發和推出,完全是適應了云應用程式和云計算場景下對資料庫新的要求,
云時代應用程式需要資料庫來存盤TB 到PB 級的新型別資料,提供對資料的訪問(毫秒級延遲),每秒處理數百萬個請求,并擴展以支持位于世界上任何地方的數百萬用戶,
為了滿足這些要求,同時需要關系資料庫和非關系資料庫作為支撐,
AWS全托管的資料庫服務,包括:
關系資料庫(適用于事務性應用程式)、非關系資料庫(適用于Internet 規模應用程式)、資料倉庫(適用于分析)、記憶體資料存盤(適用于快取和實時作業負載)、圖形資料庫(適用于構建具有高度互聯資料的應用程式)、時間序列資料庫(適用于衡量隨時間的變化)和分類賬資料庫(用于維護完整且可驗證的交易記錄),
1、AWS關系型資料庫:Aurora
關系資料庫存盤具有預定義架構的資料及其之間的關系,設計用于支持ACID 事務、維護參考完整性和資料一致性,
應用場景:
傳統應用程式、ERP、CRM 和電子商務
AWS 產品:
- Amazon Aurora
- MySQL、PostgreSQL
- Amazon RDSMySQL、PostgreSQL、MariaDB、Oracle、SQL Server
- Amazon Redshift
2、鍵值資料庫:DynamoDB
鍵值資料庫經過優化,以毫秒級的速度存盤和檢索大量鍵值對,避免關系資料庫的性能開銷和規模限制,
應用場景:
Internet 規模的應用程式、實時競價、購物車和客戶喜好
AWS產品:
- Amazon DynamoDB
3、檔案資料庫:DocumentDB
檔案資料庫設計用于存盤檔案等半結構化的資料,可供開發人員直觀地使用,因為資料通常以可讀檔案的形式呈現,
應用場景:
內容管理、個性化和移動應用程式
AWS產品:
- Amazon DocumentDB(兼容MongoDB)
4、記憶體資料庫:
記憶體中資料庫用于需要實時訪問資料的應用程式,
通過直接將資料存盤在記憶體中,這些資料庫為不滿足于毫秒級延遲的應用程式提供微秒級延遲,
應用場景:
快取、游戲排行榜和實時分析
AWS產品:
- Amazon ElastiCache for Redis
適用于Memcached 的Amazon ElastiCache
5、圖形資料庫
對于需要讓數百萬用戶查詢和瀏覽高度互聯的圖形資料集之間的關系并實作毫秒級延遲的應用,可以使用圖形資料庫,
應用場景:
欺詐檢測、社交網路和建議引擎
AWS 產品:
- Amazon Neptune
6、時間序列資料庫
時間序列資料庫用于從大量隨時間變化的資料(稱為時間序列資料)高效地收集、合并和提煉見解,
應用場景:
IoT 應用、開發運營和工業遙測
AWS 產品:
- Amazon Timestream
7、分類賬資料庫
在您需要集中的可信權威方式來維護可擴展、完整、加密且可驗證的事務記錄時,可以使用分類賬資料庫,
應用場景:
系統記錄、供應鏈、注冊和銀行事務,
AWS 產品:
- Amazon Quantum Ledger Database (QLDB)
Amazon Aurora詳細介紹
Amazon Aurora 是一種與MySQL 和PostgreSQL 兼容的關系資料庫,專為云而打造,既具有傳統企業資料庫的性能和可用性,又具有開源資料庫的簡單性和成本效益,
Amazon Aurora 的速度最高可以達到標準MySQL 資料庫的五倍、標準PostgreSQL 資料庫的三倍,
它可以實作商用資料庫的安全性、可用性和可靠性,而成本只有商用資料庫的1/10,
Amazon Aurora 由Amazon Relational Database Service (RDS) 完全托管,RDS 可以自動執行各種耗時的管理任務,例如硬體預置以及資料庫設定、修補和備份,
Amazon Aurora 采用一種有容錯能力并且可以自我修復的分布式存盤系統,這一系統可以把每個資料庫實體擴展到最高64TB,
它具備高性能和高可用性,支持最多15 個低延遲讀取副本、時間點恢復、持續備份到Amazon S3,還支持跨三個可用區(AZ) 復制,
Amazon DynamoDB詳細介紹
Amazon DynamoDB 是一個鍵/值和檔案資料庫,可以在任何規模的環境中提供個位數的毫秒級性能,
它是一個完全托管、多區域多主的持久資料庫,具有適用于Internet 規模的應用程式的內置安全性、備份和恢復和記憶體快取,
DynamoDB 每天可處理超過10 萬億個請求,并可支持每秒超過2000 萬個請求的峰值,
許多全球發展最快的企業,如Lyft、Airbnb 和Redfin,以及Samsung、Toyota 和Capital One 等企業,都依靠DynamoDB 的規模和性能來支持其關鍵任務作業負載,
數十萬AWS 客戶選擇DynamoDB 作為鍵值和檔案資料庫,用于其移動、Web、游戲、廣告技術、物聯網以及其他需要任何規模的低延遲資料訪問的應用程式,
華為GaussDB:
對比
我們以華為GaussDB200為例,來看下目前GaussDB的下游應用情況,
2018年,GaussDB 200融合資料倉庫榮獲2018數博會領先科技成果獎,
2017~2019年連續3年入圍Gartner “Magic Quadrant for DataManagement Solutions for Analytics”,中國區廠商排名第一,
應用場景:
華為GaussDB 200分布式OLAP資料庫已經贏得全球300多個客戶的信賴,廣泛應用于政府、金融、公共安全、運營商、大企業等行業,
1)金融領域
銀行融合數倉,多型別資料統一存盤和分析,性能大幅提升,
保險營銷管理平臺,提升服務水平,顯著提升續保率,交叉拓展率等指標,客戶流失率降幅高達50%以上,
2)電子政務
稅務大資料,提升納稅人辦稅效率,提升作業人員辦公效率,推動整體涉稅服務迭代升級,
財務云大資料,打破財政應用系統條塊分割,以統一規范的資料標準和資料結構為基礎,預算編制、績效監督、綜合管理等財政所有業務上云,
警務大資料,"兩搶一盜"案件率明顯下降,
3)運營商
集中經分,利用GaussDB多租戶能力對資源進行集中管控,支撐客戶群分析從10分鐘縮短到實時分析,
詳單查詢,日增600GB資料持續入庫,查詢時間從分鐘級減少為平均5s,
對比一:
產品矩陣對比
通過以上三家資料庫產品對比,我們可以看出:
1)Oracle的資料庫在關系型資料庫領域的地位還是非常穩固,其也在非關系型資料庫應用的場景不斷迭代自身產品,而使其更加適應更多的計算場景,
2)AWS資料庫產品雖然發展比較晚,但產品線還是很齊全,既包括關系型資料庫,也包括非關系型資料庫,
3)華為Gauss資料庫已經發布了GaussDB100、GaussDB200、GaussDB300三個產品系列,
對比二:
應用場景對比
1)Oracle資料庫產品OLTP和OLAP的產品都具備,而且功能比較強大,
2)AWS資料庫產品,也同時具備OLTP和OLAP的產品線,
3)華為Gauss資料庫產品中,GaussDB100更多以OLTP為主,GaussDB200主要以OLAP為主,GaussDB300兼顧了OLTP和OLAP,
在OLTP方面,主要客戶為招商銀行;
OLAP方面,包括工商銀行等,
對比三:
客戶屬性對比
1)Oracle的資料庫產品在全球跨國企業、金融領域、能源領域、航空領域等具備強大的競爭優勢,
2)我們認為,AWS的資料庫在對新興計算場景偏重的互聯網企業中,更加具備競爭優勢,
3)華為Gauss資料庫已經在國內開始逐步推廣,從目前客戶型別來看,主要以國內的銀行、保險、能源等行業客戶為主,
從客戶范圍和數量方面,距離Oracle和AWS還有一定差距,
對比四:
資料庫支持的架構
1)Oracle資料庫產品主要支持X86的架構,
我們知道Oracle的資料庫、Window作業系統和Intel的芯片,在PC時代是一套完整的生態體系,它們之間是高度耦合的,
產品迭代的時候都會以彼此產品作為基礎,不斷優化做到高度適配,
2)AWS資料庫產品也只支持X86架構,
3)華為Gauss資料庫產品可以支持X86、ARM、GPU、NPU等異構計算,
可以看出,Gauss資料庫未來的目標市場不只是國產服務器市場,可能還包括未來5G帶來更多的計算應用場景,
總結
通過以上我們對華為Gauss資料庫的分析,以及與其他產品的對比,我們對Gauss資料庫應該有了一個比較立體的認知和理解,
最后,將我們的觀點總結如下,
1、從發展時間來看,華為的資料庫從起步到現在已經有12年的時間,目前正處于快速迭代和應用期,
從Oracle資料庫和AWS資料庫發展來看,Oracle資料庫從1978年開始到現在已經有41年的歷史,AWS的資料庫從2006年開始到現在大概走過了13個年頭,而AWS也算是資料庫領域的新進入者,
因此對于華為Gauss資料庫而言,未來的路還很長,
2、從生態體系來看,Oracle的資料庫成為全球第一資料庫的地位,也是經過了很多次版本的更新升級,更與上世紀80年代開始的全球IT生態體系的逐步確立有關,
Oracle資料庫世界霸主地位,是隨著Windows作業系統、IntelX86芯片一起建立的PC時代的IT底層生態而逐步確立的,
而AWS資料庫則是適應了互聯網時代(云計算時代)新的計算場景對資料庫的新需求,再加上自身的云生態體系,逐步迎來的客戶使用的推廣,
從華為Gauss資料庫來看,華為IT架構的底層生態已經逐步建立起來,包括芯片、作業系統、資料庫等,這些在華為IT體系內部是高度耦合的,
3、從計算場景來看,資料庫也有其使用的計算場景,
我們通過Oracle資料庫、AWS資料庫,包括一些新興的資料庫公司,從他們產品的和客戶使用來看,IT發展的不同階段,在不同的計算場景、不同的資料型別環境下,對資料庫的要求是不同的,
從而帶來一個問題,資料庫是否也有其生命周期?
當無論答案是或否,但其內在本質是,需要資料庫產品不斷根據外界變化,而進行更新升級,甚至自我革新,
Oracle的資料庫詮釋了PC時代的霸主地位,AWS資料庫演繹了互聯網云時代的新興角色,華為的Gauss資料庫是否能在未來計算環境的變化中迎來新的產業地位?
4、產品的優化和升級是一條漫漫長路,
這也是軟體產品的一個特點,所有我們感覺好用的軟體產品都不是短期開發出來的,而是靠時間堆出來的,都是經過無數客戶的實用反饋,反復修改bug,優化到大部分用戶都滿意的水平,
對于資料庫產品更是如此,Oracle的資料庫之所以好用在于其在產品迭代中,不斷收到客戶的使用反饋,不斷地對產品進行相應的修改和更新,這一程序進行了41年,
對于華為Gauss資料庫產品也是如此,不過我們現在已經看到,Gauss資料庫已經在跟銀行大客戶合作,這對于華為而言,是其資料庫快速發展的一個重要因素,
出處:墨天輪(https://www.modb.pro/db/6597,復制到網頁中打開或者點擊“閱讀原文”)
DBASK,DBA的即時問答平臺
擴展閱讀
資料和云
ID:OraNews
如有識訓,請劃至底部,點擊“在看”,謝謝!
關注公眾號:資料和云(OraNews)回復關鍵字獲取
help,30萬+下載的完整選單欄
2019DTCC,資料庫大會PPT
2018DTCC , 資料庫大會PPT
2018DTC,2018 DTC 大會 PPT
ENMOBK,《Oracle性能優化與診斷案例》
DBALIFE,“DBA 的一天”海報
DBA04,DBA 手記4 電子書
122ARCH,Oracle 12.2體系結構圖
2018OOW,Oracle OpenWorld 資料
云和恩墨BethuneX 企業版,集監控、巡檢、安全于一身,你的專屬資料庫實時監控和智能巡檢平臺,漂亮的不像實力派,你值得擁有!

云和恩墨zData一體機現已發布超融合版本和精簡版,支持各種簡化場景部署,零資料丟失備份一體機ZDBM也已發布,歡迎關注,

長按,識別二維碼,加入萬人交流社群
請備注:云和恩墨大講堂