今天,每秒都在生成 TB 和 PB 的數(shù)據(jù),為這些海量數(shù)據(jù)集尋找存儲(chǔ)解決方案至關(guān)重要。復(fù)雜的機(jī)器和技術(shù)現(xiàn)在收集了令人難以置信的廣泛數(shù)據(jù)——每天超過 2.5 萬億字節(jié)!— 來自設(shè)備傳感器、日志、用戶、消費(fèi)者和其他地方。數(shù)據(jù)存儲(chǔ)并不像以前看起來那么簡(jiǎn)單。在管理和存儲(chǔ)數(shù)據(jù)時(shí),數(shù)據(jù)管理者需要考慮使用數(shù)據(jù)湖或數(shù)據(jù)倉庫作為存儲(chǔ)庫。
隨著數(shù)據(jù)量、速度和種類的增加,選擇合適的數(shù)據(jù)平臺(tái)來管理數(shù)據(jù)從未像現(xiàn)在這樣重要。它應(yīng)該是迄今為止?jié)M足我們需求的古老數(shù)據(jù)倉庫,還是應(yīng)該是承諾支持任何類型工作負(fù)載的任何類型數(shù)據(jù)的數(shù)據(jù)湖? 在這里,我們深入探討了這兩個(gè)平臺(tái)。
數(shù)據(jù)湖
數(shù)據(jù)湖是一個(gè)中央存儲(chǔ)庫,可以大量存儲(chǔ)所有數(shù)據(jù)(結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù))。數(shù)據(jù)通常以原始格式存儲(chǔ),無需首先進(jìn)行處理或結(jié)構(gòu)化。在這種情況下,它可以針對(duì)手頭的目的進(jìn)行優(yōu)化和處理,無論是交互式分析、下游機(jī)器學(xué)習(xí)或分析應(yīng)用程序的儀表板。
可以這樣想,數(shù)據(jù)湖就像一個(gè)大水體,比如說一個(gè)處于自然狀態(tài)的湖。數(shù)據(jù)湖是使用來自各種來源的數(shù)據(jù)流創(chuàng)建的,然后,多個(gè)用戶可以來到湖中對(duì)其進(jìn)行檢查并取樣。
數(shù)據(jù)湖的美妙之處在于每個(gè)人都在查看和操作相同的數(shù)據(jù)。消除多個(gè)數(shù)據(jù)源并在數(shù)據(jù)湖中擁有一個(gè)可引用的“黃金”數(shù)據(jù)集來保障組織內(nèi)的一致性,因?yàn)橛糜谠L問組織中智能的任何其他下游存儲(chǔ)庫或技術(shù)都將同步。這很關(guān)鍵。
使用這種集中的數(shù)據(jù)源,就不會(huì)從不同的孤島中提取數(shù)據(jù);組織中的每個(gè)人都有一個(gè)單一的事實(shí)來源。
該模式為公司的分析生命周期提供了近乎無限的能力:
攝取:數(shù)據(jù)以任何原始格式到達(dá)并存儲(chǔ)以供將來分析或?yàn)?zāi)難恢復(fù)。公司通常會(huì)根據(jù)隱私、生產(chǎn)訪問以及將利用傳入信息的團(tuán)隊(duì)來劃分多個(gè)數(shù)據(jù)湖。
存儲(chǔ):數(shù)據(jù)湖允許企業(yè)管理和組織幾乎無限量的信息。云對(duì)象存儲(chǔ)以較低的成本為大數(shù)據(jù)計(jì)算提供高可用性訪問。
流程:借助云計(jì)算,基礎(chǔ)設(shè)施現(xiàn)在只需一個(gè) API 調(diào)用即可。這是從數(shù)據(jù)湖中的原始狀態(tài)獲取數(shù)據(jù)并格式化以與其他信息一起使用的時(shí)候。這些數(shù)據(jù)也經(jīng)常使用高級(jí)算法進(jìn)行聚合、合并或分析。然后將數(shù)據(jù)推回?cái)?shù)據(jù)湖以供商業(yè)智能或其他應(yīng)用程序存儲(chǔ)和進(jìn)一步使用。
消費(fèi):當(dāng)我們談?wù)撟灾?wù)數(shù)據(jù)湖時(shí),消費(fèi)通常是生命周期中的階段。此時(shí),數(shù)據(jù)可供業(yè)務(wù)和客戶根據(jù)需要進(jìn)行分析。根據(jù)復(fù)雜用例的類型,最終用戶還可以間接或直接以預(yù)測(cè)(預(yù)測(cè)天氣、財(cái)務(wù)、運(yùn)動(dòng)表現(xiàn)等)或感知分析(推薦引擎、欺詐檢測(cè)、基因組測(cè)序、 ETC)。
數(shù)據(jù)湖支持原生流,數(shù)據(jù)流在其中被處理并在到達(dá)時(shí)可用于分析。數(shù)據(jù)管道在從數(shù)據(jù)流接收數(shù)據(jù)時(shí)轉(zhuǎn)換數(shù)據(jù),并觸發(fā)分析所需的計(jì)算。數(shù)據(jù)湖的原生流式傳輸特性使其非常適合流式分析。
數(shù)據(jù)倉庫
數(shù)據(jù)倉庫發(fā)明于1980 年底,專為業(yè)務(wù)應(yīng)用程序生成的高度結(jié)構(gòu)化數(shù)據(jù)而設(shè)計(jì)。它將組織的所有數(shù)據(jù)集中在一起并以結(jié)構(gòu)化方式存儲(chǔ)。它通常用于連接和分析來自異構(gòu)來源的數(shù)據(jù)。
數(shù)據(jù)倉庫架構(gòu)依賴于數(shù)據(jù)結(jié)構(gòu)來支持高性能的 SQL(結(jié)構(gòu)化查詢語言)操作。數(shù)據(jù)倉庫是專門為基于 SQL 的訪問而構(gòu)建和優(yōu)化的,以支持商業(yè)智能,但為流分析和機(jī)器學(xué)習(xí)提供有限的功能。它們受到 ETL 要求的限制,需要在存儲(chǔ)數(shù)據(jù)之前對(duì)其進(jìn)行預(yù)處理。
數(shù)據(jù)倉庫在數(shù)據(jù)用于分析之前需要順序 ETL攝取和轉(zhuǎn)換數(shù)據(jù),因此它們對(duì)于流式分析效率低下。一些數(shù)據(jù)倉庫支持“微批處理”以經(jīng)常以小增量收集數(shù)據(jù)。它支持順序 ETL 操作,其中數(shù)據(jù)以瀑布模型從原始數(shù)據(jù)格式流向完全轉(zhuǎn)換的集合,并針對(duì)快速性能進(jìn)行了優(yōu)化。
數(shù)據(jù)倉庫以專有格式存儲(chǔ)數(shù)據(jù)。一旦數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)倉庫中,對(duì)該數(shù)據(jù)的訪問僅限于 SQL 和數(shù)據(jù)倉庫提供的自定義驅(qū)動(dòng)程序。一些較新的數(shù)據(jù)倉庫支持半結(jié)構(gòu)化數(shù)據(jù),例如 JSON、Parquet 和 XML 文件;與結(jié)構(gòu)化數(shù)據(jù)集相比,它們對(duì)此類數(shù)據(jù)集的支持有限且性能下降。數(shù)據(jù)倉庫不能完全支持存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)湖和數(shù)據(jù)倉庫之間的區(qū)別
數(shù)據(jù)倉庫和商業(yè)智能工具支持歷史數(shù)據(jù)的報(bào)告和分析,而數(shù)據(jù)湖支持利用數(shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)、預(yù)測(cè)和實(shí)時(shí)分析的新用例。
雖然一些數(shù)據(jù)倉庫擴(kuò)展了基于 SQL 的訪問以提供機(jī)器學(xué)習(xí)功能,但它們不提供原生支持來運(yùn)行廣泛可用的程序化數(shù)據(jù)處理框架,例如 Apache Spark、Tensorflow 等。
相比之下,數(shù)據(jù)湖是機(jī)器學(xué)習(xí)用例的理想選擇。它們不僅提供基于 SQL 的數(shù)據(jù)訪問,還通過 Python、Scala、Java 等語言為 Apache Spark 和 Tensorflow 等編程分布式數(shù)據(jù)處理框架提供原生支持。
數(shù)據(jù)倉庫需要在數(shù)據(jù)用于分析之前順序 ETL攝取和轉(zhuǎn)換數(shù)據(jù),因此它們對(duì)于流式分析效率低下。一些數(shù)據(jù)倉庫支持“微批處理”以經(jīng)常以小增量收集數(shù)據(jù)。這種流到批處理的轉(zhuǎn)換增加了數(shù)據(jù)到達(dá)與用于分析之間的時(shí)間,使得數(shù)據(jù)倉庫不適用于多種形式的流分析。
數(shù)據(jù)湖支持本地流式傳輸,其中數(shù)據(jù)流在到達(dá)時(shí)被處理并可供分析。數(shù)據(jù)管道在從數(shù)據(jù)流接收數(shù)據(jù)時(shí)轉(zhuǎn)換數(shù)據(jù),并觸發(fā)分析所需的計(jì)算。數(shù)據(jù)湖的原生流式傳輸特性使其非常適合流式分析。 數(shù)據(jù)倉庫支持順序 ETL 操作,其中數(shù)據(jù)以瀑布模型從原始數(shù)據(jù)格式流向完全轉(zhuǎn)換的集合,并針對(duì)快速性能進(jìn)行了優(yōu)化。
相比之下,對(duì)于需要持續(xù)數(shù)據(jù)工程的用例,數(shù)據(jù)湖異常強(qiáng)大。在數(shù)據(jù)湖中,ETL 的瀑布方法被迭代和連續(xù)的數(shù)據(jù)工程所取代??梢酝ㄟ^ SQL 和編程接口迭代地訪問和轉(zhuǎn)換數(shù)據(jù)湖中的原始數(shù)據(jù),以滿足用例不斷變化的需求。這種對(duì)持續(xù)數(shù)據(jù)工程的支持對(duì)于交互式分析和機(jī)器學(xué)習(xí)至關(guān)重要。
揭穿關(guān)于數(shù)據(jù)湖和數(shù)據(jù)倉庫的三大神話
讓我們解決一些關(guān)于兩種流行的數(shù)據(jù)存儲(chǔ)類型的常見誤解:
誤區(qū)一:只需要數(shù)據(jù)湖或數(shù)據(jù)倉庫中的一個(gè)
如今,經(jīng)常聽到人們談?wù)摂?shù)據(jù)湖和數(shù)據(jù)倉庫,好像企業(yè)必須選擇其中一個(gè)。但現(xiàn)實(shí)情況是,數(shù)據(jù)湖和數(shù)據(jù)倉庫服務(wù)于不同的目的。雖然兩者都提供數(shù)據(jù)存儲(chǔ),但它們使用不同的結(jié)構(gòu),支持不同的格式,并針對(duì)不同的用途進(jìn)行了優(yōu)化。通常,公司可能會(huì)從使用數(shù)據(jù)倉庫和數(shù)據(jù)湖中受益。
數(shù)據(jù)倉庫最適合希望為商業(yè)智能分析操作系統(tǒng)數(shù)據(jù)的企業(yè)。數(shù)據(jù)倉庫在這方面工作得很好,因?yàn)榇鎯?chǔ)的數(shù)據(jù)是結(jié)構(gòu)化、清理和準(zhǔn)備分析的。同時(shí),數(shù)據(jù)湖允許企業(yè)以任何格式存儲(chǔ)數(shù)據(jù)以用于幾乎任何用途,包括機(jī)器學(xué)習(xí) (ML) 模型和大數(shù)據(jù)分析。
誤區(qū) 2:數(shù)據(jù)湖是流行趨勢(shì),數(shù)據(jù)倉庫不是
人工智能 (AI) 和 ML 代表了一些增長最快的云工作負(fù)載,組織越來越多地轉(zhuǎn)向數(shù)據(jù)湖來幫助確保這些項(xiàng)目的成功。由于數(shù)據(jù)湖允許存儲(chǔ)幾乎任何類型的數(shù)據(jù)(結(jié)構(gòu)化和非結(jié)構(gòu)化)而無需事先準(zhǔn)備或清理,因此組織能夠保留盡可能多的潛在價(jià)值以供將來使用,未指定使用。此設(shè)置非常適合更復(fù)雜的工作負(fù)載,例如尚未確定具體數(shù)據(jù)類型和用途的機(jī)器學(xué)習(xí)模型。
數(shù)據(jù)倉庫可能是這兩種選擇中更為人所知的一種,但數(shù)據(jù)湖和類似類型的存儲(chǔ)基礎(chǔ)設(shè)施可能會(huì)隨著數(shù)據(jù)工作負(fù)載的趨勢(shì)而繼續(xù)流行。數(shù)據(jù)倉庫適用于某些類型的工作負(fù)載和用例,而數(shù)據(jù)湖代表了服務(wù)于其他類型工作負(fù)載的另一種選擇。
誤區(qū)三:數(shù)據(jù)倉庫易于使用,而數(shù)據(jù)湖很復(fù)雜
數(shù)據(jù)湖需要數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家的特定技能來分類和利用其中存儲(chǔ)的數(shù)據(jù)。數(shù)據(jù)的非結(jié)構(gòu)化性質(zhì)使得那些不了解數(shù)據(jù)湖如何工作的人更不容易訪問它。
但是,一旦數(shù)據(jù)科學(xué)家和數(shù)據(jù)工程師構(gòu)建了數(shù)據(jù)模型或管道,業(yè)務(wù)用戶通??梢岳门c流行業(yè)務(wù)工具的集成(自定義或預(yù)構(gòu)建)來探索數(shù)據(jù)。同樣,大多數(shù)業(yè)務(wù)用戶通過連接的商業(yè)智能 (BI) 工具訪問存儲(chǔ)在數(shù)據(jù)倉庫中的數(shù)據(jù)。在第三方 BI 工具的幫助下,業(yè)務(wù)用戶應(yīng)該能夠訪問和分析數(shù)據(jù),無論該數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)倉庫還是數(shù)據(jù)湖中。
構(gòu)建現(xiàn)代數(shù)據(jù)平臺(tái)的原則
盡量減少數(shù)據(jù)平臺(tái)中人員、網(wǎng)絡(luò)和磁盤操作的影響。雖然人類永遠(yuǎn)無法像計(jì)算機(jī)一樣快,但網(wǎng)絡(luò)和磁盤操作是客觀問題。為了減少這些問題的影響,避免在各處復(fù)制數(shù)據(jù),加強(qiáng)平臺(tái)讀取和處理來自不同位置的數(shù)據(jù)的能力,包括事務(wù)性、發(fā)布/子系統(tǒng)和數(shù)據(jù)倉庫系統(tǒng),而無需當(dāng)天移動(dòng)。
構(gòu)建現(xiàn)代數(shù)據(jù)平臺(tái)的原則是:
把事情簡(jiǎn)單化,不要過度架構(gòu)或過度設(shè)計(jì);
為正確的工作使用正確的工具;
讓用例決定你應(yīng)該使用什么;
使用云進(jìn)行擴(kuò)展;
將數(shù)據(jù)與上下文分開,這將使數(shù)據(jù)能夠用于多個(gè)用例。
數(shù)據(jù)湖和數(shù)據(jù)倉庫:用例
Data Lake 已經(jīng)成為一個(gè)強(qiáng)大的平臺(tái),企業(yè)可以使用它來管理、挖掘大量非結(jié)構(gòu)化數(shù)據(jù)并將其貨幣化,以獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。因此,公司對(duì)數(shù)據(jù)湖平臺(tái)的采用率急劇增加。
在這種利用大數(shù)據(jù)的熱潮中,一直存在一種誤解,即 Data Lake 旨在取代數(shù)據(jù)倉庫,而實(shí)際上,Data Lake 旨在補(bǔ)充傳統(tǒng)的關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS)。
數(shù)據(jù)倉庫適用于某些類型的工作負(fù)載和用例,而數(shù)據(jù)湖代表了服務(wù)于其他類型工作負(fù)載的另一種選擇。
用例應(yīng)該驅(qū)動(dòng)數(shù)據(jù)平臺(tái)架構(gòu)。
如果您的用例需要速度、具有已知的數(shù)據(jù)模型、完全結(jié)構(gòu)化或非常接近它,那么 SQL 數(shù)據(jù)倉庫就足夠了。但是,如果您需要及時(shí)靈活地對(duì)數(shù)據(jù)進(jìn)行建模并將其用于多種工作負(fù)載,您應(yīng)該使用數(shù)據(jù)湖。
組織將依靠多種技術(shù)的最佳解決方案,包括數(shù)據(jù)倉庫和數(shù)據(jù)湖。最終,組織的選擇需要平衡管理多種技術(shù)的復(fù)雜性和 TCO 與以高性能和經(jīng)濟(jì)高效的方式運(yùn)行更多種類的工作負(fù)載的能力。
未來該如何選擇
我們現(xiàn)在處于這樣一個(gè)階段,我們不僅可以使用數(shù)據(jù)來回顧過去,還可以了解現(xiàn)在,甚至可以預(yù)測(cè)未來。數(shù)據(jù)和工具將不斷發(fā)展,以幫助我們幾乎實(shí)時(shí)地到達(dá)那里。
將數(shù)據(jù)與上下文分開。進(jìn)來的數(shù)據(jù)不一定有你想用它的上下文。所以,在弄清楚你想用它做什么之前,把將數(shù)據(jù)獲取到一個(gè)位置的想法分開。因?yàn)閷?shí)際上,您將對(duì)該數(shù)據(jù)進(jìn)行多種用途。因此,您永遠(yuǎn)不知道您可以將這些數(shù)據(jù)用于什么用途。因此,如果您首先獲取數(shù)據(jù),然后弄清楚您想用它做什么,通常會(huì)導(dǎo)致使用這些數(shù)據(jù)產(chǎn)生更積極的結(jié)果。
數(shù)據(jù)倉庫供應(yīng)商正在逐漸從他們現(xiàn)有的模型轉(zhuǎn)向數(shù)據(jù)倉庫和數(shù)據(jù)湖模型的融合。同樣,數(shù)據(jù)湖的供應(yīng)商現(xiàn)在正在擴(kuò)展到數(shù)據(jù)倉庫領(lǐng)域,雙方正在趨同。例如,BigQuery 現(xiàn)在允許組織在 Amazon S3 上查詢數(shù)據(jù)。同樣,Databricks 和 Qubole 等數(shù)據(jù)湖平臺(tái)現(xiàn)在正在果斷地轉(zhuǎn)向數(shù)據(jù)倉庫用例。您可以使用 ACID 屬性、事務(wù)一致性、快照等來管理存儲(chǔ),并將查詢引擎更多地與存儲(chǔ)管理集成,為客戶創(chuàng)建湖倉模式。數(shù)據(jù)湖和數(shù)據(jù)倉庫之間的融合不僅僅是在談?wù)?,而是正在現(xiàn)實(shí)中應(yīng)用。
審核編輯:劉清
-
API
+關(guān)注
關(guān)注
2文章
1472瀏覽量
61750 -
SQL
+關(guān)注
關(guān)注
1文章
753瀏覽量
44032 -
ETC
+關(guān)注
關(guān)注
0文章
187瀏覽量
28053 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8352瀏覽量
132315
原文標(biāo)題:一文讀懂選擇數(shù)據(jù)湖還是數(shù)據(jù)倉庫
文章出處:【微信號(hào):IndustryIOT,微信公眾號(hào):工業(yè)互聯(lián)網(wǎng)前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論