一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

全面!2016全球最強數(shù)據(jù)庫大盤點

 牽牛360 2017-01-11

【數(shù)據(jù)庫排名年度盤點】

說到盤點,首先肯定得看看DB-Engines的全球數(shù)據(jù)庫排名。下表是2017年1月份前20名數(shù)據(jù)庫引擎最新排名。

全面!2016全球最強數(shù)據(jù)庫大盤點

DB-Engines 2017-01數(shù)據(jù)庫前20名列表

DB-Engines這個排名在業(yè)界引用得非常多,權威性也很高,總體來說比較客觀,它不像很多咨詢機構采用市場調(diào)查,或者某個數(shù)據(jù)庫廠商發(fā)布的數(shù)據(jù),而是通過以下6個方面的統(tǒng)計數(shù)據(jù)來綜合評估各個數(shù)據(jù)庫產(chǎn)品得分并給出綜合排名:

1) 數(shù)據(jù)庫相關網(wǎng)站數(shù)量(當前通過google、bing、yandex搜索引擎統(tǒng)計)

2) 公眾關注度(通過Google trends計算)

3) 技術討論活躍度(通過Stack Overflow、DBA Stack Exchange問答及用戶統(tǒng)計)

4) 招聘職位(通過Indeed、Simply Hired統(tǒng)計)

5) 專業(yè)檔案(通過LinkedIn、Upwork統(tǒng)計)

6) 社交網(wǎng)絡信息(通過Twitter統(tǒng)計)

DB-Engines這個方法我認為比較科學,我個人也比較喜歡用這種方式來快速分析事物活躍情況與趨勢。當然,這個排名只是反應全球流行程度,不能反應出產(chǎn)品營收情況,也不代表國內(nèi)流行度排名。

下圖上各數(shù)據(jù)庫產(chǎn)品的競爭關系及客戶流向示意圖:

全面!2016全球最強數(shù)據(jù)庫大盤點

各數(shù)據(jù)庫產(chǎn)品的競爭關系及客戶流向示意圖

從排名來看Oracle、MySQL、SQL Server三大數(shù)據(jù)庫產(chǎn)品是絕對遙遙領先,呈三足鼎立局面。

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

DB2曾經(jīng)是數(shù)據(jù)庫的領導者,但近幾年發(fā)展乏力,在持續(xù)下滑,特別是互聯(lián)網(wǎng)行業(yè)及中小企業(yè)IT里基本沒有DB2的身影,在金融等領域也受到非常大的挑戰(zhàn),估計明年老六的位置也危險。

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

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

全面!2016全球最強數(shù)據(jù)庫大盤點

2013年以來幾大主流數(shù)據(jù)庫排名變化整體趨勢

上圖是2013年以來幾大主流數(shù)據(jù)庫排名變化整體趨勢。

全面!2016全球最強數(shù)據(jù)庫大盤點

2013年以來開源數(shù)據(jù)庫與商業(yè)數(shù)據(jù)庫的發(fā)展趨勢分析

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

全面!2016全球最強數(shù)據(jù)庫大盤點

各種數(shù)據(jù)庫類型市場百分比

NoSQL發(fā)展一直很快,幾年前有些人會說NoSQL要代替關系型數(shù)據(jù)庫,但最近大家都開始冷靜一點了,從上圖可以看出,NoSQL雖然發(fā)展很好,但是目前RDBMS仍是占據(jù)了80%的活躍度,處于統(tǒng)治地位。


【2016十大數(shù)據(jù)庫點評】

一、Oracle(老大,最掙錢的數(shù)據(jù)庫)

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

全面!2016全球最強數(shù)據(jù)庫大盤點

Oracle12c

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

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可以將數(shù)據(jù)放在完全不同的主機,屬于share nothing的架構,可以說這個特性是專門為那邊業(yè)務非常大的OLTP系統(tǒng)準備的,相當于內(nèi)置實現(xiàn)了自動分庫分表管理功能。

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

全面!2016全球最強數(shù)據(jù)庫大盤點

二、MySQL(最流行的開源數(shù)據(jù)庫)

MySQL在2016年是最大贏家,市場占有率不斷攀升,很大一部份原因是互聯(lián)網(wǎng)行業(yè)快速發(fā)展,因為開源免費易用,MySQL成為互聯(lián)網(wǎng)公司最受歡迎的數(shù)據(jù)庫。MySQL最新穩(wěn)定版本是5.7.17 GA。

全面!2016全球最強數(shù)據(jù)庫大盤點

MySQL5.7

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

2016年MySQL5.7也發(fā)布了Group Replication特性,應用于要求強高可用的場景,這個特性讓MySQL開始有基礎與現(xiàn)代新的分布式數(shù)據(jù)庫去競爭,目前只是剛推出,估計離能生產(chǎn)使用還有差距。

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

全面!2016全球最強數(shù)據(jù)庫大盤點

MySQL 8.0 DMR

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

1) 支持role

2) 數(shù)據(jù)字典存儲由myisam引擎變?yōu)閕nnodb

3) 支持 invisible indexes,這個對DBA索引調(diào)優(yōu)比較有幫助

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

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

6) 支持SET參數(shù)持久化保存

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

三、SQLServer(Windows上最好的數(shù)據(jù)庫)

全面!2016全球最強數(shù)據(jù)庫大盤點

SQLServer2016

SQL Server一直不被很多人看重,認為數(shù)據(jù)庫就是Oracle與MySQL的天下,但是實際上SQLServer的用戶非常多,SQLServer發(fā)展非常迅猛,微軟也網(wǎng)羅了大量數(shù)據(jù)庫的頂級人才。今年微軟正式發(fā)布了SQL Server 2016及SP1??梢哉f有很多亮眼的功能,也能看到SQLServer有自己獨特的數(shù)據(jù)庫發(fā)展規(guī)劃。列幾個SQLServer2016的重磅特性:

1) PolyBase

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

2) 全程加密

支持在SQL Server中保持數(shù)據(jù)加密,只有調(diào)用SQL Server的應用才能訪問加密數(shù)據(jù)。使用該功能,你可以避免數(shù)據(jù)庫或者操作系統(tǒng)管理員接觸客戶應用程序敏感數(shù)據(jù)(包括靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù))。該功能現(xiàn)在支持敏感數(shù)據(jù)存儲在云端管理數(shù)據(jù)庫中,并且永遠保持加密。即便是云供應商也看不到數(shù)據(jù)。

3) 動態(tài)數(shù)據(jù)屏蔽

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

4) Stretch Database

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

5) 支持JSON

6) 支持R語言做數(shù)據(jù)分析

全面!2016全球最強數(shù)據(jù)庫大盤點

SQLServer for Linux

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

四、PostgreSQL(功能最強大的開源數(shù)據(jù)庫)

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

全面!2016全球最強數(shù)據(jù)庫大盤點

PostgreSQL

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

1) Parallel execution of sequential scans, joins and aggregates

單條SQL支持并行訪問可以說是非常有挑戰(zhàn)的功能,這個功能曾經(jīng)也是商業(yè)數(shù)據(jù)庫與開源數(shù)據(jù)庫的重大區(qū)別,因為Oracle、SQLServer、DB2都支持單SQL并行計算,但是開源數(shù)據(jù)庫基本不支持,PostgreSQL9.6是第一個支持的開源數(shù)據(jù)庫。

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的鏈接服務器概念,也是一個非常實用的組件,可以非常方便的訪問遠程數(shù)據(jù)庫,還可以訪問遠程非PostgreSQL數(shù)據(jù)庫,這對于一些數(shù)據(jù)遷移與異構關聯(lián)計算非常有價值。

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

五、MongoDB(最好的文檔型數(shù)據(jù)庫)

MongoDB是文檔型數(shù)據(jù)庫,NoSQL領域的領導者之一,也可以說是當前最成功的NoSQL數(shù)據(jù)庫。能在眾多NoSQL中脫穎而出,說明MongoDB一定有不少過人之處 ,我也一直非??春?,因為MongoDB的出現(xiàn)很好的彌補了關系型數(shù)據(jù)庫的很多問題,比如支持Schema Free,在關系型數(shù)據(jù)庫沒有支持JSON之前,就是一個典型的難題,曾經(jīng)有很多開發(fā)同學向我咨詢對于一個動態(tài)屬性的表該如何設計表結(jié)構,比如商品的屬性、游戲裝備屬性等等?說實話,當時關系型數(shù)據(jù)庫除了預留字段、行轉(zhuǎn)列模式、大字段文本幾種方案外,沒有什么好的解決方案。MongoDB可以說在這方面非常擅長,因為它的數(shù)據(jù)交互及存儲都采用類似JSON格式,非常靈活,并且可以對JSON數(shù)據(jù)創(chuàng)建非常靈活的索引,如子屬性、數(shù)組都能支持索引。新關系型數(shù)據(jù)庫雖然也支持JSON格式,但是與MongoDB還是有較大的差距。

全面!2016全球最強數(shù)據(jù)庫大盤點

NodeJS+MongoDB

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

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

全面!2016全球最強數(shù)據(jù)庫大盤點

Mongo Query Language and SQL

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

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

全面!2016全球最強數(shù)據(jù)庫大盤點

MongoDB3.4

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

1) 支持View

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

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

4) 集群管理與日志復制方面也有了進一步增強

Mongo 公司也推出了自己的數(shù)據(jù)庫云服務,MongoDB Atlas,支持AWS上部署,我認為這也是更好的一種云計算服務模式。

六、Redis(最好的緩存數(shù)據(jù)庫)

全面!2016全球最強數(shù)據(jù)庫大盤點

Redis

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

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

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

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

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

全面!2016全球最強數(shù)據(jù)庫大盤點

Elasticsearch

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

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

八、Neo4j(最好的圖數(shù)據(jù)庫)

圖數(shù)據(jù)庫一直是NoSQL領域非常重要的分支,Neo4j可以說是圖數(shù)據(jù)庫的絕對領導者,雖然這個名字很土(很容易聯(lián)想到log4j、dom4j這些通用java組件)

全面!2016全球最強數(shù)據(jù)庫大盤點

neo4j

圖數(shù)據(jù)庫雖然現(xiàn)在流行度并不算太高,主要原因是目前大部份問題可以采用關系型數(shù)據(jù)庫或大數(shù)據(jù)方案解決,圖數(shù)據(jù)庫更擅長描述基于關聯(lián)關系的場景應用,可以用來解決一些特殊的場景,如人員關聯(lián)關系、事務關聯(lián)關系等等,比如社交關系計算、物流路徑計算等等。但是由于圖數(shù)據(jù)庫整個理論不像關系型數(shù)據(jù)庫那么扎實,大家也沒有總結(jié)出太多的實踐經(jīng)驗,再加上性能與擴展性上并不是很突出,所以影響力還不大。

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

1. 總共保存了多少件衣服

2. 紅色的汽車有哪些

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

1. 找出所有是長方型白色的東西

2. 找出附近有寶馬汽車的朋友或(朋友的朋友)照片

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

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

Neo4j提供了類似SQL的圖查詢語言Cypher,Cypher語言的描述能力非常強大,甚至已經(jīng)成為圖查詢語言的通用標準。一個簡單的圖數(shù)據(jù)庫Cypher查詢語言如下:

全面!2016全球最強數(shù)據(jù)庫大盤點

Cypher

下圖是Neo4j官網(wǎng)列出的典型客戶:

全面!2016全球最強數(shù)據(jù)庫大盤點

Neo4j典型客戶

九、Cassandra(最好的列式數(shù)據(jù)庫)

全面!2016全球最強數(shù)據(jù)庫大盤點

cassandra

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

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

十、SQLite(最流行的嵌入式數(shù)據(jù)庫)

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

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

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

OceanBase(最有潛力的分布式關系型數(shù)據(jù)庫)

全面!2016全球最強數(shù)據(jù)庫大盤點

云數(shù)據(jù)庫OceanBase

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

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

OceanBase有超過6年的研發(fā)歷史,在國產(chǎn)數(shù)據(jù)庫中,OceanBase在功能方面并不算最強大,但是發(fā)展非???,2015年底正式發(fā)布了OceanBase 1.0。另外,存儲過程這些更復雜的特性也在研發(fā)中。OceanBase已經(jīng)是支付寶、網(wǎng)商銀行最核心的數(shù)據(jù)庫,承載了支付寶雙十一所有交易服務。OceanBase天生就有阿里巴巴集團應用場景錘煉,特別是支付寶、網(wǎng)商銀行這種支付與銀行領域,并且數(shù)據(jù)庫技術也是阿里非??粗氐暮诵母偁幜?,所以起點非常高,并且OceanBase已經(jīng)通過阿里云對外輸出,希望未來能成為世界頂級數(shù)據(jù)庫引擎。下圖是2016年阿里巴巴集團CEO逍遙子在互聯(lián)網(wǎng)大會介紹OceanBase:

全面!2016全球最強數(shù)據(jù)庫大盤點

阿里巴巴集團CEO在互聯(lián)網(wǎng)大會介紹OceanBase

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


【全球云數(shù)據(jù)庫服務大比拼】

數(shù)據(jù)庫服務一直是云計算廠商非常核心的競爭力,從目前公有云市場來看,AWS、Azure、阿里云這三家廠商是排在前面,并且各有特色,下表是幾大廠商提供的數(shù)據(jù)庫服務產(chǎn)品對比:

全面!2016全球最強數(shù)據(jù)庫大盤點

3A(AWS、Azure、阿里云)數(shù)據(jù)庫服務

AWS

AWS可以說是產(chǎn)品非常全,并且客戶體量非常大,產(chǎn)品的成熟度也非常高。

全面!2016全球最強數(shù)據(jù)庫大盤點

AWS Database Service

2016年主要是發(fā)布了SnowBall數(shù)據(jù)遷移系列產(chǎn)品,可以幫助用戶快速遷移PB級的數(shù)據(jù)量到云上。

下圖是AWS最新發(fā)布的Snowmobile,可以用卡車來完成上百PB的數(shù)據(jù)遷移,比傳輸網(wǎng)絡傳輸快50倍。

全面!2016全球最強數(shù)據(jù)庫大盤點

Snowmobile

Azure

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

全面!2016全球最強數(shù)據(jù)庫大盤點

Azure Database Service

阿里云

阿里云近兩年快速發(fā)力,兩年前只有MySQL與SQLServer兩個引擎,發(fā)展到現(xiàn)在的十幾種,如PostgreSQL、MongoDB、Redis、DRDS、ADS(分析型數(shù)據(jù)庫服務)、Greenplum等等,豐富的數(shù)據(jù)庫引擎也是阿里云的核心競爭力之一。在國內(nèi),阿里云的性價比也最有優(yōu)勢。

全面!2016全球最強數(shù)據(jù)庫大盤點

阿里云數(shù)據(jù)庫服務

除了支持豐富的數(shù)據(jù)庫引擎外,2016年阿里云也正式發(fā)布數(shù)據(jù)傳輸與數(shù)據(jù)管理兩個數(shù)據(jù)庫服務類的產(chǎn)品。

全面!2016全球最強數(shù)據(jù)庫大盤點

數(shù)據(jù)傳輸

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

全面!2016全球最強數(shù)據(jù)庫大盤點

數(shù)據(jù)管理

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


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

一家是Oracle

Oracle可以說在云計算方面起步較晚, 市場份額還比較低, 但是Oracle的產(chǎn)品線是全宇宙最全的,從IaaS、PaaS、DaaS、SaaS全都覆蓋,自家做數(shù)據(jù)庫、OS、CPU、服務器,還有最全的SaaS類軟件。Oracle在數(shù)據(jù)庫云服務主要銷售Oracle、MySQL數(shù)據(jù)庫及Hadoop大數(shù)據(jù)服務。AWS這種云計算服務對于傳統(tǒng)基礎IT公司沖擊特別大,特別是IaaS及DaaS方面,現(xiàn)在Microsoft、Oracle、IBM都在痛苦的轉(zhuǎn)型,各自都在結(jié)合自己的優(yōu)勢突圍。云計算給惠普、DELL、EMC這種偏硬件的企業(yè)壓力更大。

另一家是Google

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

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

全面!2016全球最強數(shù)據(jù)庫大盤點

國內(nèi)其他云廠商也提供了數(shù)據(jù)庫服務,包括騰訊云、百度云、華為云,但是產(chǎn)品線及成熟度還有待提升,這里就不詳細說了。


【數(shù)據(jù)庫2017年展望】

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

1) MySQL超越Oracle成為流行度第一的產(chǎn)品

2) RDBMS、NoSQL、大數(shù)據(jù)繼續(xù)互相學習,RDBMS地位仍然穩(wěn)固

3) 圖數(shù)據(jù)庫開始發(fā)力

4) 機器學習應用于數(shù)據(jù)庫領域

5) 數(shù)據(jù)庫云服務競爭激烈,混合云解決方案會是重要戰(zhàn)場

6) 國產(chǎn)分布式數(shù)據(jù)庫OceanBase加入市場競爭


作者簡介

葉正盛,花名斗佛,關注產(chǎn)品設計、數(shù)據(jù)庫與云計算領域,阿里巴巴集團數(shù)據(jù)庫技術核心成員,數(shù)據(jù)產(chǎn)品技術總監(jiān)、資深技術專家。十八年軟件設計與研發(fā)實踐,現(xiàn)主要負責阿里巴巴集團數(shù)據(jù)產(chǎn)品以及云數(shù)據(jù)庫服務產(chǎn)品設計與研發(fā)工作,向阿里云業(yè)務輸出DMS, DTS, OCP等產(chǎn)品。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    色狠狠一区二区三区香蕉蜜桃| 亚洲精品国产福利在线| 日韩精品一区二区三区含羞含羞草| 欧美精品亚洲精品日韩精品| 亚洲熟妇熟女久久精品| 日本久久精品在线观看| 亚洲精品有码中文字幕在线观看| 一区二区不卡免费观看免费| 欧美一区二区不卡专区| 成人国产激情福利久久| 亚洲一区二区三区一区| 欧美一级内射一色桃子| 亚洲第一视频少妇人妻系列| 国产欧美一区二区另类精品| 亚洲伦理中文字幕在线观看| 黑人巨大精品欧美一区二区区 | 日本午夜乱色视频在线观看| 久久热这里只有精品视频| 亚洲国产成人久久一区二区三区| 少妇丰满a一区二区三区| 国产中文字幕一区二区| 最近最新中文字幕免费| 色婷婷视频国产一区视频| 久久国产成人精品国产成人亚洲| 国产女同精品一区二区| 五月婷婷六月丁香亚洲| 女生更色还是男生更色| 国产精品欧美在线观看| 欧美黄色黑人一区二区| 成人午夜免费观看视频| 黄色在线免费高清观看| 欧美成人欧美一级乱黄| 久久精品久久精品中文字幕| 一个人的久久精彩视频| 国产一级内射麻豆91| 中文字幕人妻日本一区二区| 日本av一区二区不卡| 欧美一区二区三区视频区| 免费在线成人激情视频| 国产麻豆成人精品区在线观看 | 午夜福利网午夜福利网|