SQL、NoSQL還是NewSQL? 未來誰將一統資料庫?

導語:最近,一部由吳秀波主演的三國題材劇《虎嘯龍吟》火遍大江南北,說的是魏蜀吳三國瓜「分」天下,到司馬氏的一統,天下三分歸晉,再次達到「合」。而資料庫市場亦是如此,由SQL,NoSQL和NewSQL一起撐起的資料庫市場如今也有融合的趨勢,也許未來的資料庫只有一個,那就是NewSQL。

資料庫其實是個很窄的領域,但作為基礎軟體之一,它又是企業架構中不可缺少且很難被替換的一環,因為企業90%的業務應用系統都是圍繞資料庫開發,替換成本高風險大。

因此,即使是在雲計算時代,資料庫服務依舊成為了雲計算巨頭如亞馬遜AWS、阿里雲必爭之地。無論是在去年的亞馬遜AWSre:Invent

2017大會又或是2017阿里雲棲大會上,細心的人都會發現,資料庫的比重越來越高,新資料庫服務的發布也越來越多。哪怕是即將到來的人工智慧時代,筆者相信亦是如此,沒有數據何來人工智慧?

當然巨頭之爭,不僅因為資料庫是核心競爭力的一種體現,同時資料庫服務高額利潤也不容忽視。有數據顯示,雖然IaaS年年降價,但在過去三年,SaaS的價格卻上漲了大約8%。

資料庫類型眾多,誰才是未來王者?

隨著時代發展,應用場景的不斷變化,資料庫也從關係型資料庫的一統江湖到如今的群雄逐鹿,類型越來越多,按國外權威的DB-Engines分類:

目前資料庫種類多達14種,如傳統關係型、文件存儲、Key-Value、圖形、時間序列、面向對象、搜索引擎、列存儲等等。

因為類型太多,為了方便,也有一種分法把資料庫歸納劃分為3大類:SQL、NoSQL、NewSQL。

SQL指的是傳統的關係型資料庫,關係模型是在1970年由IBM的研究員E.F.Codd博士首先提出的,之後成為資料庫領域主流模型,經典應用在金融和電信行業,保證資料庫的數據不會出錯和丟失。

NoSQL則相反,泛指非關係型資料庫,其實非關係模型也並非新事物,早在關係型資料庫出現之前就已經存在,只不過從2000年開始隨著互聯網爆發才變得流行,主要應用在互聯網行業,承接應用大規模並發性的流量,解決業務創新不受底層資料庫的約束,能快速靈活的擴展。

相比前兩者,NewSQL就要新的多,NewSQL一詞是在2011年的一份商業分析報告中被首次提出。NewSQL是指一類新式的關係型資料庫系統,針對OLTP(讀-寫)工作負載,追求提供和NoSQL系統相同的擴展性能,且仍然保持ACID和SQL等特性。

那麼到底誰才是資料庫未來的主流?其實答案已經呼之欲出,傳統的資料庫架構,在線數據處理的(OLTP)及在線數據分析(OLAP)的數據往往需要兩份存儲,效率及成本都是相應的挑戰。

因此,OLTP(查詢)+OLAP(分析)的融合才是未來資料庫發展方向和主流,對企業而言,不僅免去傳統數據倉庫的ETL過程,降低存儲成本的同時極大的縮短數據分析的延遲,使得實時分析決策系統成為可能。

眾觀以上三類資料庫,顯然符合條件的只有NewSQL。而從目前的發展來看,SQL與NoSQL也已經呈現向NewSQL融合的趨勢。阿里雲近期就大膽預言,或許未來的資料庫只有1個,那就是NewSQL。

阿里雲推出首個模塊化雲資料庫

1月17日,阿里雲在北京舉辦了一場2018雲資料庫智能未來大會,看似只是一場普通的技術交流會,但其背後的意義卻非比尋常。

會上阿里雲不僅分享了對資料庫未來趨勢的判斷,同時宣布推出首個模塊化雲資料庫Redis

4.0版,性能上還提升了300%之多。非比尋常之處並非指性能提升300%,而是阿里雲推出的這個模塊化雲資料庫Redis

4.0,因為它打破了固化的鍵值存儲領域,開創了模塊化資料庫的先河。

阿里雲對資料庫未來9個肯定的判斷

對於資料庫未來的趨勢,阿里雲有9個肯定的判斷,筆者總結如下:

1) OLTP(查詢)+OLAP(分析)的融合未來是資料庫的主流

2) 未來只需要一個在線的插件式的NewSQL資料庫

3) 沒有NewSQL:大規模增長的,靈活的企業數據無從談起

4) 純軟體必死,軟硬一體是未來NewSQL的必然方向

5) 持續增長的海量計算壓力需要FPGA

6) 通用架構的時代一去不回,為資料庫定製的架構將是主流

7) 每一KB的數據,都在變得越來越寶貴,多可用區容災,必將成為資料庫的標配

8) 資料庫勒索事件將更加泛濫,安全形勢越加嚴峻

9) 未來的資料庫,一定在雲上

阿里雲這9個肯定判斷大部分並不難理解筆者也部分認同,但同樣也有不少疑問,模塊化雲資料庫是個什麼玩意?阿里云為什麼敢狂言說「純軟體必死,軟硬一體才是未來NewSQL的必然方向」,那是否意味著沒有一體機的純軟資料庫公司會死掉?資料庫定製架構又是怎麼個定製邏輯?能給用戶帶來怎樣的提升?Redis是開源資料庫,阿里雲在此基礎上又做了什麼?

對話阿里云云資料庫技術總監蔡松露

帶著這些問題,筆者現場採訪了阿里云云資料庫技術總監蔡松露(花名:子嘉),就以上問題進行了深入的交流。

▲阿里云云資料庫技術總監蔡松露

蔡松露對筆者表示,此次,Redis 4.0版的發布有著非同一般的意義,不僅是阿里雲在源碼層面做了近40項的功能改進。更因為它打破了固化的鍵值存儲領域。Redis 4.0的模塊化功能提供了搜索、時序、機器學習、文檔處理等大數據分析模塊。用戶可以根據模塊基於Redis構建搜索、地理定位、時序、機器學習等場景,讓同一份資料庫的計算和分析成為可能。

眾所周知,過去,企業和開發者在資料庫上做搜索或機器學習所面臨的環境是不同的,每新增一個功能都需要重構一次資料庫代碼,既費時又費力。而模塊化資料庫不同,開發者只需將搜索、機器學習、地理位置和時序列裝到阿里雲Redis module這個「集裝箱」里,無需代碼改動就可運行,效率大幅提升。

他還特彆強調,在阿里提倡開源需要擁抱、回饋、融合、開放的主旨下:阿里雲Redis進行了開源,項目名為ApsaraCache。阿里雲Redis團隊在整個Redis 4.0開源版本中的貢獻僅次於Redis原作者,為第2名。發布了近40項功能。

「純軟體必死,軟硬一體才是未來NewSQL的必然方向」並非阿里雲危言聳聽,蔡松露解釋道,硬體技術的發展讓以前很多的資料庫瓶頸正在被逐一突破,例如緩慢的磁碟被快速的快閃記憶體取代。因此,資料庫技術需要向配硬體適配,才能享受更大的技術紅利。尤其是在未來的邊緣計算和IOT場景中,需要深度定製和優化。否則,競爭力只會越來越弱,即便不死也是半死不活。

關於資料庫定製架構成為主流,蔡松露指出,以前資料庫是跑在操作系統上,每次網路和磁碟操作都要做大量的上下文切換,在全新的用戶態架構中,繞過了操作系統的多層調用,對性能有了100%的提升。

猶如以前的資料庫架構就想一道道的收費關閘,數據到達關閘後需要等待關閘開啟。用了全用戶態的架構後,猶如開了綠色通道,在資料庫到達關閘前,已經準備好快速放行。

據了解,性能方面,阿里雲Redis已經完成25GE網路的全線升級,並結合硬體性能提升,基於內核的技術架構改造,整體性能提升3倍。原先一個標準版的Redis提供10w的QPS,如果QPS要求更高需要選擇阿里雲的讀寫分離版本或者集群版本架構擴展相應性能,現在30w以內的QPS就完全不用擴展配置,省去了大量成本。

此外,基於LFU的熱點Key發現及緩存機制等Feature,阿里雲Redis4.0可以有效優化直播場景中信息卡頓等現象。目前國內80%的視頻直播網站在使用阿里雲Redis資料庫,包括近期如火如荼的《芝士超人》等移動直播答題APP都將題庫、消息等熱點數據放在阿里雲Redis上

除了Redis外,本次大會上,阿里雲還推出了MongoDB 3.4版本,可提供TerarkDB、RocksDB和WiredTiger三引擎切換。以及比社區版提升3倍新能的HBase1.1,成本僅有此前的十分之一。

採訪最後,蔡松露指出:「傳統的資料庫行業定律已經被打破,融合式、兼容並蓄的資料庫,將是未來行業發展的一大趨勢。」他還預言,也許未來的資料庫只有一個,那就是NewSQL。


推薦閱讀:

酷站推薦 - bethune.enmotech.com - Bethune | 資料庫智能巡檢平台
數據開發系列篇(3):spark實戰高手之路(一):如何搭建spark集群
Facebook存儲進階路:NoSQL Pattern的入門介紹
Python爬取妹子,哇!太多了,看不過來了,我一個G的硬碟要滿了

TAG:数据库 | NoSQL | SQL |