DB-Engines:2017年1月全球資料庫排名TOP 20

2020-12-13 199IT

說到盤點,首先肯定得看看DB-Engines的全球資料庫排名。下表是2017年1月份前20名資料庫引擎最新排名。

DB-Engines 2017-01資料庫前20名列表

DB-Engines這個排名在業界引用得非常多,權威性也很高,總體來說比較客觀,它不像很多諮詢機構採用市場調查,或者某個資料庫廠商發布的數據,而是通過以下6個方面的統計數據來綜合評估各個資料庫產品得分並給出綜合排名:

1) 資料庫相關網站數量(當前通過google、bing、yandex搜尋引擎統計)
2) 公眾關注度(通過Google trends計算)
3) 技術討論活躍度(通過Stack Overflow、DBA Stack Exchange問答及用戶統計)
4) 招聘職位(通過Indeed、Simply Hired統計)
5) 專業檔案(通過LinkedIn、Upwork統計)
6) 社交網絡信息(通過Twitter統計)
DB-Engines這個方法我認為比較科學,我個人也比較喜歡用這種方式來快速分析事物活躍情況與趨勢。當然,這個排名只是反應全球流行程度,不能反應出產品營收情況,也不代表國內流行度排名。

下圖上各資料庫產品的競爭關係及客戶流向示意圖:

各資料庫產品的競爭關係及客戶流向示意圖

從排名來看Oracle、MySQL、SQL Server三大資料庫產品是絕對遙遙領先,呈三足鼎立局面。

PostgreSQL、MongoDB比較穩的站在前五,得分也不相上下,兩家一直在爭奪老四的位置。

DB2曾經是資料庫的領導者,但近幾年發展乏力,在持續下滑,特別是網際網路行業及中小企業IT裡基本沒有DB2的身影,在金融等領域也受到非常大的挑戰,估計明年老六的位置也危險。

MongoDB、Redis、Elasticsearch、Neo4j在自己的領域取得了領導地位。

總體來說,去年MySQL、SQLServer、PostgreSQL、MongoDB、Redis、 Elasticsearch 都是市場大贏家,在自家的地盤都發展得非常不錯。而Oracle、DB2、Access、Sybase幾家都比較悲催,活躍度在不停下滑。

上圖是2013年以來幾大主流資料庫排名變化整體趨勢。

2013年以來開源資料庫與商業資料庫的發展趨勢分析

上圖是2013年以來開源資料庫與商業資料庫的發展趨勢分析,整體大家能明顯感受到開源資料庫都呈良好的發展勢頭,而商業資料庫的市場被慢慢吞食,但從近一年發展趨勢來看,開源資料庫並沒有完全打敗商業資料庫的勢頭,未來很長時間還會是激烈競爭狀態,目前商業資料庫主要是靠Oracle、SQLServer在支撐。

各種資料庫類型市場百分比

NoSQL發展一直很快,幾年前有些人會說NoSQL要代替關係型資料庫,但最近大家都開始冷靜一點了,從上圖可以看出,NoSQL雖然發展很好,但是目前RDBMS仍是佔據了80%的活躍度,處於統治地位。

【2016十大資料庫點評】

一、Oracle(老大,最掙錢的資料庫)
Oracle一直是資料庫市場佔有率最高的產品,但2016年很不好受,一直被老二MySQL威脅,雖然Oracle與MySQL都是Oracle公司的產品,但是MySQL帶給Oracle的營收可以忽略不計,這樣就間接導致Oracle市場受到影響。那Oracle為什麼不直接砍掉MySQL或者減緩MySQL的更新步伐呢,這裡很可能是考慮到MariaDB這個分支也在持續快速發展,如果官方的MySQL更新緩慢,那估計很多公司就會選擇MariaDB了。所以Oracle也沒有辦法,既沒法讓MySQL遷移到Oracle,也沒法不搞MySQL,所以只能拼命發展MySQL,爭取把用戶守住。當然Oracle也在全力投入發展雲服務,如果雲計算領域搞起來,MySQL可能帶來不錯的營收。

Oracle12c

Oracle12c是一個非常重要的版本,相比11g,在設計理念上有了全新的變化,全面擁抱雲計算,多租戶是12c的最大特性。按Oracle以前產品的發布來看,大版本的第一個版本更多是布道,而第二個版本更具有大規模生產使用價值。2016年發布了12.2版本,12c可以說能進入生產使用階段。Oracle12.2在雲計算多租戶方面有了非常大的增強,我簡單列了幾個重要的點如下, 這些點也許普通用資料庫的人看起來不太眼,但是對於雲計算多租戶是非常重要的特性 :

1) I/O Rate Limits for PDBs(PDB可以按IOPS或Mbps隔離)

2) Support for PDBs with Different Character Sets, Time Zone File Versions, and Database Time Zones in a CDB

3) Proxy PDB(PDB代理服務,可以用一個連結指向遠程的一個PDB)

4) Service-Level ACLs for TCP Protocol(每個PDB可以指定ACL安全策略)

5) Flashback Pluggable Database

6) PDB Archive Files (.pdb Files)(可以導出PDB為離線文件,然後遷移到其它的CDB上,用於容器遷移)

7) PDB Refresh,clone PDB and autorefresh,(可用於單PDB的鏡像實例災備、同步、分析)

8) 一個CDB可以包括4000個PDB(以前最大是252個)

Oracle12.2增加了原生Sharding支持,這與以前的partition及rac不同,sharding可以將數據放在完全不同的主機,屬於share nothing的架構,可以說這個特性是專門為那邊業務非常大的OLTP系統準備的,相當於內置實現了自動分庫分表管理功能。

另外新增了數據生命周期管理功能,大家都清楚,資料庫有冷熱之分,往往近期的數據經常使用,幾年前的數據是偶爾使用,通常好的做法是對經常使用的數據採用行式存儲,對不經常使用的數據採用壓縮存儲或列式存儲,這樣總體成本更優,當然,要做這樣的效果需要付出不小的設計與運維成本,還可能會影響業務體驗,所以能做好的人不多。在Oracle12.2裡,你可以指定數據的生命周期,讓資料庫自動幫你管理,就像下面這兩條指令:

二、MySQL(最流行的開源資料庫)
MySQL在2016年是最大贏家,市場佔有率不斷攀升,很大一部份原因是網際網路行業快速發展,因為開源免費易用,MySQL成為網際網路公司最受歡迎的資料庫。MySQL最新穩定版本是5.7.17 GA。

MySQL5.7

MySQL5.7號稱性能是MySQL5.6的3倍,而MySQL5.6號稱性能是MySQL5.5的2倍,你信嗎?這個問題還是要辯證的理解,首先性能肯定是改進了,但為什麼大部份人升級後也沒有感覺?這就要從測試方法說起,大部份廠商發布新版本都會說性能提升了多少多少,因為這是最能吸引客戶的數據。從官方的測試數據來看,首先是32個並發以上的簡單查詢,並且超過10萬QPS才有區別,如果你的系統沒有達到這個並發度那肯定沒有體會的。另外是純內存與CPU計算,如果你的系統瓶頸在磁碟或網絡IO那也不會有明顯的效率提升。當然,我認為MySQL5.6的ICP這種特性其實對於業務來說更有意義,說不定剛好你的慢SQL可以解決掉。

2016年MySQL5.7也發布了Group Replication特性,應用於要求強高可用的場景,這個特性讓MySQL開始有基礎與現代新的分布式資料庫去競爭,目前只是剛推出,估計離能生產使用還有差距。

MySQL5.7對很多代碼進行了優化,特別是高並發下鎖的爭用,所以在高並發簡單SQL性能會有大的提升,另外很值得升級的就是帶來了不少新功能,比如原生支持JSON了,原生支持full text search等等,如果你的業務要用上那就不要猶豫了,趕緊升級到5.7吧。

MySQL 8.0 DMR

2016.9月MySQL8.0(原計劃是MySQL5.8)剛發了一個DMR版本(開發者版),可以說是有非常大的改進,下面是發出來的幾個大特性:

1) 支持role

2) 數據字典存儲由myisam引擎變為innodb

3) 支持 invisible indexes,這個對DBA索引調優比較有幫助

4) 增加column_stats ,相當於Oracle的直方圖

5) Performance schema持續加強,增加了很多error信息採集與展示

6) 支持SET參數持久化保存

2016年Facebook的RocksDB引擎也火了一把,它本身可以做為一個KV引擎直接使用,也可以和InnoDB或MyISAM一樣,做為存儲引擎直接用於MySQL,還可以用於MongoDB,非常靈活。RocksDB是基於Google LevelDB上發展進來的,採用LSM Tree的數據結構管理數據,Key Value操作高性能且擁有非常高的數據壓縮比,Percona與MariaDB都在跟進,RocksDB的普及對於InnoDB有一定競爭與互補,但對於TokuDB來講就非常難受,因為RocksDB基本覆蓋了TokuDB的應用場景,並且有各大主流公司在支持。

三、SQLServer(Windows上最好的資料庫)

SQLServer2016

SQL Server一直不被很多人看重,認為資料庫就是Oracle與MySQL的天下,但是實際上SQLServer的用戶非常多,SQLServer發展非常迅猛,微軟也網羅了大量資料庫的頂級人才。今年微軟正式發布了SQL Server 2016及SP1。可以說有很多亮眼的功能,也能看到SQLServer有自己獨特的資料庫發展規劃。列幾個SQLServer2016的重磅特性:

1) PolyBase
PolyBase支持查詢分布式數據集。有了PolyBase,你可以使用Transact SQL語句查詢Hadoop或者SQL Azure blob存儲。你現在可以使用PolyBase寫臨時查詢,實現SQL Server關係型數據與Hadoop或者SQL Azure blog存儲中的半結構化數據之間的關聯查詢。此外,你還可以利用SQL Server的動態列存儲索引針對半結構化數據來優化查詢。如果組織跨多個分布式位置傳遞數據,PolyBase就成了利用SQL Server技術訪問這些位置的半結構化數據的便捷解決方案了。

2) 全程加密
支持在SQL Server中保持數據加密,只有調用SQL Server的應用才能訪問加密數據。使用該功能,你可以避免資料庫或者作業系統管理員接觸客戶應用程式敏感數據(包括靜態數據和動態數據)。該功能現在支持敏感數據存儲在雲端管理資料庫中,並且永遠保持加密。即便是雲供應商也看不到數據。

3) 動態數據屏蔽
這個特性可以很好的保護一個表中的敏感信息(如會員表的註冊時間不是太機密的信息,但是像手機號碼這種信息並不希望普通帳號可以查看,動態數據屏蔽可以有效的解決這個問題,它能讓普通帳號看不到完整的手機號信息,比如138-1234-5678手機號可能會顯示為138-

4) Stretch Database
Stretch Database功能提供了把內部部署資料庫擴展到Azure SQL 資料庫的途徑。有了Stretch Database功能,訪問頻率最高的數據會存儲在內部資料庫,而訪問較少的數據會離線存儲在Azure SQL 資料庫中,最重要的是這可以通過配置規則後由資料庫自動完成,對應用沒有影響,可以說是混合雲的專業數據解決方案。

5) 支持JSON

6) 支持R語言做數據分析

SQLServer for Linux

除了發布SQL Server 2016外,今年另一個最重大的事情是微軟宣稱SQLServer要支持Linux了,並且發布了第一個預覽版。這可以說是微軟一次艱難的決定,Linux現在是越來越好,Windows是不可能幹了Linux,更重要的是微軟也是大力搞雲計算服務的,SQLServer支持Linux也是順勢而為了。

四、PostgreSQL(功能最強大的開源資料庫)
PostgreSQL可以說是一個歷史非常悠久的開源資料庫,從關係型資料庫理論提出以來,它一直非常活躍,PostgreSQL的功能非常強大,很多功能可以與Oracle相當。PostgreSQL的代碼可讀性非常好,又是開源,並且功能強大,所以是學術界非常喜歡研究的資料庫。當然,因為工業界應用得不多,也有時會被人理解為學術型資料庫。不過PostgreSQL在國外的活躍度比中國高很多,也有許多非常成功的工業界案例。國內很多人也不太了解PostgreSQL,人才方面是非常大的短板,國內缺少非常有影響力的成功案例,也沒有很強的商業領導者,所以導致在國內發展得沒有MySQL迅速。

PostgreSQL

PostgreSQL在2016年發布了9.6版本,主要有以下大的更新:

1) Parallel execution of sequential scans, joins and aggregates

單條SQL支持並行訪問可以說是非常有挑戰的功能,這個功能曾經也是商業資料庫與開源資料庫的重大區別,因為Oracle、SQLServer、DB2都支持單SQL並行計算,但是開源資料庫基本不支持,PostgreSQL9.6是第一個支持的開源資料庫。

2) Avoid scanning pages unnecessarily during vacuum freeze operations

3) Synchronous replication now allows multiple standby servers for increased reliability

4) Full-text search can now search for phrases (multiple adjacent words)

5) postgres_fdw now supports remote joins, sorts, UPDATEs, and DELETEs

Fdw在PostgeSQL9.6中有了更大的增強,這個功能有點類似Oracle的DBLink,或者是SQLServer的連結伺服器概念,也是一個非常實用的組件,可以非常方便的訪問遠程資料庫,還可以訪問遠程非PostgreSQL資料庫,這對於一些數據遷移與異構關聯計算非常有價值。

6) Substantial performance improvements, especially in the area of Scalability on multi-CPU-socket servers

五、MongoDB(最好的文檔型資料庫)
MongoDB是文檔型資料庫,NoSQL領域的領導者之一,也可以說是當前最成功的NoSQL資料庫。能在眾多NoSQL中脫穎而出,說明MongoDB一定有不少過人之處 ,我也一直非常看好,因為MongoDB的出現很好的彌補了關係型資料庫的很多問題,比如支持Schema Free,在關係型資料庫沒有支持JSON之前,就是一個典型的難題,曾經有很多開發同學向我諮詢對於一個動態屬性的表該如何設計表結構,比如商品的屬性、遊戲裝備屬性等等?說實話,當時關係型資料庫除了預留欄位、行轉列模式、大欄位文本幾種方案外,沒有什麼好的解決方案。MongoDB可以說在這方面非常擅長,因為它的數據交互及存儲都採用類似JSON格式,非常靈活,並且可以對JSON數據創建非常靈活的索引,如子屬性、數組都能支持索引。新關係型資料庫雖然也支持JSON格式,但是與MongoDB還是有較大的差距。

NodeJS+MongoDB

因為是JSON,MongoDB也天然支持js的語法交互,所以又吸引了很多NodeJS服務端同學,甚至有人宣傳說NodeJS+MongoDB組合要代替PHP+MySQL的組合了,當然,這更多是給搞js的同學一種方案選擇。

MongoDB在很早就有自己的查詢語言,與SQL一樣強大,不過語法是js格式,下圖是MongoDB查詢語言與SQL的一個簡單對比:

Mongo Query Language and SQL

是不是和SQL很像,這也是MongoDB過人之處,它第一天就知道客戶需求並不只是要高性能,要俘獲程式設計師的心,必須要提供強大高效的訪問接口語言,由於是文檔型資料庫,SQL主要是為了面向關係型資料庫設計的語言,但是SQL確實非常牛逼,所以提供一個面向文檔型資料庫類似SQL的語言非常有價值。

MongoDB 也是一個天生支持分布式的資料庫,數據自動分片,還支持MapReduce,也內置了一個分布式文件系統GridFS,另外可以掛接多種存儲引擎,這些都是非常誘人的功能。

MongoDB3.4

2016年MongoDB發布了3.4版本,也有一些大的更新,主要的新特性有:

1) 支持View

2) 新增對decimal支持,最多支持34位小數位。

3) 新增支持collation,也就是字符串校驗集,校驗集會影響字符對比與排序,3.4以前字符串是按字節嚴格對比,通過設置collation後可以指定校驗方式,比如忽略大小寫等等,漢字按拼音排序(官方文檔特意舉了拼音排序這個例子,說明中國用戶在MongoDB中份量不小)等等。

4) 集群管理與日誌複製方面也有了進一步增強

Mongo 公司也推出了自己的資料庫雲服務,MongoDB Atlas,支持AWS上部署,我認為這也是更好的一種雲計算服務模式。

六、Redis(最好的緩存資料庫)

Redis

說Redis是緩存服務,估計有些人會不開心,因為Redis也可以把資料庫持久化,但是在大多數情況Redis的競爭力是提供緩存服務。說到緩存服務必然會想到Memcached,因為幾年前Memcached是最流行的緩存服務,但隨著Redis的發展,Redis在很多方面比Memcached更好用,比如,Redis支持更多種數據類型,包括hash、set、list等等。Redis也支持數據持久化,另外2015年發布的Redis 3.0開始支持集群服務。Redis還支持subscribe/publish命令,可以用於簡單的消息發送與訂閱,總體而言95%的情況,如果是緩存服務,我們都可以選擇Redis。

Redis在2016年發布了3.2版本,最重要的是支持GEO地理信息存儲支持。

Redis原計劃下個版本是3.4,後來計劃重命令為Redis 4.0,今年已經推出了RC1,Redis4.0有許多大的變化,最重要的是模塊化特性,官方希望Redis是一個底層基礎設施,開發者可以在上面構建更多有意思的東西,比如對神經網絡、機器學習數據計算擴展,還有如圖數據、二級索引、時序數據、全文索引等等。

http://antirez.com/news/110(備註:antirez是redis最核心開發成員,90%以上的代碼是他貢獻的)

七、ElasticSearch(最好的搜索服務)

Elasticsearch

Elasticsearch本是一項搜索服務,但是因為它實在太強大太好用了,以至於有一些業務把它作為數據存儲與搜索服務。搜索與資料庫本來就非常密切,很早以前的數據搜索都會採用資料庫內置的like模糊查詢或全文檢索實現,但隨著網際網路搜索業務的快速發展,對搜索選項也要求更豐富,另外早期的搜索並不一定需要資料庫這樣完全實時的需求,所以資料庫對全文搜索的支持一直不太理想,這也產生了很多的專業搜尋引擎產品,Lucence就是最流行的開源搜尋引擎框架。近幾年隨著大數據快速發展,搜尋引擎需要有更強的分布式支撐,另外由於業務的競爭,需要大量的日誌數據採集與分析,實時性要求更高, Elasticsearch 在這方面脫穎而出, Elasticsearch 是基於lucence開發的分布式搜索服務,並不只是一個框架(Lucence需要二次開發),而是可以直接使用的服務。 Elasticsearch 對文檔模型也有了進一步的增強,更有一些文檔型資料庫的感覺,甚至有人把它完全當分布式數據存儲服務(主流大數據存儲真的沒有太好的準實時查詢功能)。

ElasticSearch在2016年快速增長,從去年13名前進到第11名。ElasticSearch今年發布了5.0版本,這個版本號跳躍得比較大,主要是因為elastic公司考慮到與自己旗下的Kibana等產品版本號統一,解決用戶搭建ELK或ElasticStack日誌分析架構選擇組件版本的困擾。

八、Neo4j(最好的圖資料庫)
圖資料庫一直是NoSQL領域非常重要的分支,Neo4j可以說是圖資料庫的絕對領導者,雖然這個名字很土(很容易聯想到log4j、dom4j這些通用Java組件)

neo4j

圖資料庫雖然現在流行度並不算太高,主要原因是目前大部份問題可以採用關係型資料庫或大數據方案解決,圖資料庫更擅長描述基於關聯關係的場景應用,可以用來解決一些特殊的場景,如人員關聯關係、事務關聯關係等等,比如社交關係計算、物流路徑計算等等。但是由於圖資料庫整個理論不像關係型資料庫那麼紮實,大家也沒有總結出太多的實踐經驗,再加上性能與擴展性上並不是很突出,所以影響力還不大。

從我個人認為圖資料庫是非常有前景的,因為當前關係型資料庫對於傻瓜計算是比較擅長,但對於人工智慧方面非常無力,而圖資料庫的結構更像人的大腦信息保存模式,不擅長搞大數據運算,但是可以很容易發現兩個相隔十萬八千裡的對像關係。關係型資料庫擅長把一類東西模式化存儲,比如有汽車、衣服、家具、食物、照片、朋友等很多信息,RDBMS可以設計為按每種類別用一張表格存儲,這樣可以很方便回答類型下面的問題:

  1. 總共保存了多少件衣服
  2. 紅色的汽車有哪些

但是要回答下面兩個問題會相對困難:

  1. 找出所有是長方型白色的東西
  2. 找出附近有寶馬汽車的朋友或(朋友的朋友)照片

如果要回答上面問題,RDBMS需要再增加維護各種屬性與物品的關係。但是像上面這種關聯性問題會有很多組合,所以通過RDBMS來維護並不輕鬆。

圖資料庫的存儲格式更適合解決這類問題,因為它更擅長關聯查找計算。圖資料庫更像人腦計算,如果未來機器學習大量應用,或許是圖資料庫普及的時刻。

Neo4j提供了類似SQL的圖查詢語言Cypher,Cypher語言的描述能力非常強大,甚至已經成為圖查詢語言的通用標準。一個簡單的圖資料庫Cypher查詢語言如下:

Cypher

下圖是Neo4j官網列出的典型客戶:

Neo4j典型客戶

九、Cassandra(最好的列式資料庫)

cassandra

現在把Cassandra說為列式資料庫完全是不太恰當的歸類,最初的Cassandra確實是有列式資料庫的概念,但是實際上現在已經完全看不到列式的東西,可以說完全是一個標準分布式資料庫。Cassandra除了具備表、欄位、二級索引這些概念外,還支持觸發器、物化視圖,你敢信嗎,但他真的支持。Cassandra的接口語言是CQL,CQL查詢數據用select,支持insert、update、delete,創建表也是用create table,創建索引也是用create index,語法與SQL基本一模一樣,但是功能方面有一些限制,比如不支持多表關聯,對where條件也有許多嚴格的限制等等。另外增加支持了list、set、map、tuple等高級數據類型支持,可以說是SQL的一種擴展。

Cassandra與HBase起步與實現原理很像,但是應用的場景卻差別很大。Cassandra在國外非常流行,但是國內基本沒有用戶,而HBase在國內非常流行。這是為什麼呢?我個人理解是:在Facebook推出Cassandra的時候,國內各大網際網路公司也是研究得熱火朝天,但是因為Cassandra產品並不太成熟,另外原廠Facebook不久後又放棄了這個產品,加上國內除了BAT以外的廠商並沒有太多分布式資料庫的壓力,所以並沒有快速流行。當時的 Cassandra也不能解決BAT的分布式資料庫需求, 而同時像阿里巴巴等公司大量宣傳用MySQL去IOE的經驗,採用了Cobar與TDDL這樣類似的中間件架構,很多公司都開始朝這個方向走,因為對系統相對改造成本更小,所以大家也不關心Cassandra的後來發展。而HBase是基於Hadoop體系產生的數據存儲產品,這個領域MySQL也沒有優勢,國內大數據也發展地非常火熱,加上BAT、小米大量宣傳HBase成功案例,所以HBase快速流行起來。

十、SQLite(最流行的嵌入式資料庫)
嵌入式資料庫有很多種,在以前說不出哪種市場佔有率最高,但是隨著手機移動開發的流行,SQLite嵌入式資料庫異軍突起,佔領了手機嵌入式資料庫的領導地位。在google上搜索iOS資料庫或Android資料庫開發,立馬全屏都是SQLite的介紹。SQLite是一個完整的關係型資料庫,支持標準SQL,支持函數索引、外鍵、視圖、觸發器、ACID,擴展支持自定義函數、JSON、全文索引、GIS等高級特性,可以說功能非常全,但是程序包不到500KB大小,可以在幾百KB的內存上運行,是當前手機或掌上嵌入式設備存儲結構化數據的最好選擇。

SQLite是開源免費軟體,同時也有收費功能,主要是支持加密、壓縮等高級特性,這些功能對於數據安全要求比較高的業務非常有意義。

SQLite一直在持續更新,但最近大的功能不多,目前最新版本是SQLite 3.15.2,也許是他太領先了,找不到對手,另外開源協議是Public Domain,可以說是基本是沒有任何限制的開源協議,相比MySQL、MongoDB等開源資料庫來說,沒有任何使用風險,不清楚商業營收是否有保障。

OceanBase(最有潛力的分布式關係型資料庫)

雲資料庫OceanBase

OceanBase是一款阿里巴巴/螞蟻金服自主研發的高性能、分布式的關係型資料庫,支持完整的ACID特性。它高度兼容MySQL協議與語法,讓用戶能夠以最小的遷移成本使用高性能、可擴展、持續可用的分布式資料庫服務,同時對用戶數據提供金融級可靠性的保障。

OceanBase主打的是分布式與高可用特性,目前已經支持了關係型資料庫最主要的功能,高度兼容MySQL語法,你可以使用MySQL命令客戶端或MySQL JDBC Driver直接訪問OceanBase,這個特性對於應用改造成本非常低。

OceanBase有超過6年的研發歷史,在國產資料庫中,OceanBase在功能方面並不算最強大,但是發展非常快,2015年底正式發布了OceanBase 1.0。另外,存儲過程這些更複雜的特性也在研發中。OceanBase已經是支付寶、網商銀行最核心的資料庫,承載了支付寶雙十一所有交易服務。OceanBase天生就有阿里巴巴集團應用場景錘鍊,特別是支付寶、網商銀行這種支付與銀行領域,並且資料庫技術也是阿里非常看重的核心競爭力,所以起點非常高,並且OceanBase已經通過阿里雲對外輸出,希望未來能成為世界頂級資料庫引擎。下圖是2016年阿里巴巴集團CEO逍遙子在網際網路大會介紹OceanBase:

阿里巴巴集團CEO在網際網路大會介紹OceanBase

OceanBase目前並不對外提供下載,但是可以通過阿里雲使用OceanBase,如果你是一家對高性能與高可用及海量存儲要求非常高的業務,那阿里雲OceanBase是不錯的選擇,直接使用雲服務,也免去了運維管理成本。

【全球雲資料庫服務大比拼】
資料庫服務一直是雲計算廠商非常核心的競爭力,從目前公有雲市場來看,AWS、Azure、阿里雲這三家廠商是排在前面,並且各有特色,下表是幾大廠商提供的資料庫服務產品對比:

3A(AWS、Azure、阿里雲)資料庫服務

AWS
AWS可以說是產品非常全,並且客戶體量非常大,產品的成熟度也非常高。

AWS Database Service

2016年主要是發布了SnowBall數據遷移系列產品,可以幫助用戶快速遷移PB級的數據量到雲上。

下圖是AWS最新發布的Snowmobile,可以用卡車來完成上百PB的數據遷移,比傳輸網絡傳輸快50倍。

Snowmobile

Azure
Azure是微軟出品, SQLServer是微軟自家核心資料庫引擎,同時SQLServer在數據管理與遷移工具方面非常強大,2016年又推出SQLServer Stretch Server的混合雲解決方案,可以說在SQLServer方面支持力度最強。Azure除了SQLServer之外,同時也提供了表存儲、Redis緩存、數據倉庫,並通過第三方支持MySQL服務,給用戶提供了豐富的選擇。

Azure Database Service

阿里雲
阿里雲近兩年快速發力,兩年前只有MySQL與SQLServer兩個引擎,發展到現在的十幾種,如PostgreSQL、MongoDB、Redis、DRDS、ADS(分析型資料庫服務)、Greenplum等等,豐富的資料庫引擎也是阿里雲的核心競爭力之一。在國內,阿里雲的性價比也最有優勢。

阿里雲資料庫服務

除了支持豐富的資料庫引擎外,2016年阿里雲也正式發布數據傳輸與數據管理兩個資料庫服務類的產品。

數據傳輸

數據傳輸服務包括數據遷移、同步、訂閱,你不僅可以非常方便地數據遷移上雲,還能輕鬆搭建異地機房數據同步架構,通過數據同步或訂閱也可以方便的將數據實時分發到搜尋引擎或數據倉庫。

數據管理

數據管理服務在阿里雲用戶活躍度非常高,是一款可以免費使用的服務,它能很高效的幫助你管理各種數據源中的數據,包括MySQL、SQLServer、MongoDB、Redis等等,你不再需要使用Navicat、phpMyAdmin等客戶端資料庫工具。數據也是在內網傳輸,更安全高效。數據管理服務還提供了各種數據圖表分析、數據變更統計、性能診斷等十幾項特色功能。更有意思的是,只要資料庫可以連接上,就算你的資料庫在本地,你不是阿里雲的用戶也可以免費使用數據管理服務。

雲計算國際上還有兩家航母級公司在使勁往裡面投入

一家是Oracle
Oracle可以說在雲計算方面起步較晚, 市場份額還比較低, 但是Oracle的產品線是全宇宙最全的,從IaaS、PaaS、DaaS、SaaS全都覆蓋,自家做資料庫、OS、CPU、伺服器,還有最全的SaaS類軟體。Oracle在資料庫雲服務主要銷售Oracle、MySQL資料庫及Hadoop大數據服務。AWS這種雲計算服務對於傳統基礎IT公司衝擊特別大,特別是IaaS及DaaS方面,現在Microsoft、Oracle、IBM都在痛苦的轉型,各自都在結合自己的優勢突圍。雲計算給惠普、DELL、EMC這種偏硬體的企業壓力更大。

另一家是Google
Google是最先提出雲計算的概念,但是發展得非常不順利,因為Google提的雲計算與當前的流行的概念已經完全不一樣了。Google最早主要是提供GAE這個PaaS服務,沒有搞起來。最近兩年完全轉型為IaaS+PaaS,和AWS非常像,新的平臺叫GCP(Google Cloud Platform),但是公有雲市場已經被AWS領先很多。Google在資料庫方面帶來了分布式技術的突破,研發了BigTable、Spanner這樣領先的分布式資料庫技術,但是BigTable與Spanner只是一項內部應用的技術,離市場需要的產品不一樣,業界大部份公司還不需要這樣複雜的技術。雲計算服務不僅要有技術基礎,更需要有很強的產品設計能力。另外雲計算和網際網路一樣,是一個基礎設施,不能因為用戶上了雲計算就必須要全部改變他原有的軟體架構,就像不能因為用戶要上網就必須把電腦全換了一樣的道理。

Google公有雲服務地址: https://cloud.google.com/products/,以下是Google主要提供雲計算服務:

國內其他雲廠商也提供了資料庫服務,包括騰訊雲、百度雲、華為雲,但是產品線及成熟度還有待提升,這裡就不詳細說了。

【資料庫2017年展望】

資料庫一直是IT界非常活躍的技術,也是當今計算機系統非常核心的構成。從網絡/層次資料庫到關係型資料庫,到面向對像資料庫、分布式資料庫、時序資料庫,然後是NoSQL(KV型、文檔型、列式資料庫、圖資料庫)與大數據以及NewSQL,可以說,資料庫界從來沒有消停過。全球頂級軟體廠商都非常重視在資料庫領域投入,包括微軟(SQLServer)、Oracle(Oracle+MySQL)、IBM(DB2)、SAP(Sybase+HANA)、Google(Spanner)、Facebook(RocksDB)、阿里巴巴(OceanBase)、Amazon(Aurora)等等。相信資料庫在未來競爭會更加激烈,這裡對資料庫在2017年做一個簡單的展望:

1) MySQL超越Oracle成為流行度第一的產品
2) RDBMS、NoSQL、大數據繼續互相學習,RDBMS地位仍然穩固
3) 圖資料庫開始發力
4) 機器學習應用於資料庫領域
5) 資料庫雲服務競爭激烈,混合雲解決方案會是重要戰場
6) 國產分布式資料庫OceanBase加入市場競爭

相關焦點

  • DB-Engines: 2016 年全球資料庫排名塵埃落定
    而第11-20名的資料庫排名幾乎都發生了變化。具體情況請看前 20 名排名情況:完整排名請看這裡:http://db-engines.com/en/ranking作為今年最後一個月的排行榜,2016年全球資料庫的排名基本塵埃落定,下面文章將從前五名的趨勢圖縱觀其近年來的變化趨勢:
  • DB-Engines 2020 年度資料庫:PostgreSQL
    DB-Engines 是全球知名的資料庫流行度排行榜網站,它評選年度資料庫的標準十分簡單:計算資料庫當前最新流行度分數(2021年1月)的同比增長量,分數增長最多的即為年度資料庫。年度 DBMS:PostgreSQLPostgreSQL 曾獲得2017和2018的「年度資料庫」稱號,所以它也是首個三次獲此殊榮的資料庫。
  • 2020 年 3 月資料庫排行:排名前十資料庫 Oracle/MySQL 下降分數最多
    DB-Engines 資料庫流行度排行榜 3 月更新已發布,排名前二十如下:不過這個月的排行榜還是有值得關注的地方,可以看到,排名前十的資料庫有七成的分數都出現了下降,其中前兩名 Oracle 和 MySQL 的分數下降最多,分別降低了 4.11 和 7.92 分。
  • DB-Engines 2017 年度 DBMS: PostgreSQL
    PostgreSQL資料庫管理系統在去年的DB-Engines排名中,超越其他341個被統計的系統,取得了更高的人氣。
  • DB-Engines 8 月資料庫排名:前3依舊穩定,Redis超Elasticsearch
    DB-Engines根據資料庫管理系統的受歡迎程度對其進行排名,最近發布了 2020 年 8月份的資料庫排名。該網站實時統計了359種資料庫的排名指數。較去年同期Redis上漲了8.79,較7月上漲了2.83。雖然漲幅不大,但Redis作為鍵值資料庫的「老大」,逐漸變成了內存資料庫的事實標準。
  • 2019年全球最受歡迎資料庫新鮮出爐,你猜中了嗎?
    全球知名的資料庫流行度排行榜網站DB-Engines 宣布,在過去的一年裡,MySQL在 DB-Engines排名中比其他 350 個受監測資料庫管理系統的任何一個更受歡迎。因此,MySQL為 2019 年的年度DBMS。
  • 2020年2月DB-Engines資料庫排行:SQLite進入前10 Cassandra退至11位
    前 20 名基本變化不大。在經過此前持續不斷的角逐之後,SQLite 終於在新年的前兩個月擠進了前 10 名,並以 3 分之差拉開與 Cassandra 的差距。Cassandra 分值持續下降,排名退至 11 位。
  • CallidusCloud 收購多模型資料庫技術 OrientDB
    CallidusCloud 公司是全球雲銷售、市場營銷、學習和客戶體驗解決方案的翹楚,於加州都柏林時間 2017 年 9 月 19 日,宣布收購領先的多模型資料庫技術 OrientDB。OrientDB 是首個多模型開源 NoSQL 資料庫,將圖支持、文件、關鍵值、地理空間、面向對象和反應式的模型相結合,成為一個可擴充的資料庫。
  • U.S.News發布2017年世界大學排名,只有三所英國大學進入Top20
    U.S.News剛剛發布了2017年世界大學排名 U.S.News全稱U.S.News
  • 2015年12月資料庫流行度排行榜 前三巋然不動
    2015年的最後一個月,我們繼續揭曉資料庫流行榜單,與11月相比,前20名各自穩守陣地,巋然不動。
  • 華為:AI-Native分布式資料庫GaussDB——2020年6月開源
    簡介華為GaussDB是一個企業級AI-Native分布式資料庫。華為GaussDB將AI能力植入到資料庫內核的架構和算法中,為用戶提供更高性能、更高可用、更多算力支持的分布式資料庫。特點高可靠全組件HA,無單點故障。
  • 陝科大1年全球上升277位,2個學科進入ESI全球排名前1%
    據美國ESI(Essential Science Indicators,基本科學指標資料庫)資料庫2019年9月11日發布的最新數據顯示,陝西科技大學化學(Chemistry)學科進入ESI全球排名前1%。
  • 2021QS世界大學排名新出爐【中文版】跟蹤四年TOP200,必看!
    圖 | topuniversities2020年6月,英國高等教育資訊與分析數據提供商QS發布了新一屆《2021年度
  • 2017年排名Top 100的Java類庫——在分析了259,885份源碼之後得出的結論
    該服務讓開發者可以使用Google的架構來運行SQL語句對超級大的資料庫進行操作。BigQuery 可在幾秒內掃描 1 TB 的數據,在幾分鐘內掃描 1 PB 的數據。首先,我們按照star數排名,從GitHub上拉取了前1000份Java代碼倉庫,然後過濾掉Android項目,剩下477個純Java項目。我們基於這477個純Java項目進行了分析。
  • 新晉基本科學指標資料庫顯示:蘭州理工大學化學學科全球排名前1%
    7 月 10 日,記者蘭州理工大學獲悉,根據科睿唯安基本科學指標資料庫(ESI)最新數據顯示,蘭州理工大學化學學科新晉 ESI 全球排名前 1%。這是繼 2016 年 7 月該校工程學,2017 年 3 月材料學進入 ESI 全球排名前 1% 之後,第三個進入國際高水平行列的學科。至此,蘭州理工大學共有 3 個學科進入 ESI 全球排名前 1%,是省屬高校之最。
  • 海南醫學院「臨床醫學」進入《基本科學指標資料庫》全球排名前1%
    海南醫學院學科建設  實現重大突破  「臨床醫學」進入《基本科學指標資料庫》全球排名前1%  海南日報海口1月26日訊 (記者陳蔚林 通訊員王身堅 楊娟)根據《基本科學指標資料庫》日前公布的最新數據顯示,海南醫學院「臨床醫學」學科首次進入該資料庫全球排名前1%行列,實現了我省在這一方面零的突破
  • MongoDB入門篇 · 資料庫管理系統和NoSQL
    通常資料庫管理師會使用資料庫管理系統來創建資料庫系統。現代DBMS使用不同的資料庫模型追蹤實體、屬性和關係。在個人電腦、大型計算機和主機上應用最廣泛的資料庫管理系統是關係型DBMS(relational DBMS)。在關係型數據模型中,用二維表格表示資料庫中的數據。這些表格稱為關係。資料庫管理系統主要分為倆大類:RDBMS、NOSQL1.3 常見資料庫管理系統?
  • 全球銀行國際化排名出爐,中國銀行入選TOP20
    10月25日,《2019全球銀行國際化報告》(以下簡稱「《報告》」)發布,根據《報告》,目前中資銀行國際化水平總體偏低,BII(銀行國際化指數)均值不足全球性銀行BII均值的三分之一,但其穩步增長態勢鮮明。其中,中國銀行是唯一進入TOP20的發展中國家銀行。
  • 2017年世界大學學術全球20強排行榜
    8月15日,上海軟科正式發布了2017年世界大學學術排名。世界大學學術排名排行榜共計500所大學,其中中國內地共有45所大學上榜。值得一提的是清華大學今年首次進入世界前50。2017世界大學學術排名顯示:在全球前20強中,美國共有15所大學上榜,保持全球上榜學校數量最多地位,英國有4所大學上榜,瑞士1所。哈佛大學學術排名穩居榜首,這也是哈佛大學連續第15年蟬聯全球第一。史丹福大學排世界第二。劍橋大學今年排名有所上升,從2016年的第四名上升至全球第三名。麻省理工學院從第五名上升至第四名。
  • 選庫命令(db/patent)與 (db/all) 的區別
    為了方便大家一次檢索出所有除去非專利文獻和專利翻譯文本的專利文獻,我們特別為大家提供一個資料庫選庫命令(db/patent),幫助大家在檢索時減少繁瑣的選庫流程。大家知道在patentics中選庫欄位為db/,在db/後面添加各資料庫代碼即選擇在某種資料庫中進行數據檢索。例如db/cn表示選擇在中國庫(包括中國發明實用庫(發明申請與實用新型)、中國發明授權庫和中國外觀庫)中進行檢索。