云數據庫選擇眾多 企業(yè)怎么挑
作者:佚名
開發(fā)者和應用設計者對于在云端部署數據庫有眾多選擇,很難做出最佳的選擇判斷。本文中我們將分析不同的應用該如何選擇云數據庫以及SQL數據庫和NoSQL數據庫的利弊。
開發(fā)者和應用設計者對于在云端部署數據庫有眾多選擇,很難做出最佳的選擇判斷。將數據庫服務器在IaaS云上運行好嗎?或者應該轉換成PaaS選擇?數據庫即服務的選擇可能聽起來很誘人,比如Cloudant的NoSQL但是怎么權衡?
為所有的選擇列一個提綱有助于這項工作開始,但是不管選擇了哪一種云數據庫,都需要衡量多種因素,包括成本、可用性、可擴展性以及性能支持。
當前的代碼可能很難對接到平臺即服務(PaaS)數據庫選擇;甚至是關系型數據庫都無法完全兼容,比如微軟SQL Server和Windows Azure SQL數據庫。比如SQL Server中,SQL數據庫不支持自定義文本操作。
因此,如果當前的應用使用MySQL、Oracle、SQL Server、PostgreSQL或者其他常用的關系型數據庫管理系統(tǒng),構建在三層架構上,可以將數據庫服務器轉移到基礎架構即服務(IaaS)云上。在這種選擇下,可以保持配置和管理控制,但是也要持續(xù)承擔備份、監(jiān)控和按需擴展(或收縮)的責任。
相反,如果開始一項新的開發(fā)或者重新設計一個當前的數據庫層,隨后PaaS或者數據庫即服務(DBaaS)可能會更好的適應需求。要盡早確定是使用SQL還是NoSQL架構。
SQL和NoSQL利弊分析
SQL和NoSQL都有優(yōu)缺點,但是有些最為重要的因素則是你的團隊開發(fā)每一種類型數據庫的技能水平,以及每一種數據庫類型怎樣更好的適應你的需求。擅長技術類型的優(yōu)勢在于你的開發(fā)者不會被較長的學習曲線嚇到。不要過分強調不需要的功能,即便市場上營銷它比其他的數據庫得到了更多的支持者。比如,分布式事務兩階段提交對于一些應用很重要,但是你真的需要嗎?
基于SQL的關系型數據庫平臺可以選擇PaaS,比如亞馬遜關系型數據庫服務(RDS)和Windows Azure SQL數據庫。亞馬遜RDS支持MySQL、Oracle和微軟SQL Server數據庫。在優(yōu)化數據庫性能時磁盤I/O是重點,因此在對接PaaS或者DBaaS數據庫開發(fā)時,考慮一下存儲的選擇。
亞馬遜Web服務(AWS)允許客戶提供RDS實例,不管是標準的存儲還是預分配的IOPS。后者對于事務處理應用是個不錯的選擇。如果你可以忍受I/O性能,標準存儲可以節(jié)省AWS費用。客戶可以按照1000—30000 IOPS的范圍,每月價格為10美分/IOPS。
谷歌云SQL是一個基于云的MySQL實現(xiàn),針對中小型應用。整合了谷歌App Engine,對于已經使用PaaS的開發(fā)者十分適用。不管是打包計劃還是每個用例的計劃付費都是可行的。
當成本和快速擴展成為問題所在,NoSQL選擇可能更適合。NoSQL數據庫并不具備我們構建面向事務的系統(tǒng)所依賴的所有性能,但是很適合Web和移動應用,這些應用要求快速擴展。AWS和微軟都有NoSQL數據庫服務。
亞馬遜DynamoDB是一個托管的NoSQL數據庫??蛻魧ψx寫分配容量,基于此支付每小時的費用。AWS根據“讀容量單元”和“寫容量單元”衡量容量。
亞馬遜SimpleDB是另一個NoSQL選擇。其首要優(yōu)勢在于成本低。SimpleDB對于小型應用是個不錯的選擇,這種應用可以接受更低的性能。對于大量數據則需要分區(qū)和自動擴展,從而處理負載,DynamoDB可能更適合。
微軟的NoSQL產品稱之為Table Storage,類似亞馬遜DynamoDB,是一種鍵值對數據存儲。這些數據庫都是支持大量數據的應用的有利候選,簡化了數據類型的關系,可以不用修復預定義模式就獲益。Table Storage的價格基于數據量和冗余水平。
除了IaaS廠商之外,比如微軟、谷歌、亞馬遜,你還可以選擇特定的數據庫服務,比如Cloudant的數據庫即服務。Cloudant提供多租戶和專用MongoDB數據庫服務,價格起始于每月每GB1美分,加上額外的HTTP請求費用(如GET、PUT、POST和DELETE)。
責任編輯:鳶瑋
來源:
TechTarget中國