得數(shù)據(jù)者得天下。數(shù)據(jù),是未來企業(yè)發(fā)展的基石。在全民都高喊數(shù)字化轉(zhuǎn)型的大背景下,不管是企業(yè)的運(yùn)營,還是民生,整個社會無時無刻不在產(chǎn)生數(shù)據(jù)。而關(guān)于如何更好地存儲和運(yùn)用這些海量的數(shù)據(jù),是我們永遠(yuǎn)都繞不開的話題。
今天我們將從歷史的角度,分析歷代數(shù)據(jù)庫的發(fā)展脈絡(luò)及各自的優(yōu)缺點。以及在各種“卡脖子”的世界格局之下,國產(chǎn)數(shù)據(jù)庫的“異軍突起”-OushuDB是如何在眾多數(shù)據(jù)庫的“拼殺”中脫穎而出,成為世界上最快的分析型數(shù)據(jù)庫,并成為中國唯一一家把自主研發(fā)的高性能數(shù)據(jù)庫產(chǎn)品出售到美國市場。
歷史回顧
- 第一代(19世紀(jì)70年代) 關(guān)系型數(shù)據(jù)庫
早在19世紀(jì)70年代,第一代專門用來存儲計算機(jī)產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)庫就已經(jīng)誕生。以甲骨文、IBM為代表的公司,研發(fā)了第一代數(shù)據(jù)庫Oracle和DB2,這些算是數(shù)據(jù)庫的鼻祖,也一直延用至今。與此同時,用于數(shù)據(jù)庫數(shù)據(jù)查詢的語言,SQL的標(biāo)準(zhǔn),也是在這個時代誕生。ANSI在1986年發(fā)布了首個SQL標(biāo)準(zhǔn)。
第一代數(shù)據(jù)庫主要應(yīng)用于關(guān)系型數(shù)據(jù)的存儲和一些業(yè)務(wù)報表的分析,它一般以單節(jié)點的形式存在,最多只能擴(kuò)展到十幾個節(jié)點,而且擴(kuò)展也比較困難。它的性能屬于中差水平,無法應(yīng)對海量數(shù)據(jù)的快速分析。
代表:oracle 、DB2、sqlserver
節(jié)點:十幾;擴(kuò)展困難
SQL兼容性:好性能:中
云支持:差
- 第二代(20世紀(jì)70年代中期) 分布式數(shù)據(jù)庫
伴隨著互聯(lián)網(wǎng)的高速發(fā)展,數(shù)據(jù)的規(guī)模成指數(shù)級增長。第一代數(shù)據(jù)庫無論是在存儲容量上或是在計算速度上,都已經(jīng)無法滿足需求。一次商業(yè)計算分析任務(wù),可能要花上幾個小時的等待,才能得出結(jié)果。大規(guī)模并行計算正是在這個時代發(fā)展起來。它的核心應(yīng)用方向就是大數(shù)據(jù)分析,通過分而治之的思想,來實現(xiàn)分析任務(wù)的快速完成。
代表:teradata、greenplum
節(jié)點:幾百;擴(kuò)展困難
SQL兼容性:好性能:中
云支持:差
- 第三代(2000s) SQL-on-Hadoop架構(gòu)
這一代的數(shù)據(jù)庫特點是以Hadoop、HDFS為理論基礎(chǔ),通過存算分離的架構(gòu),來實現(xiàn)大數(shù)據(jù)的存儲與計算。而作為通用的數(shù)據(jù)操作語言SQL,自然也被容入到了這個體系中來。典型的有HiveSQL、SparkSQL等應(yīng)用框架
代表:cloudera、hive、spark
節(jié)點:上千節(jié)點,易擴(kuò)展
SQL兼容性:差性能:較好
云支持:中
主角登場
OushuDB應(yīng)用架構(gòu)
雖然第三代數(shù)據(jù)庫架構(gòu)已經(jīng)解決了大規(guī)模存儲和大規(guī)模計算等問題,但其在SQL兼容性、在實時性、在云原生支持等方面,并不那么理想。而第四代數(shù)據(jù)庫,不僅僅解決了大規(guī)模的存算問題,同時還擁有更好SQL兼容、大規(guī)模集群、流批一體、湖倉一體以及天生的云原生支持等特性。
作為第四代數(shù)據(jù)庫中國產(chǎn)數(shù)據(jù)庫的代表,OushuDB具備以上所有的特性,同時還具備以下特點:
OushuDB特點
從下圖可以看出,OushuDB在與其它數(shù)據(jù)倉庫的對比中,各項指標(biāo)都占據(jù)上峰:
OuShuDB與其它數(shù)據(jù)倉庫的比較
OushuDB采用存算分離架構(gòu),不管是存儲節(jié)點還是計算節(jié)點,都支持云原生狀態(tài)下的獨立自由擴(kuò)展。
關(guān)于存儲:
OushuDB的存儲單元通過可插撥的方式進(jìn)行自由擴(kuò)展,支持S3、HDFS以及自研的Magma存儲方式。三種存儲方式各有特點,用戶可根據(jù)不同的應(yīng)用場景和預(yù)算要求,選擇合適的存儲方式。此處我們重點了解一下自研的Magma存儲方式:
1、作為存儲,Magma存儲的數(shù)據(jù)是表數(shù)據(jù),是結(jié)構(gòu)化數(shù)據(jù),不是簡單的KV。
2、Magma支持對表數(shù)據(jù)做更新和刪除操作。
3、它的高可用是通過Raft的協(xié)議數(shù)據(jù)復(fù)制來實現(xiàn)的。
4、它的事務(wù)特性是通過多版本來實現(xiàn)的。
5、它的高性能的是通過行列混合的存儲格式來支持OLAP高性能查詢。
6、它提供了數(shù)據(jù)索引功能,可以建立主鍵索引和非主鍵索引。
7、作為分布式的存儲,它整合數(shù)據(jù)預(yù)處理技術(shù),提供了便捷的集群擴(kuò)展、集群容錯以及負(fù)載均衡。
關(guān)于計算:
OushuDB是目前全球最快的新一代分析型云原生數(shù)據(jù)庫引擎,基于SIMD技術(shù),可以實現(xiàn)PB級大數(shù)據(jù)交互式查詢。其性能比傳統(tǒng)數(shù)據(jù)倉庫快5-10倍,比傳統(tǒng)SQL on Hadoop引擎快幾十倍。其領(lǐng)先的性能優(yōu)化技術(shù)包括:
1、采用了基于SIMD的全新執(zhí)行器
2、動態(tài)流水線架構(gòu)
3、基于SIMD的壓縮解壓算法
關(guān)于標(biāo)準(zhǔn)支持:
OushuDB完整兼容ANSI-SQL-92, SQL-99, SQL-2003標(biāo)準(zhǔn), 以及OLAP擴(kuò)展。對于剛接觸OushuDB的用戶來說,入門的門檻極低。
1、與PostgreSQL和GPDB語法兼容
2、支持事務(wù)ACID
3、支持標(biāo)準(zhǔn)JDBC, ODBC連接
4、支持存儲過程(PL/pgSQL, PL/Python et al)
5、支持混合工作負(fù)載
6、提供了存儲、查詢和修改空間數(shù)據(jù)的能力產(chǎn)品亮點
關(guān)于AI支持:
OushuDB集成LittleBoyAI平臺,可提供無縫的AI應(yīng)用能力支持。
1、支持內(nèi)置機(jī)器學(xué)習(xí)算法庫,擴(kuò)展數(shù)據(jù)庫分析功能
2、支持LittleBoy自動化機(jī)器學(xué)習(xí),降低AI應(yīng)用開發(fā)的難度
3、提供多種數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)探索、統(tǒng)計、數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)算法
4、針對分布式架構(gòu)對機(jī)器學(xué)習(xí)算法庫進(jìn)行了優(yōu)化,易于使用并提升算法性能
最后
隨著各種“卡脖子”事件的不斷發(fā)生,隨著國家信創(chuàng)的不斷推進(jìn)。各類技術(shù)的完全自主國產(chǎn)化發(fā)展必定是未來的主流方向,數(shù)據(jù)庫也不例外。今天的OushuDB已經(jīng)是在國際數(shù)據(jù)庫竟?fàn)幹姓孤额^角,未來相信OushuDB能給我們帶來更多的驚喜。也希望國內(nèi)能夠有更多的優(yōu)秀數(shù)據(jù)庫廠家加入這場“戰(zhàn)爭”。讓中國的數(shù)據(jù)庫解決方案走向世界,走向未來。