毋庸置疑,數(shù)據(jù)不但可以幫助企業(yè)在決策的過程中消除各種猜測,而且能夠讓用戶團隊使用由數(shù)據(jù)驅(qū)動的證據(jù),來決定要構(gòu)建哪些產(chǎn)品,添加哪些功能,以及需要改進哪些計劃與目標(biāo)。不過,數(shù)據(jù)感知力并非簡單等于洞察驅(qū)動力,后者往往需要找到一種近乎實時的數(shù)據(jù)分析方法。
如今,作為可擴展類型的數(shù)據(jù)存儲庫,云數(shù)據(jù)倉庫能夠讓企業(yè)通過存儲和分析大量結(jié)構(gòu)化、以及半結(jié)構(gòu)化的數(shù)據(jù),來尋找并發(fā)現(xiàn)洞察驅(qū)動力,進而為企業(yè)即將推出的各種產(chǎn)品、營銷策略和工程決策,提供全面的業(yè)務(wù)信息。
當(dāng)然,選擇云數(shù)據(jù)倉庫的提供商往往是一件具有挑戰(zhàn)性的工作。用戶必須根據(jù)他們的需求,綜合評估數(shù)據(jù)倉庫的成本、性能、處理實時負(fù)載的能力、以及其他方面。在此,我們將分析當(dāng)前四大流行云數(shù)據(jù)倉庫:Snowflake、Amazon Redshift、Google BigQuery和Azure Synapse Analytics,綜合比較它們優(yōu)缺點,并深入探討您在選擇云數(shù)據(jù)倉庫時需要考慮的各項因素。
什么是數(shù)據(jù)倉庫?
數(shù)據(jù)倉庫是一個系統(tǒng),它將來自各種源頭的數(shù)據(jù)導(dǎo)入一個中央存儲庫中,并為后續(xù)的快速檢索做好準(zhǔn)備。數(shù)據(jù)倉庫通常包含了從事務(wù)系統(tǒng)、操作數(shù)據(jù)庫、以及其他來源,提取到的結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)。數(shù)據(jù)工程師和分析師可以將這些數(shù)據(jù)用于商業(yè)智能、以及其他各種目的。
數(shù)據(jù)倉庫既可以被部署在本地、又可以在云端、還可以兩者混合起來實施。在本地部署的方案中,由于其需要擁有物理服務(wù)器,因此用戶會時常詬病于購買更多的硬件。這會讓數(shù)據(jù)倉庫的擴展性,變得更加高昂且具有挑戰(zhàn)性。相比之下,其云端在線存儲方案的成本較低,且具備自動化的擴展能力。
何時該使用數(shù)據(jù)倉庫
數(shù)據(jù)倉庫可被用于多項任務(wù)。例如,您可以使用它,將歷史數(shù)據(jù)存儲在一個作為單一事實源的統(tǒng)一環(huán)境中,以便整個組織的用戶可以依據(jù)該存儲庫,來執(zhí)行日常任務(wù)。
同時,數(shù)據(jù)倉庫可以統(tǒng)一、并分析來自Web、客戶關(guān)系管理(CRM)、移動設(shè)備、以及其他應(yīng)用程序的數(shù)據(jù)流。通過將它們轉(zhuǎn)換為可使用的格式,用戶可以采用各種分析工具,充分利用各種SQL查詢服務(wù),提高對于存儲數(shù)據(jù)的業(yè)務(wù)理解和洞察力。例如,通過使用Google Analytics(GA),企業(yè)可以了解到客戶會如何與他們的應(yīng)用程序、或網(wǎng)站進行互動。為了突破在深度洞察上的限制,GA還能夠與已存儲在Salesforce、Zendesk、Stripe等平臺上的數(shù)據(jù)倉庫相連接,將所有數(shù)據(jù)存儲在一處,通過分析和比較不同的變量,進而生成富有洞察力和可視化的數(shù)據(jù)視圖。
只使用數(shù)據(jù)庫不夠嗎?
傳統(tǒng)觀點認(rèn)為,除非您擁有TB或PB的復(fù)雜數(shù)據(jù)集,否則您可能只需使用諸如PostgreSQL之類的OLTP數(shù)據(jù)庫即可搞定。
時下流行的云數(shù)據(jù)倉庫
目前,業(yè)界有許多新興的云數(shù)據(jù)倉庫提供商,其中當(dāng)屬Snowflake、Amazon Redshift、Google BigQuery和Microsoft Azure Synapse Analytics,四種最為主流和可靠。他們在成本或技術(shù)細(xì)節(jié)上雖然有所不同,但是都具有高度可擴展性等共同特征。例如,它們都采用了大規(guī)模并行處理(massively parallel processing,MPP)的方式,來同時處理多項操作的存儲結(jié)構(gòu)。這樣既加速了存儲和計算資源的擴縮容,又實現(xiàn)了以數(shù)據(jù)列格式的存儲,所帶來的更好的壓縮和查詢特性。它們即便在發(fā)生中斷或故障時,也能保證可靠的數(shù)據(jù)復(fù)制、備份、以及快速檢索。
此外,與部署在本地的數(shù)據(jù)倉庫相比,云端方案更具有商業(yè)智能上的可擴展性,能夠加速分析操作,快速上線,提供數(shù)據(jù)的集成、可觀察性,以及整個生態(tài)系統(tǒng)。
數(shù)據(jù)倉庫對比一覽表
Snowflake
Snowflake是一個可運行在Google Cloud、Microsoft Azure和AWS架構(gòu)之上的云數(shù)據(jù)倉庫。由于其并非運行在自己的云基礎(chǔ)架構(gòu)上,而使用的是主流公共云服務(wù)提供商,因此它可以讓用戶更加輕松地,以跨云平臺、跨區(qū)域的方式移動數(shù)據(jù)。
Snowflake支持幾乎無限數(shù)量的并發(fā)用戶,并且可以在幾乎零維護與管理的情況下運行。與之相關(guān)的更新與清理元數(shù)據(jù),按需擴展,按秒計費,以及許多其他瑣碎的維護任務(wù)都可以被自動化。
用戶還可以使用SQL或其他商業(yè)智能(BI)和機器學(xué)習(xí)(ML)工具,去查詢半結(jié)構(gòu)化的數(shù)據(jù)。同時,Snowflake還提供了對于XML、JSON、以及Avro等文檔存儲格式的原生支持。如下圖所示,其混合架構(gòu)分為:云服務(wù)層、計算層和存儲層,三個不同的層次。
作為Snowflake的主要客戶,日本樂天電子商務(wù)集團使用它來擴展其數(shù)據(jù)資源。該公司曾有一個被稱為Rakuten Rewards的現(xiàn)金返還和購物獎勵計劃。隨著投入CPU和內(nèi)存數(shù)量的不斷增加,其用戶需求逐漸超出了現(xiàn)有的數(shù)據(jù)倉庫能力。通過在引入Snowflake后,樂天為各個團隊設(shè)立了專門的倉庫。由于Snowflake能夠?qū)⒋鎯优c計算層相分離,因此那些來自不同業(yè)務(wù)部門的工作負(fù)載,被隔離到了不同的倉庫中,避免了相互干擾。最終,樂天不但降低了整體成本,提高了數(shù)據(jù)的處理效率,而且獲得了對其數(shù)據(jù)操作上的更多可見性。
Amazon Redshift
由Amazon提供的云數(shù)據(jù)倉庫服務(wù)—Redshift,可以處理從GB到PB量級大小的數(shù)據(jù)集。在使用過程中,用戶需要先啟動一組節(jié)點并將其配置好,以便上傳并分析數(shù)據(jù)。作為Amazon Web Services(AWS)生態(tài)系統(tǒng)的一部分,Redshift數(shù)據(jù)倉庫服務(wù)提供了諸如將用戶數(shù)據(jù)從數(shù)據(jù)湖中導(dǎo)出,并與其他平臺(如:Salesforce、Google Analytics、Facebook Ads、Slack、Jira、Splunk、以及Marketo)相集成等服務(wù)。此外,Redshift倉庫服務(wù)使用列式存儲、數(shù)據(jù)壓縮、以及區(qū)域映射,來實現(xiàn)高性能和高效存儲。
目前,Redshift擁有包括Pfizer、Equinox、以及Comcast等數(shù)以萬計的客戶。2020年,全球知名連鎖餐廳--必勝客使用Redshift,來整合那些由亞太地區(qū)門店所產(chǎn)生的數(shù)據(jù),以便其團隊能夠快速地訪問、查詢和可視化PB級的數(shù)據(jù)。過去需要幾小時才能生成的商業(yè)智能報告,如今幾分鐘便可搞定。
Google BigQuery
BigQuery是由Google提供的無服務(wù)器多云式數(shù)據(jù)倉庫。該服務(wù)可以快速地分析從TB到PB量級的數(shù)據(jù)。與Redshift不同,BigQuery無需預(yù)先配置,便可自動執(zhí)行諸如:數(shù)據(jù)復(fù)制、以及計算資源擴展等后端操作。同時,它能夠自動加密各種靜態(tài)和傳輸中的數(shù)據(jù)。
如下圖所示,BigQuery架構(gòu)是由多個組件所組成。其中,Borg是整體的計算部分;Colossus負(fù)責(zé)分布式存儲;它的執(zhí)行引擎叫做Dremel;而Jupiter就是它的網(wǎng)絡(luò)。
由于BigQuery能夠與其他Google Cloud產(chǎn)品協(xié)同工作,因此其用戶包括Dow Jones、Twitter、The Home Depot、以及UPS等知名企業(yè)。例如,豐田的加拿大公司就曾建立了一個名為Build & Price的比較工具,以方便網(wǎng)站訪客定制車輛,并獲得即時報價。這些數(shù)據(jù)會由Google Analytics 360負(fù)責(zé)收集,并被提取到BigQuery中。然后,其倉儲服務(wù)會將機器學(xué)習(xí)(ML)模型應(yīng)用到這些數(shù)據(jù)上,并根據(jù)購買的可能性,為每個訪客分配一個傾向得分。這些預(yù)測得分會每八小時刷新一次,并持續(xù)被導(dǎo)入Analytics 360。據(jù)此,豐田根據(jù)傾向得分創(chuàng)建了不同的群體,進而向每個群體投放個性化的廣告。
Azure Synapse Analytics
由Microsoft提供的云數(shù)據(jù)倉庫--Azure Synapse Analytics,通過統(tǒng)一的用戶界面(UI)將數(shù)據(jù)倉庫、數(shù)據(jù)集成、以及大數(shù)據(jù)分析結(jié)合在一起。借助在無代碼環(huán)境中構(gòu)建的ETL/ELT流程,用戶不但可以從近百個本地連接器中提取數(shù)據(jù),也可以通過集成化的人工智能(AI)和商業(yè)智能工具,實現(xiàn)Azure機器學(xué)習(xí)、認(rèn)知服務(wù)、以及Power BI。此外,該智能工具還可以輕松地被應(yīng)用于包括Dynamics 365、Office 365、以及各種SaaS產(chǎn)品的數(shù)據(jù)集中。
在Azure Synapse Analytics中,用戶能夠使用T-SQL、Python、Scala、以及.NET等語言,以預(yù)配置或無服務(wù)器的方式,按需分析數(shù)據(jù)資源。
目前,Microsoft的云數(shù)據(jù)倉庫服務(wù)擁有眾多的客戶。其中作為零售和批發(fā)藥業(yè)巨頭的Walgreens,已經(jīng)將其庫存管理數(shù)據(jù)遷移到了Azure Synapse處,以便供應(yīng)鏈分析師能夠在其界面上,通過直接拖放和調(diào)用Power BI工具的方式,來查詢并創(chuàng)建可視化的數(shù)據(jù),進而降低了整體投入的成本。
選擇云數(shù)據(jù)倉庫時需要考慮的因素
用例
用戶的獨特運行環(huán)境和用例,往往是評估數(shù)據(jù)倉庫提供商的關(guān)鍵因素之一。例如,使用JSON的企業(yè)可能會更喜歡Snowflake,畢竟它為該格式提供了原生支持。而沒能配備專門數(shù)據(jù)管理員的小型組織,可能會避免使用Redshift,畢竟它需要定期監(jiān)控和配置。對此,那些具有即插即用設(shè)置(plug-and-play)的服務(wù),可能會更適合它們。
支持實時的負(fù)載
許多公司需要在數(shù)據(jù)生成之后,立即對其進行分析。例如,一些公司可能需要實時地檢測各種欺詐或安全問題,而另一些公司可能需要處理大量的物聯(lián)網(wǎng)(IoT)數(shù)據(jù)流,以進行異常檢測。對此,IT團隊?wèi)?yīng)重點評估云數(shù)據(jù)倉庫是如何處理數(shù)據(jù)流的攝取。例如:BigQuery提供了一個流式的API,用戶只需幾行代碼即可完成調(diào)用。Azure為實時數(shù)據(jù)的攝入提供了內(nèi)置的Apache Spark流等功能選項。Snowflake將Snowpipe作為附加組件,以實現(xiàn)實時的攝入。而RedShift則需要使用Kinesis Firehose,來實現(xiàn)數(shù)據(jù)流的攝取。
安全性
雖然每一個云數(shù)據(jù)倉庫提供商都非常重視安全性,但是它們在技術(shù)上,特別是加密處理方式上會有所差異。例如,BigQuery能夠在默認(rèn)情況下,對傳輸中和靜止的數(shù)據(jù)進行加密;而該功能需要在Redshift中得到明確的啟用。
生態(tài)系統(tǒng)
生態(tài)系統(tǒng)對于應(yīng)用程序和數(shù)據(jù)的留存也是非常重要的。例如:那些數(shù)據(jù)已經(jīng)被存放在Google Cloud中的企業(yè),可以通過使用BigQuery或Snowflake,來獲得額外的性能提升。同時,由于共享著相同的基礎(chǔ)設(shè)施,因此他們的數(shù)據(jù)非但不會在公共互聯(lián)網(wǎng)上移動,而且其傳輸路徑也會得到更好的優(yōu)化。
數(shù)據(jù)類型
企業(yè)往往會用到結(jié)構(gòu)化、半結(jié)構(gòu)化、以及非結(jié)構(gòu)化的數(shù)據(jù),而大多數(shù)數(shù)據(jù)倉庫只能支持前兩種數(shù)據(jù)類型。因此,IT團隊?wèi)?yīng)當(dāng)根據(jù)實際需求,確保選擇的云倉庫基礎(chǔ)設(shè)施,能夠存儲和查詢到特殊類型的數(shù)據(jù)。
擴縮容
既然是云數(shù)據(jù)倉庫,那么針對存儲和性能的擴展能力就需要被納入評估的范疇。對此,Redshift要求用戶手動添加更多的節(jié)點,以增加存儲和算力資源。而Snowflake則具有自動擴縮容的功能,可以動態(tài)添加或刪除各個節(jié)點。
維護
根據(jù)公司的規(guī)模和數(shù)據(jù)的不同需求,數(shù)據(jù)倉庫應(yīng)當(dāng)通過提供自動或手動的方式,來實現(xiàn)日常的管理與維護。小型團隊可以選用BigQuery或Snowflake所提供的自動優(yōu)化服務(wù)。而Redshift等云數(shù)據(jù)倉庫則提供了更具靈活性和掌控度的、手動級別的維護方式,以便用戶團隊更好地優(yōu)化其數(shù)據(jù)資產(chǎn)。
小結(jié)
我們從各項參數(shù)、技術(shù)規(guī)格、以及定價模型等方面,為您綜合比較了Snowflake、Redshift、BigQuery、以及Azure Synapse Analytics,這四種典型的云數(shù)據(jù)倉庫。希望根據(jù)上述給出的考慮因素,您和您的團隊能夠從公司業(yè)務(wù)的實際需求出發(fā),選定合適的服務(wù)提供商及其產(chǎn)品,讓云數(shù)據(jù)倉庫為貴司的產(chǎn)品、市場、銷售、以及其他部門,提升數(shù)據(jù)的洞察力,減少盲目的猜測,并為激烈的競爭優(yōu)勢鋪平道路。