複製鏈接
請複製以下鏈接發送給好友

數據庫即服務

鎖定
數據庫即服務(Database as a Service; DaaS)是以傳統數據庫技術為基礎,將數據庫資源以標準服務的形式提供給一個或多個租户的服務能力。數據庫即服務平台為用户提供一個統一的數據庫訪問服務,它屏蔽了底層的異構數據庫,為上層應用提供了簡單方便的數據庫訪問接口,將應用和數據庫隔離開來,降低了耦合性,增強了系統的靈活性和健壯性,為增強數據訪問控制提供了可能。
中文名
數據庫即服務
外文名
Database as a Service
學    科
計算機科學
特    點
增強了系統的靈活性和健壯性
目    的
降低成本
要    求
數據隔離、性能隔離

數據庫即服務簡介

雲計算為代表的新型互聯網計算模式正成為當前企業界和學術界的研究熱點。雲計算的一個特徵就是通過基於互聯網的服務和“託管”及“租用”的模式為各類用户提供IT基礎設施能力。隨着雲計算的發展,其應用範圍得到進一步的擴展,人們開始嘗試利用雲計算技術來提供數據應用託管服務,特別是大量的行業數據應用,即數據庫即服務(Database as a Service,DBaaS),以降低數據應用系統部署及運維的成本。DBaaS平台使用多租户實例隔離和資源池化的技術手段,對用户和真實硬件資源的使用情況進行隔離;這樣不僅能更好地利用底層的硬件資源,也使得用户更關注數據業務本身。混合、異構數據庫即服務平台在原有數據庫即服務平台的基礎上優化了異構特性支撐能力和跨數據中心異構支撐能力。當然,一個完善的 DBaaS架構還應具有較為完備的安全機制、自動資源管理和綜合性能規劃等功能,並且能夠適配各種不同的接入設備,DBaaS所具備的很多特性也是傳統數據庫服務架構自身已具備的,所以DBaaS 是對數據庫功能的封裝和創新,DBaaS不能脱離傳統數據庫技術而獨立存在 [1] 

數據庫即服務數據庫即服務的優劣勢

DBaaS的優勢
DBaaS解決方案既可以解決這些問題,又能為客户節約資金。相反作為解決方案提供商,採用DBaaS模式似乎就並不那麼有吸引力了,因為與企業內部署軟件的解決方案相比,DBaaS意味着更低的利潤。但DBaaS系統其實具有更大的市場機遇:像其他雲服務一樣,DBaaS意味着更短的銷售週期,更少的啓動費用,持續不斷的收入,也意味着比之前更多的客户。
由於DBaaS解決方案可以降低首次投入成本,對於那些小企業來説,他們往往認為內部部署的數據庫成本太高,DBaaS的成本和靈活性優勢對小企業吸引力更大,他們是雲數據庫解決方案的重點客户羣體。採用DBaaS解決方案,他們也可以使用同大企業一樣的技術。在大型組織中,DBaaS可以提供部門級解決方案,而無需IT部門和採購部門的介入,提供更快和更容易的方法來實現小型解決方案。由於能夠以較低的成本向客户提供IT所有權,當節約成本成為客户最高優先級時,解決方案提供商可以向更多的客户同時提供服務。雖然有許多來自RDBMS固有的侷限性,客户還是可以使用DBaaS系統所能提供的所有能力。數據庫雲服務消除了組織對專職人員、本地數據庫存儲設備的需要。他們不必安裝、配置和維護任何軟硬件。
事實上,任何規模的組織都可能受益於外包服務,並在一個標準化和優化的平台上統一其數據庫管理任務。基於其本身的特性,DBaaS提供了敏捷和高效的數據庫服務,它可以支持多變的需求。而且其固有的彈性使得它易於擴展以處理不斷增長的需求,或當需求減弱時縮減規模。
然而,DBaaS並不意味着解決方案提供者要讓自己失業。與其他系統一樣,在實施DBaaS解決方案時,客户可能需要部署、遷移、支持、異地備份、系統集成和災難恢復等方面的幫助。接下來,應用程序需要使用數據庫,數據庫本身需要設計、開發和部署。還有,客户怎樣實施混合系統,或者需要幫助管理多個雲服務?
與此同時,與數據庫相關的流程的逐漸標準化,使得解決方案提供商能以更便捷的方式提供服務、部署應用程序、規劃容量和管理資源。DBaaS模式還有助於減少數據和數據庫的冗餘度並提升整體服務質量。
最重要的是,解決方案提供商應記住DBaaS通常僅僅是解決方案的一部分。客户之所以與他們的解決方案提供商協同工作,不僅是因為他們出售的產品,而且還因為他們所提供的服務。DBaaS系統本身並不提供面對面訪問或個人客户關係或持續不斷的支持。這些就是需要解決方案提供商的原因。他們幫助客户選擇正確的解決方案、規劃集成和遷移戰略,然後協助實施。
DBaaS的缺點
當然,這一切聽起來不錯,無疑DBaaS具有很多相對於RDBMS的優勢。然而,DBaaS也有其侷限性,雲服務中固有的侷限性就是之一。當客户開始將數據放入雲端時,他們會遭遇到無法控制的網絡性能問題。如果互聯網服務提供商,支撐數據的雲服務,或它們之間任一點網絡被堵塞或中斷,他們就會遇到與數據延遲或應用程序故障有關的問題。如果問題發生在企業內部,解決方案提供商可以排除故障找出原因。
此外,一些典型的RDBMS功能並不總是在DBaaS系統中可用。例如,Windows Azure SQL Database(以前的SQL Azure)是微軟的DBaaS產品,提供了一個類似於SQL Server的數據庫平台。然而,Windows Azure SQL Database並不支持數據壓縮和表分區之類的功能,而且SQL Database支持的Transact-SQL語言只是完整版的一部分。另外,因為解決方案提供商不能控制物理資源,所以他們不能將數據文件和索引分配給特定的硬件。事實上,在任何DBaaS中,解決方案提供商對如何管理物理資源都沒有控制權,因此他們可能會發現由於DBaaS的侷限性使得他們提供給客户的遠遠小於客户所期望的。
此外,使用DBaaS能讓收入損失從其他業務上得到彌補,如軟件更新和硬件管理。也許決定走DBaaS之路的客户可能會跳過解決方案提供商,儘管這個決策看起來有點短視。另外,DBaaS會導致單一客户利潤率的下降,因為雲服務一般是依靠高客户數來抵消較低的利潤率。
DBaaS的走向
儘管DBaaS模式有缺點,但它還是適合某些客户羣體,這為解決方案提供商提供了新的商機。鑑於雲服務的增長,解決方案提供商除了擁抱這些技術還有什麼選擇呢?如果他們不這樣做,他們就會冒着被競爭對手擊敗的風險。但他們不能只想到如何把DBaaS的利潤率與企業內部系統相比較。這是無法比較的,因為基於雲的數據庫提供了不同的模式。關鍵是要通過圍繞雲計算產品來包裝其他增值服務以適應不斷變化的市場條件:這就是DBaaS。
也許最好的策略是以不變應萬變:給客户他們所需要的,不多也不少。如果DBaaS適合他們,他們就不應該買別的東西。事實上,雲計算產業一直推崇自助服務,但提供這些服務的公司已經開始認識到解決方案提供商推銷他們商品的價值。如IBM公司最近宣佈讓渠道合作伙伴分銷其SaaS應用程序的新計劃。微軟認為合作伙伴是銷售其雲計算服務的重要組成部分。然而即使有這種趨勢,DBaaS仍然不同於內部數據庫,解決方案提供商必須認識到這一點;否則,他們不僅僅是丟失幾個客户,而是要失去的更多。

數據庫即服務要求

行業數據應用託管不同於面向公眾的數據託管(如Amzon的RDS等互聯網公司提供的數據託管服務),在數據服務方面存在以下特定要求:
(1)數據隔離要求。不同單位/部門出於安全等方面因素考慮,對託管的數據具有嚴格的隔離需求,因此難以採用當前SaaS多租户數據庫中廣泛使用的共享數據庫(包括共享數據Schema和隔離數據Schema)的技術。
(2)性能隔離要求。不同單位/部門的數據應用具有不同的用户對象和使用模式,由此會產生不同的用户負載並進而佔用大部分系統資源,從而影響其他租户請求負載的執行,即發生資源劫持,然而從租户自身的角度這種情況則是不希望發生的。
(3)可靠性保障要求。由於行業數據應用所需託管的數據資源具有較高的業務價值,提出數據託管需求的單位/部門在數據存儲及數據訪問的可靠性保障方面具有高於一般互聯網用户的要求。
針對上述要求,提出一種無共享架構(Shared-Nothing)下基於虛擬機的數據應用託管方法及相應的數據庫即服務系統。該方法的基本思想是為租户提供基於獨立虛擬機的數據庫託管環境,從而在滿足不同租户數據庫之間的數據隔離和性能隔離的前提下,同時使得不同租户數據庫之間共享服務器以減少系統資源(CPU、內存和IO)使用量;同時,為了提高託管數據的可靠性保障,每個租户數據庫至少建立兩個數據庫副本。在這種方式下,租户的數據庫副本部署在虛擬機上,使得服務器資源可以分配給不同租户,從而能夠靈活地控制租户數據庫服務的服務器資源分配並保障租户間的數據隔離和性能隔離。此外,在無共享架構下,提出了支撐多租户數據庫的虛擬機資源分配這一關鍵問題,該問題可以看作是如下優化問題,如何在服務器集羣上為每個租户配置部署數據庫副本的虛擬機所佔用的系統資源,從而實現用最少的系統資源滿足所有租户的數據庫性能需求。按照上述思路,支持行業數據應用託管的數據庫即服務系統包括以下三個層次的內容:
(1)數據託管基礎設施層。該層次在一組共享的物理服務器環境基礎上,通過虛擬機的形式提供對租户數據庫的支撐,包括租户數據庫虛擬機的創建及撤銷、計算及存儲等物理資源的分配與監控等。
(2)數據託管管理層。該層次是數據庫即服務系統的核心,它對託管的租户數據庫進行統一的管理、監控,並利用數據託管基礎設施層根據數據請求負載對承載數據庫的虛擬機進行動態資源調度(即CPU、內存等資源分配的調整)。
(3)數據託管應用層。該層次由歸屬不同租户的眾多數據應用系統構成,由於數據託管管理層提供了標準的數據庫服務,應用系統可以基於標準的數據庫接口來完成對數據存儲及數據訪問等請求,而不必考慮數據實際部署的虛擬機、物理機器及網絡地址等信息
參考資料
  • 1.    郭志斌,張雲勇,陳曉明.一種混合、異構數據庫即服務平台[J].郵電設計技術,2014(07):11-14.