一網打盡18種主流數據庫:12種SQL+6種NoSQL

摘要:雲蓬勃發展之後,雲數據庫也呈現雨後春筍之勢。本文分析了18種數據庫,12種SQL和6種NoSQL的可用性以及應用方向,幫助用戶分析哪些更符合企業發展需要。注意,這裏說的管理數據庫服務,不是仍然需要用戶管理和實施的數據庫實例。所以更多是作爲雲數據庫服務而出現。

還記得兩三年前僅有幾家雲計算平臺供應商可供選擇的時候,似乎市場上也沒有多少雲數據庫。但是雲蓬勃發展之後,雲數據庫也呈現雨後春筍之勢。而哪些是真正可靠而易用的,對用戶而言,並不好分析。所以,本文分析了18種數據庫的可用性以及應用方向(注意,這裏說的管理數據庫服務,不是仍然需要用戶管理和實施的數據庫實例)。仍有不足之處,希望聽到大家更多的評論。

SQL services

1.Amazon Relational Database Service(RDS)

AWS的RDS是第一個雲數據庫服務,也是目前最完整的數據庫服務。如同AWS的大部分服務一樣,其作爲AWS的管理接口,可以兼容大部分AWS所提供的其他雲計算服務。其最初僅是爲了AWS自身掌握和管理MySQL服務而存在,而現在RDS還支持Microsoft SQL Server或Oracle Database。這一消息在2012年5月由AWS博客發佈,當時稱Microsoft SQL Server將成爲RDS的一部分。當然,業內分析者認爲這是亞馬遜爲了避免用戶認爲“被迫綁定”而做出的妥協與讓步。用戶可以運行裝載在Amazon EC2上的Windows SQL Server實例,但是這些操作需要DBA經驗以及對工作負荷管理有清晰認識。而RDS則提供了更易實現的管理數據庫服務。

2.Clustrix Database as a Service

不久前,數據庫廠商Clustrix剛加入雲,但其在雲計算方面早有積累。其服務,可以運行在Rackspace Cloud,爲用戶提供高性能的固態硬盤,可靠的single-tenant部署,以及彈性MySQL(旗艦版)。Clustrix稱其適合在OLTP(聯機事務處理)和OLAP(聯機分析處理)的應用,並可以利用2500個以上的指標來監測系統。

3.EnterpriseDB Postgres Plus Cloud Database

EnterpriseDB是商業化Post greSQL數據庫,由Postgres Plus提供的基於雲的旗艦版產品。其目標是企業開發商,Postgres Plus Cloud包含高可用羣集、高連接數和與Oracle的高兼容性。

4.FathomDB

有些讀者對FathomDB的印象還停留在作爲Rackspace的合作伙伴,FathomDB與AWS當時新的RDS相競爭。但現在,FathomDB仍然存在,但卻是作爲開源其原有技術以幫助開發者建立任何服務而不僅侷限在託管數據庫服務方面。據悉,該公司正在開發下一代數據庫服務,持續關注。

5.Google Cloud SQL

Google Cloud SQL不是最豐富的數據庫,但是也有其獨到之處。首先,其與谷歌其他雲服務能夠集成,並實現輕鬆互動;其次,憑藉谷歌在雲計算的名氣,Cloud SQL很容易在區域中複製,效用最大。雖然目前其僅支持Java和Python的開發應用,且實例受限於10GB存儲容量。

6.Heroku Postgres

Heroku Postgres是PaaS平臺——Heroku的內部PostgresSQL數據庫。其設計是爲了可靠性而後數據保護(Heroku聲稱可以達到99.99%的正常運行時間,並準備實現99.9999999999%(小數點後還有9個9,數據持久性),且不需要通過PaaS平臺,將經驗傳遞給開發者。Heroku Postgres還有一個有趣的功能——數據夾。其允許用戶通過URL將一個SQL查詢結果發送給其他人。

7.HP Cloud Relational Database for MySQL

顯然,這個名字還沒有準備好。因爲其仍處於內測階段,還有很多工作要做,很多功能需要添加。作爲構建在OpenStack上的一個MySQL分佈,理論上看,將一個數據庫業務一朵雲移到另一朵上更爲容易。

8.IBM SmartCloud Application Services

如同HP的雲數據庫一樣,IBM的雲數據庫也在建設中。詳細的具體特點還比較少。但是相比其他,IBM SmartCloud Application Services是建立在IBM DB2的基礎上,作爲IBM PaaS平臺——SmartCloud Application Service的一部分來提供,目前也在測試階段。

9.Microsoft SQL Database

其前身是SQL Azure,在微軟新的重點策略——混合雲中,SQL Database是一個關鍵關鍵組成部分。其既可以作爲一個獨立的雲數據庫使用,也可以提供Microsoft SQL Server的用戶共同體驗,以及允許在本地服務器數據庫上的數據共享。SQL Database還提供了一種選擇,使得在同一公司基礎設施架構中,與其他數據庫部署同步。

10.Oracle Database Cloud Service

並非適合每個人,但是對於現有的使用Oracle數據庫的用而言,如果想要選擇雲主機就要感謝Oracle Database Cloud Service的存在了。畢竟,聲稱其所有功能和性能都與Oracle Database 11g Release 2相當。不過其定價並不明確,每月付費金額是基於數據庫大小的,而長期合同則估計要單獨確定。

11.Rackspace Cloud Databases

Cloud Databases是Rackspace最新增加的在線數據庫服務,一開始就建立在OpenStack平臺上。在早期接入方式上,用戶很難使用SLAs或雲主機相關功能(如監測、備份或圖形用戶界面)。但受益於基於虛擬化和存儲區域網絡體系架構,這些用戶得到了高性能和可靠性的的服務承諾。

12.Xeround

服務於亞馬遜RDS,Xeround可能是市場上最受歡迎的雲數據庫之一。其也是最靈活的雲數據庫,基於MySQL的服務可以部署在任何公有云拼圖,比如AWS,Rackspace,Joyent,Heroku等。Xeround聲稱自動縮放是其主要的一個優勢,基於MySQL前端架構設計使得其理論上可以支持多種數據庫選項,較爲獨特。

NoSQL services

1.Amazon DynamoDB

DynamoDB是亞馬遜今年2月發佈的NoSQL產品,其本身基於原始的Dynamo kay-value,最初是爲了滿足公司內部需求。具體看,就是設計網頁或大數據應用時滿足快速訪問數據和及時實現部署的彈性收放。DynamoDB建立在SSD結構上,並自動實現數據添加功能。據悉,DynamoDB是一個共享型的數據庫雲服務。所謂共享型的數據庫雲服務,是指一臺機器上的CPU、內存及磁盤資源會給多用戶使用。按照AWS CTO Werner Vogels的說法:“DynamoDB是一個性能好、可靠高且具有可擴展性的NoSQL雲數據庫服務,DynamoDB集15年分佈式非關係性數據庫開發之精粹,又通過內部使用考驗,是AWS團隊精心打造的產品。”事實上,在AWS首頁的Database列表中,只能看到RDS和DynamoDB,顯然DynamoDB已經替換了SimpleDB原來在這個列表中的位置。詳細對比可見《程序員文章》解析DynamoDB 

2.Amazon ElastiCache

Amazon ElastiCache不是技術上的NoSQL服務,但是其完全可以實現爲開發者提供類似Memcached管理服務,以確保用戶可以在MySQL部署儘可能快地使用數據。Memcached已被諸多網絡所應用,包括Facebook。據瞭解,Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護進程通信。

3.Cloudant

雖然Cloudant基於開源的CouchDB架構的數據庫平臺,但其自己認爲自己並非是NoSQL服務,而僅是一個數據層。其通過收集全球各地的雲供應商的資源來提供可預見的擴展性NoSQL存儲,並內置了MapReduce analytics engine。這也是農業企業巨頭——Monsanto採用Cloudant來支持其基因架構的一個原因。

從應用來看,Cloudant的數據存儲方案更加適合分佈式產生的數據,比如傳感網、web服務器、移動設備服務等等。

4.Database.com

作爲Salesforce.com的獨立數據庫服務,Database.com不是NoSQL,也不是SQL。可以確定的是,多租戶數據庫架構也是爲Salesforce.com的CRM和Force.com平臺而服務的。其存儲的數據類型非常多,包含非結構數據,專爲但不僅侷限於爲Salesforce.com服務。

5.Microsoft Windows Azure Table Storage

這是專爲Windows Azure而存在的NoSQL數據存儲,其目的是爲了方便查詢數百萬TB非關係型數據。因爲其是 Windows Azure Storage的一部分,平均每個賬戶總數據庫最大不超過100TB(Blob,Table和Queue storage)。

6.MongoHQ/MongoLab

MongoDB是迄今爲止最流行的NoSQL數據庫,其可以承擔起管理雲的重任。因此,圍繞在MongoDB周圍有很多服務,其中MongoHQ/MongoLab是最廣爲人知的。其應用場景很簡單:快速部署、全面監測與實現高可靠性。二者都是通過提供共享和專用產品的方式來吸引更多用戶。

顯然,作者Derrick Harris 沒有花費筆墨來描述Oracle、SQLServer、Symfoware、DB2、Sybase等更多耳熟能詳的數據庫,但作爲目前市場主流的這18種創新數據庫,與雲計算的關係無疑更爲緊密。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章