數據湖的歷史和演變

數據管理的早期:數據庫

在數據管理的早期,關係數據庫是公司用來收集、存儲和分析數據的主要方法。關係數據庫,也稱爲關係數據庫管理系統 (RDBMS),爲公司提供了一種使用結構化查詢語言 (SQL) 存儲和分析有關其客戶的高度結構化數據的方法。多年來,關係型數據庫足以滿足企業的需求:需要存儲的數據量較小,關係型數據庫簡單可靠。直到今天,關係數據庫仍然是存儲不太大的高度結構化數據的絕佳選擇。然而,數據的速度和規模即將爆發。

 

互聯網的興起和數據孤島

隨着互聯網的興起,公司發現自己充斥着客戶數據。要存儲所有這些數據,單個數據庫已不再足夠。公司通常會建立多個按業務線組織的數據庫來保存數據。隨着數據量的增長和增長,公司最終可能會擁有數十個具有不同用戶和目的的斷開連接的數據庫。

一方面,這是一種祝福:有了更多更好的數據,公司能夠比以往任何時候都更準確地定位客戶並管理他們的運營。另一方面,這導致了數據孤島:整個組織中分散的、分散的數據存儲。由於沒有集中和綜合數據的方法,許多公司未能將其綜合成可操作的見解。這種痛苦導致了數據倉庫的興起。

 

數據倉庫的誕生是爲了將公司的結構化數據統一在一個屋檐下

如此多的數據存儲在不同的源系統中,公司需要一種方法來集成它們。“360 度客戶視圖”的想法成爲當時的想法,數據倉庫的誕生就是爲了滿足這一需求,並將整個組織中的不同數據庫聯合起來。

數據倉庫作爲一種技術出現,它將組織的關係數據庫集合集中在一個傘下,允許作爲一個整體查詢和查看數據。起初,數據倉庫通常運行在來自 Teradata 和 Vertica 等供應商的昂貴的、基於本地設備的硬件上,後來在雲中可用。從 90 年代末開始,數據倉庫成爲大公司最主要的數據架構。該技術的主要優點包括:

  • 整合多種數據源
  • 爲讀取訪問優化的數據
  • 能夠運行快速的即席分析查詢
  • 數據審計、治理和沿襲

數據倉庫很好地滿足了他們的目的,但隨着時間的推移,這項技術的缺點變得明顯。

  • 無法存儲非結構化的原始數據
  • 昂貴的專有硬件和軟件
  • 由於存儲和計算能力的緊密耦合而難以擴展

 

Apache Hadoop™ 和 Spark™ 支持非結構化數據分析,併爲現代數據湖奠定基礎

隨着 2000 年代初期“大數據”的興起,公司發現他們需要對無法在一臺計算機上容納的數據集進行分析。此外,他們需要分析的數據類型並不總是結構整齊——公司也需要利用非結構化數據的方法。爲了使大數據分析成爲可能,並解決對數據倉庫成本和供應商鎖定的擔憂,Apache Hadoop™作爲開源分佈式數據處理技術出現。

什麼是Hadoop?

Apache Hadoop™ 是一組用於大數據分析的開源軟件,允許使用並行工作的計算機集羣處理大型數據集。它包括Hadoop MapReduceHadoop 分佈式文件系統 (HDFS)YARN(又一個資源談判器)HDFS 允許將單個數據集存儲在許多不同的存儲設備上,就好像它是單個文件一樣。它與 MapReduce 算法協同工作,該算法確定如何將大型計算任務(如統計計數或聚合)拆分爲可以在計算集羣上並行運行的小得多的任務。

Hadoop 的引入是大數據分析的一個分水嶺,主要有兩個原因。首先,這意味着一些公司可以從昂貴的專有數據倉庫軟件轉向運行免費和開源 Hadoop 的內部計算集羣。其次,它允許公司以前所未有的方式分析大量非結構化數據。在 Hadoop 之前,擁有數據倉庫的公司通常只能分析高度結構化的數據,但現在他們可以從更大的數據池中提取價值,其中包括半結構化和非結構化數據。一旦公司具備分析原始數據的能力,收集和存儲這些數據就變得越來越重要——爲現代數據湖奠定了基礎。

早期的數據湖建立在 Hadoop 上

建立在 Hadoop MapReduce 和 HDFS 上的早期數據湖取得了不同程度的成功。許多早期的數據湖都使用 Apache Hive™ 使用戶能夠使用面向 Hadoop 的 SQL 引擎查詢他們的數據。一些早期的數據湖成功了,而另一些則由於 Hadoop 的複雜性和其他因素而失敗。直到今天,許多人仍然將“數據湖”一詞與 Hadoop 聯繫在一起,因爲它是第一個能夠收集和分析大量非結構化數據的框架。然而,如今,許多現代數據湖架構已從本地 Hadoop 轉變爲在雲中運行 Spark。儘管如此,這些最初的嘗試仍然很重要,因爲這些 Hadoop 數據湖是現代數據湖的先驅。隨着時間的推移,Hadoop 的受歡迎程度有所下降,

 

Apache Spark:支持現代數據湖的統一分析引擎

Hadoop 推出後不久,Apache Spark被介紹了。Spark 將 MapReduce 的想法更進一步,爲大數據的分佈式計算提供了一個強大的、通用的框架。隨着時間的推移,Spark 在數據從業者中越來越受歡迎,主要是因爲它易於使用,在基準測試中表現良好,並提供了額外的功能,增加了它的實用性並擴大了它的吸引力。例如,Spark 的交互模式使數據科學家能夠對龐大的數據集進行探索性數據分析,而無需花時間在低價值的工作上,例如編寫複雜的代碼將數據轉換爲可靠的來源。Spark 還使得大規模訓練機器學習模型、使用 SQL 查詢大數據集以及使用 Spark Streaming 快速處理實時數據成爲可能,

自推出以來,Spark 的受歡迎程度不斷提高,並已成爲大數據處理的事實上的標準,這在很大程度上歸功於社區成員的忠實基礎和專門的開源貢獻者。今天,許多現代數據湖架構使用 Spark 作爲處理引擎,使數據工程師和數據科學家能夠執行 ETL、優化數據和訓練機器學習模型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章