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