18種主流數據庫:12種SQL+6種NoSQL

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

          1.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則提供了更易實現的管理數據庫服務。 web

          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的一部分來提供,目前也在測試階段。 memcached

       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、DB二、Sybase等更多耳熟能詳的數據庫,但做爲目前市場主流的這18種創新數據庫,與雲計算的關係無疑更爲緊密。

相關文章
相關標籤/搜索