數據倉庫被各種規模的企業廣泛用于為商業智能(BI)和分析應用程序攝取、存儲和處理大量的數據。數據倉庫出現在上世紀90年代,是一種成熟的主流技術。但是如今對于希望部署數據倉庫的企業而言,其中一項重大決策是將其放在內部部署設施還是云平臺中。
與其他類型的IT系統一樣,與內部部署數據倉庫相比,云計算數據倉庫提供了各種好處:例如易于擴展,更具靈活性,數據庫管理員(DBA)的日常管理工作更少。但是每個企業都有自己的一些需求和優先事項,因此在規劃數據倉庫部署之前,需要對云計算和內部部署的選項進行比較。為了幫助解決這個問題,以下介紹了這兩種方法及其優缺點。
內部部署倉庫架構vs.云計算數據倉庫架構
高質量的計算環境(包括服務器、操作系統、存儲和數據庫)對于任何使用大量數據的應用程序的成功都是至關重要的。這無疑適用于數據倉庫:企業為了選擇最佳的數據倉庫平臺,IT和數據管理團隊需要評估完整的系統環境,而不僅僅是其核心的數據庫軟件。
傳統的數據倉庫架構由以下三層組成:
·底層具有數據庫服務器,其中包含數據倉庫本身;
·中間層處理數據以進行分析,通常由在線分析處理或OLAP引擎進行;
·頂層作為商業智能和分析工具的表示層和前端接口。
企業數據倉庫將來自企業所有業務運營的數據存儲在一個集中的平臺中;另一方面,數據集市是較小的倉儲系統,其中包含特定部門、業務單位或用戶組的數據子集。兩者通常都包含在數據倉庫架構中,以下是設計一種架構的兩種主要方法,這是一種通常簡稱為Inmon與Kimball的選擇。
·自上而下的方法。該方法由計算機科學家和供應商高管Bill Inmon創建,從企業數據倉庫開始,然后使用存儲在其中的數據集來設置各種數據集市。
·自下而上的方法。技術顧問Ralph Kimball通過開發這種替代方法實現了徹底的轉變,其中構建了單獨的數據集市,然后將其集成以生成企業數據倉庫。
使用這些傳統概念,云計算使數據倉庫供應商能夠定制其底層硬件和軟件架構,以滿足不同的處理需求。以下是云計算數據倉庫產品的一些典型示例,以下按字母順序列出。
·用于分析和數據倉庫的Autonomous Database。Oracle公司用于云中分析數據的旗艦系統構建在Oracle數據庫和Oracle Exadata計算平臺之上。該系統可用于共享或專用基礎設施部署,也可通過Oracle的Cloud@Customer服務安裝在內部部署設施中。Oracle公司的共享基礎設施是一種更傳統的云計算服務,而專用的則為客戶提供一個完全私有的公有云環境,擁有自己的計算、存儲、網絡和數據庫資源。
·Azure Synapse分析。微軟公司的云分析服務提供無服務器和專用資源模型,并使用稱為Synapse SQL的分布式SQL處理引擎來運行數據倉庫的查詢。它還包括ApacheSpark作為大數據分析引擎和Azure DataLake Storage Gen 2作為其數據存儲。該平臺基于橫向擴展的大規模并行處理(MPP)架構,可跨多個節點分配工作負載并將計算資源與存儲分開,使客戶能夠獨立擴展每個節點。
·BigQuery。Google BigQuery是一個無服務器云數據倉庫,具有基于SQL的分布式MPP分析引擎,可以將其大部分數據存儲在表中。每個表列都是單獨存儲的,這使BigQuery能夠比傳統的基于行的存儲更有效地掃描整個數據集的各個列。BigQuery同時使用分區和集群來提供高性能數據訪問。它還支持多云數據倉庫部署,并包括用于機器學習、預測建模和地理空間分析的引擎。
·Redshift。AWS公司的Amazon Redshift使用集群來預置一個或多個計算節點,以便在數據倉庫、操作數據庫和數據湖中運行分析應用程序。AWS提供無服務器選項、機器學習模塊以及與其他各種云服務的原生集成,包括商業智能、數據集成和大數據處理工具。與BigQuery一樣,Redshift將每個表列分開存儲;它還提供自動表優化功能,通過改進數據集的物理布局來提高集群中的查詢速度。
·Snowflake。與大多數競爭對手不同,Snowflake的數據倉庫系統旨在跨AWS、Azure和谷歌云平臺運行。Snowflake將其處理環境描述為混合共享磁盤/無共享架構。該產品使用中央存儲庫在整個環境中共享數據,并使用多個大規模并行處理(MPP)計算集群來分離工作負載,集群中的每個節點都在內部部署存儲部分數據集。作為一項完全托管的服務,Snowflake還支持數據湖、數據工程和數據科學工作負載。
內部部署數據倉庫和云計算數據倉庫的優缺點
內部部署數據倉庫面臨的一大挑戰是需要部署滿足企業的數據架構和處理要求的硬件和軟件計算環境。硬件支持團隊、系統管理員和數據庫與數據倉庫軟件供應商一起構建運行環境,這通常很復雜,需要專門的團隊來進行管理和支持。此外,擴展內部部署系統以滿足不斷增加的數據存儲和工作負載增長可能既昂貴又耗時。
但云計算數據倉庫也可能給企業帶來一些挑戰,并需要改變IT流程。以下是有關這兩種方法在某些關鍵領域的優缺點的詳細信息。
(1)成本
很明顯,在內部部署數據中心部署和支持數據倉庫系統的成本通常比從云計算提供商那里租用一個基于使用量付費的數據倉庫系統要高得多。對于由供應商完全管理的數據倉庫即服務(DWaaS)環境尤其如此。但對于已經在現有數據中心進行投資的企業而言,云計算與內部部署的成本比較并不那么簡單。
云平臺最初的賣點是能夠降低IT成本。但在云中實施應用程序的企業很快意識到節省成本并不總是其主要優勢之一。企業可能不必為云計算數據倉庫系統購買服務器和軟件,但使用云供應商的計算、內存和硬盤資源的成本可能會增加,尤其是在數據倉庫工作負載意外增加的情況下。
當然,在比較內部部署和云平臺時,系統成本并不是IT團隊需要考慮的唯一成本。支持環境所需的勞動力成本也必須考慮在內。對于內部部署數據中心,這包括對計算硬件、操作系統、磁盤存儲和數據庫的管理支持。云計算數據倉庫并沒有完全消除支持成本,例如在DWaaS環境中,數據倉庫仍然需要處理管理任務。但這種成本在云中通常要低得多。
還有其他一些經常被忽視的成本。在公有云中部署數據倉庫的企業不會產生合規性認證、數據中心環境控制、能源消耗、高可用性和災難恢復配置以及系統改進方面的直接成本。這些成本都包括在云計算服務的成本中,有些可能會導致企業的使用成本更高,但云計算供應商會為它們支付費用。
(2)新特性和功能
云計算數據倉庫市場競爭激烈,這迫使云計算供應商將他們的功能集實現最大化。而不斷創新和集成新功能以使其產品與競爭對手的產品區分開來是絕對必要的。因此,云計算數據倉庫用戶能夠利用源源不斷的新特性和功能。
此外,由于云計算供應商對整個數據倉庫系統負責,他們的客戶可以受益于從底層計算基礎設施到數據倉庫軟件本身的增強。對于自己管理環境的內部部署用戶而言,升級系統和部署新軟件版本更加復雜。新功能在內部部署數據倉庫軟件中的可用速度也可能不如在云計算服務中的可用速度,這些云計算服務可以由供應商持續更新。
云平臺的另一個潛在優勢是:為了補充其核心數據倉庫功能以用于基本商業和報告用途,行業領先的云計算供應商和其他競爭對手都提供了支持數據湖、機器學習、大數據分析、數據管道的附加技術和高級分析應用程序的開發和其他功能。
(3)可擴展性
系統可擴展性幫助IT團隊應對處理工作負載的增長。當性能調整和更新軟件配置不再對系統吞吐量產生積極影響時,就需要添加硬盤、內存和計算容量。可擴展性對于數據倉庫也很重要,以便在添加新的源系統時適應數據增長。
但是擴展內部部署數據倉庫平臺可能是一件非常麻煩的事。如果服務器有能力增加CPU或內存,系統管理員需要打開機箱并更換或添加組件。對于沒有額外可用容量的服務器,硬件需要升級到更大的系統。集群環境提供水平擴展,可以添加更多服務器,但硬件、軟件和管理成本很快就會變得過高。
云平臺的主要賣點之一是易于擴展。例如,Amazon Redshift用戶可以快速將節點添加到他們的運行環境中,以獲得更好的性能和更多的存儲空間。Oracle自治數據庫通過提供自動擴展功能更進一步,該功能可以自動增加計算或存儲資源。AWS和Snowflake提供了類似的并發擴展功能,可以在工作負載增加時自動增加集群容量。
(4)性能監控和調整
為了優化數據倉庫的性能,內部部署平臺通常需要IT團隊使用單獨的工具來監控硬件、操作系統和數據庫。由于云計算供應商能夠為其數據倉庫基礎設施定制其性能監控工具和顧問實用程序,因此這些工具通常提供比內部部署的工具更全面的信息。
然而,除了標準的數據庫性能調優挑戰之外,云平臺還為性能監控和故障排除增加了另一個維度。將數據傳入和傳出云數據倉庫系統可能具有挑戰性,尤其是在數據量大且時間緊迫的情況下。此外,在云平臺上實施數據倉庫的企業并不完全對性能負責。當系統性能受到懷疑并且擴展并不是一種很好的選擇或無法解決問題時,企業將不得不與其云計算提供商合作以確定根本原因。
更糟糕的是,當資源被過度利用時,云計算數據倉庫系統可能會停止企業的工作負載。在任何數據庫環境、內部部署設施或云平臺中,只需要一些調整不當的查詢就可能增加資源消耗。但是云計算資源利用率的持續增加可能會導致企業被迫升級到更高的性能層。
(5)管理控制
在內部部署環境中,IT部門對其計算系統擁有完全的控制權和全部責任。對于云計算數據倉庫,企業將與供應商分擔這些責任。尤其是在完全托管的DWaaS環境中,企業可能放棄管理數據倉庫平臺的部分所有權。
有些IT部門會將此視為一種好處,而另一些則將其視為一種風險,但大多數人可能會將其視為風險和回報的結合。而行業領先的云計算數據倉庫提供商都提供服務水平協議,以保證最低正常運行時間百分比,這將有助于減少對系統失去控制的擔憂。
(6)安全
同樣,部署內部部署數據倉庫的企業負責保護整個環境——從硬件基礎設施到軟件堆棧。但是在云中,安全責任由提供商分擔。重要的是要了解企業不會將100%的安全責任移交給供應商。在云安全的責任共擔模型下,客戶仍然需要處理保護數據倉庫環境的某些方面。
責任的劃分方式可能因供應商而異。它還取決于企業是使用托管DWaaS環境還是IaaS環境,其中供應商通常只負責保護底層IT基礎設施。不過,一般而言,IT團隊仍對數據安全、數據分類、訪問控制和端點設備安全等任務負責。
標準的安全最佳實踐適用于內部部署和云平臺,但使用云計算數據倉庫系統的企業能夠與云計算供應商分擔保護其運營環境的成本。能夠利用云計算供應商的安全功能是另一個優勢,他們有更多的動機來確保云平臺的安全性,他們為此投入了大量資金。
(7)審計和監管合規
如上所述,云計算數據倉庫的好處之一是云計算供應商承擔底層架構的責任。但這可能會給需要遵守行業標準或監管合規性以及內部標準的企業帶來挑戰。
與安全性非常相似,合規性是客戶和云計算供應商之間的共同責任。云計算供應商通常會為HIPAA、GDPR和其他合規框架提供第三方審計師合規報告和證明。但是企業必須與云計算供應商合作,根據企業的特定審計需求收集所需的支持證據,以驗證數據倉庫系統是否符合適用的框架。
盡管使用云計算服務可能會使查找所需證據變得更加耗時,但將一些監管合規成本轉嫁給云計算供應商對于企業來說可能更重要。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。