隨著云計算的快速發展,越來越多的企業希望從頂層框架入手,探索整體數據架構中的更多可能性,DBaaS(亦稱泛數據庫類服務)就是PaaS 層的一個重要分支。那么,DBaaS到底是什么?適用于哪些應用場景?希望以下內容,可以幫助用戶在云應用中做出正確選擇!
對比傳統的標準化數據庫模式,DBaaS能帶來更靈活,可擴展、按需服務的體驗,用戶可對云環境中的資源進行調配,因此獲得廣泛支持和采用。問題是,什么是DBaaS?
這一點很重要,DBaaS并不等同于在基于云的服務器(如Amazon AWS或Microsoft Azure)上運行數據庫,我們要正確理解DBaaS的概念。雖然在虛擬機上運行數據庫一定會帶來成本和靈活性方面的優勢,但是仍需要用戶維護數據庫,需要用戶具備服務器操作和運營方面的專業知識。
而真正的DBaaS,是由云服務商提供服務,用戶不需要用專業的運維團隊來維護服務器的運轉。一些物理和虛擬化的硬件設備,包括操作系統、網絡、相關的資源配置等,都可以通過云的形式,一鍵完成設置,然后通過一個簡單的API調用,將應用程序連接起來。比如:Amazon RDS、阿里云 RDS、Azure SQL Databases 和 Azure Database for MySQL/PostgreSQL 等,都是DBaaS的典型應用。
使用DBaaS,能讓用戶在部署速度和成本方面,獲得顯著提升。但是,DBaaS也并不是“一本萬能”,什么場景都適用,還是要看具體的項目需求。
DBaaS適用于哪些應用場景?
1、沒有專業的數據庫團隊。如果企業的技術團隊沒有那么多的軟件開發人員,無法應對數據庫的復雜性,那么就可以考慮使用DBaaS。除了更方便數據庫管理以外,DBaaS服務商還能提供數據的自動備份等其他服務,讓企業只專注于關鍵業務開發,而不用擔心數據庫的運行問題。
2、臨時數據庫。如果企業只是在短期內有需要,用于持續集成或者后端的測試,DBaaS模式可以為用戶快速構建一個數據庫,當測試結束時,用戶可以刪掉數據以及相應的數據庫。這種方式,大大加快了企業測試環境下的自動化部署和更新,讓數據庫應用更加簡單。
3、微服務設計。在企業的生產環境中,如果使用了由數據庫組成的大量的微服務設計,DBaaS這種模式也會非常適用。另外,即使企業有很多專業的數據庫開發人員,但如果不愿意在數據庫部署方面投入大量的時間和精力,也可以通過DBaaS快速投入生產。
使用DBaaS有哪些局限性?
值得一提的是,雖然DBaaS有很多優勢,但是切不可在以下場景中適用。
第一,具有復雜的數據庫邏輯關系。了確保數據庫在部署時的易用性,DBaaS服務商限制了數據庫在復雜環境下的擴展能力,從某種程度上降低了其靈活性。比如:用于災難恢復時,需要在一個主節點中進行集群復制,同時輔助節點也要同步復制集群,主從節點之間存在異步關系,這種相對復雜的邏輯關系,大大超出了DBaaS的應用范圍。換言之,DBaaS沒有辦法理解企業深度定制化的個性化服務。
第二,數據庫有與指定的工作負載綁定。如果數據庫要綁定更重的工作負載,則需要更強大的硬件、CPU和內存以及相應的存儲能力,DBaaS沒有辦法滿足這樣的需求。
如何做出正確選擇?
如果您所在企業在數據庫方面的需求符合DBaaS所有指標,那就多花點時間去仔細研究DBaaS主流產品。包括:Amazon RDS、谷歌云SQL和Azure SQL數據庫等,他們在部署模式、性能和實例類型等方面,各有不同特征。如果企業需求不適合DBaaS,那就需要自建數據庫。如果沒有專業的數據庫團隊,也沒有招聘專職人員的打算,數據庫外包可能是優秀選擇。