云端數據倉庫的模式選型與建設

      網友投稿 916 2025-03-31

      數據,對一個企業的重要性不言而喻,如何利用好企業內部數據,發揮數據的更大價值,對于企業管理者而言尤為重要。作為最傳統的數據應用之一,數據倉庫在企業內部扮演著重要的角色,構建并正確配置好數據倉庫,對于數據分析工作至關重要。一個設計良好的數據倉庫,可以讓數據分析師們如魚得水;否則可能使企業陷入無休止的問題之中,并在未來的企業競爭中處于劣勢。

      隨著越來越多的基礎設施往云端遷移,數據倉庫是否也需要上云?上云后能解決常見的性能、成本、易用性、彈性等諸多問題嗎?如果考慮上云,需要注意哪些方面?目前主流云廠商產品又有何特點?面對上述問題,本文嘗試給出一些答案,供各位參考。本文部分內容參考了MIT大學教授David J.DeWitt的演講材料。

      一、數據倉庫建設

      數據倉庫(DW)的建設方式有很多種,企業可以根據自身需求進行選擇。下圖簡單羅列了主要的DW建設方案并做出擴展對比。

      1.1 建設方案

      1)商業方案

      商業方案,是最為傳統的一種,也是過去20~30年的主流方式。企業外購數倉,包括軟、硬件一體交付。其典型產品很多,多為國際知名大廠,國產廠商也有部分。

      2)自建+開源

      這是很多互聯網公司通常采用的方案,通過自建底層基礎設施+部署開源軟件方式完成。整個方案對企業完全自主可控,但對自有人員技術要求較高。頗為典型的產品就是GreenPlum。

      3)云+開源

      這是上一種方案的變體,即Iaas層通過云廠商提供,其他仍然是自建的。當企業業務已經上云,為更好地數據集成,方便數據遷移,往往會采用此方案。

      4)DW云

      企業直接選用數據倉庫的云服務,而不再獨立建設。下文將針對這種情況,重點說明。

      1.2 方案對比

      針對上述4種方案,從成本、運維、交付、擴展、性能等多角度進行對比。

      成本:包括前期購買和后期運營的費用,這里也包含人員投入的折算費用。

      運維復雜度:主要針對企業自有技術人員的運維工作復雜度評估。

      交付速度:方案的整體交付速度,包括基礎設施的購買、建設。

      擴展性:包括數倉的容量擴展和性能擴展能力的綜合。

      性能表現:數倉的整體性能表現。

      1.3 重點對比 - 性價比

      從上圖中可見:

      方案1、2,成本、性能相對固定。其中方案1,成本較高,但性能突出;方案2(自建),則兩者均為中等。

      方案3、4,成本與性能都是一個區間,且范圍較大。方案3,主要取決于云廠商提供的基礎設施的能力。方案4,則依靠云廠商的數倉云能力。這也對云廠商產品的選擇,提出了更高的要求。下文將就此展開說明。

      二、云端數據倉庫

      2.1 云方案優勢

      基于上面的說明,采用數據倉庫的云服務,具有較多優勢,包括:

      更好的性價比(無論是前期購買、還是后期運營)

      更快的交付速度(最快在分鐘級)

      更優的彈性能力(擴展或壓縮、計算或存儲)

      更低的運維復雜度(無需專業人士)

      更簡單地數據集成(如果已上同一云)

      更豐富的數據生態(取決于云廠商產品)

      2.2 數倉關鍵因素

      數據倉庫不同于交易型數據庫,它的構建是為了便于分析海量數據,而不是處理事務。這意味著數據倉庫往往比其相應的交易型數據庫大幾個數量級,同時對于交易型數據庫的某些關鍵特性(例如ACID、響應時間等)可能沒有那么重要。相反,數據倉庫有自己的需求,亦可作為上云選擇因素。

      1)多種數據集成方式

      將數據放入倉庫并正確格式化通常是數據倉庫面臨的最大挑戰之一。傳統上,數據倉庫依賴于批處理提取轉換加載作業-ETL。ETL作業仍然很重要,但現在也有從流式攝取數據,甚至允許你直接對不在倉庫中的數據執行查詢的能力。

      2)支持數據多元查詢

      云端數據倉庫的模式選型與建設

      現有數據倉庫,除了要支持典型批量查詢外,還需要支持諸如adhoc類的查詢方式。傳統大數據技術棧hadoop的MapReduce不太適用于此類查詢。很多數據倉庫轉向大規模并行處理(MPP)數據庫,其原始是將數據打散后,通過并行技術在多臺服務器上執行。此外,還有類似Spark這種利用內存并行處理技術完成查詢。

      3)標準數據訪問方式

      數據倉庫支持什么語言進行查詢。顯然,標準SQL是對用戶最為友好的方式,可顯著降低用戶的使用門檻。此外,諸如Python、R等高級語言,也可為用戶帶來更多訪問的方式。但有些是依賴于方言,這就需要進行仔細評估。畢竟,移植的成本是筆不小的開銷。

      4)靈活資源彈性能力

      數據倉庫都是為了處理海量數據的,但其規模變化可能很大。此外,其計算資源的需求也是會隨著業務而不斷變化。因此對基于云的數據倉庫的資源的彈性能力要求很高,這也是區別與傳統自建方式一個非常大的優勢。這里的資源,不僅包括計算資源、也包括數據存儲資源。此外,還需要區分是否支持計算、存儲的單獨提供,而不是緊耦合在一起。

      5)低廉運營維護成本

      數據倉庫是復雜的系統,從底層的物理資源、操作系統、倉庫軟件,到上層的數據對象、訪問語句等。作為云上的數倉,是需要提供簡單、靈活、自動化、甚至智能化的運維能力,方便客戶使用進而節省用戶的綜合運營維護成本。

      6)靈活使用方式

      數據倉庫本身是資源密集型應用,如何減低用戶的使用成本,是云廠商均需考慮的。例如支持暫停與恢復功能,支持計算與存儲的獨立擴展等。

      2.3 是否上云/如何選擇?

      使用數據倉庫云服務,好處多多。那是否都要上云呢?這需要結合企業需求,考量以下因素來決定。

      1)是否有足夠的技術積累?

      數據倉庫本身具備較高的技術門檻,即使選擇開源也需要摸索積累的過程,除非是直接使用外部商業產品。

      2)是否已經在使用云?

      如果已經是某云的客戶,那么從云做數據集成將更加容易。否則,跨云或從本地加載數據,將是一個大工程。

      3)是否對可用性要求很高?

      這方面各企業差異較大,如企業比較重視可用性,云廠商/商業產品無疑具有優勢。

      4)數據規模是否很大?

      數據倉庫的一個核心難點,就是支撐的數據規模。如企業數據規模非常大,將對自建方式帶來很大挑戰。

      5)擴展需求是否強烈?

      如企業在快速發展期,其數據規模、使用復雜度等變化很大,這就要求數倉具有很好的可擴展性,可快速適應企業發展。云方案相較于其他三種方案,無疑具有優勢。

      6)使用特征變化劇烈?

      如企業的數據使用,非常具有不確定性,即要求數倉具有很好地彈性,可根據需要靈活擴縮容;乃至對查詢能力也同樣有此類要求。非云的三種方案,都很難適應快速變化。

      7)短期成本壓力較大?

      企業有數倉需求,但短期通過自建、外采商業都一次性投入過大,亦可考慮云方案。

      三、數倉的兩種模式

      數倉從技術實現上,有兩種大的分類。在下面說明廠商產品前,簡單普及下。

      3.1 Shared-Nothing

      節點間通過高速網絡互連,訪問本地資源不需要通過網絡。這種方式設計簡單,擴展性較好。在較好的模型設計下,數據無需移動,處理效率高。

      節點本身具有計算和存儲資源,即兩者是需要耦合在一起的。這是此模式的硬傷,即存儲、計算無法分離,無法做到按需獨立彈性。

      3.2 Shared Disk/Storage

      節點間互相訪問或節點訪問存儲,都是需要通過高速網絡。數據本身都是存儲在”遠端存儲”中,而非本地。網絡可能成為瓶頸,受到IO傳輸總量的限制。網絡除了承載節點間的數據交換流量外,更多的是要承擔大量數據訪問的流量。

      這種方式彈性很好,計算、存儲可獨立擴展。

      兩種方式的優劣,尚無統一定論,但較為主流是采用shared disk/storage的共享方式。但這種方式下,遠端存儲的性能?如何利用本地存儲?網絡性能對整體影響?如何實現動態資源分配?擴縮容的實現?等問題均值得研究。

      四、典型數倉云服務

      4.1 Amazon (AWS) Redshift

      Redshift是典型的shared-nothing設計,本地掛載存儲。充分利用AWS的基礎服務,EC2作為計算節點,S3作為存儲及故障恢復使用。優勢在于通過調整和定制,性能表現突出;但其架構也決定了計算與存儲不能獨立縮放。

      支持從多種數據源加載數據,也支持集成流式數據,但只支持結構化數據。支持直接對S3上的數據進行查詢,而無需ETL。其支持PostgreSQL的方言,對有些數據類型和函數不支持。Redshift本身監控組件性能并自動恢復,其他維護工作由用戶負責。日常運維工作,通過用戶手工在控制臺完成。

      4.2 Snowflake

      Snowflake是Shared-storage設計,存儲與計算分離。本身構建在AWS上,充分利用AWS的基礎服務能力,EC2作為計算節點,本地支持緩存,數據表存儲在S3中。它提出一種“虛擬倉庫”的概念,每個查詢可分配到不同的虛擬倉庫中,針對不同的倉庫也分配不同的資源。倉庫間不會影響性能,且倉庫本身具有很高的彈性,可自動提供額外的計算資源。

      支持結構化和半結構化數據,不需要ETL或預處理就可以攝取這些數據。雖然先不支持流式數據,但可連接到Spark以接收流數據。它使用標準SQL并做了適當擴展。其維護比較簡單,不需要維護索引、清理數據等工作。

      4.3 Microsoft Azure SQL Data Warehouse

      SDW是Shared-Storage設計?;谖④浀腟QL Server PDW軟件,利用Azure存儲彈性能力。對T-SQL的全面兼容,可動態調整資源,可通過Ploybase支持非加載訪問。

      4.4 Google BigQuery

      BigQuery是存儲與計算分離設計,利用Google的基礎服務能力,存儲在Collosus FS。工作機制是將SQL查詢轉換為低級指令,依次執行。其完全抽象了資源的提供、分配、維護、擴縮容等,所有都是Google自動處理。非常適合易用性作為第一訴求的場景。存儲上根據處理規模、負載等情況,自動分配分片。計算上資源不專有,在內部和外部客戶復用。不能顯式控制單一查詢的資源使用。計費上使用按計算量收費方式(TB “processed”)

      使用上支持標準SQL,也支持半結構化數據類型,支持外部表。支持從Google云端加載或直接訪問,也可以導入數據流。其沒有索引,除了數據管理外,幾乎不需要維護。

      本文轉載自異步社區。

      軟件開發 Web應用防火墻 WAF

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:那好,請問wps對應的字體大小磅值對照表,和對應的厘米等長度單位是多少
      下一篇:制造業生產系統管理制度(制造業生產管理流程)
      相關文章
      亚洲乳大丰满中文字幕| 一区国严二区亚洲三区| 国产性爱在线观看亚洲黄色一级片| 亚洲aⅴ无码专区在线观看春色 | 亚洲AV无码乱码在线观看代蜜桃| 图图资源网亚洲综合网站| 亚洲成av人片在线观看无码不卡| 亚洲日韩精品无码专区网址| 亚洲午夜久久久久久久久久| 亚洲无线观看国产精品| 亚洲精品国产品国语在线 | 亚洲中文无码av永久| 91亚洲精品自在在线观看| 亚洲免费电影网站| 亚洲一区二区三区免费视频| 亚洲精品福利你懂| 亚洲欧美综合精品成人导航| 亚洲国产无线乱码在线观看| 男人的天堂av亚洲一区2区| 国产午夜亚洲精品不卡免下载| 亚洲AV无码不卡在线观看下载| 亚洲国产精品尤物yw在线| 久久精品国产亚洲Aⅴ香蕉| 亚洲色大成网站WWW久久九九| 国产av天堂亚洲国产av天堂| 亚洲精品无码不卡| 亚洲视频免费观看| 亚洲一区二区三区四区视频 | 亚洲无码一区二区三区| 精品国产亚洲一区二区三区在线观看| 国产成人精品亚洲一区| 国产黄色一级毛片亚洲黄片大全| 国产亚洲精品激情都市| 久久国产精品亚洲一区二区| 亚洲精品国产手机| 亚洲中文字幕无码爆乳| 成人亚洲网站www在线观看| 日韩精品亚洲aⅴ在线影院| 久久精品国产亚洲AV麻豆王友容| 亚洲色图古典武侠| 国产亚洲精aa在线看|