讀資料工程之道:設計和構建健壯的資料系統33未來

躺柒發表於2024-11-10

1. 未來

1.1. 運營的優先順序和最佳實踐與技術可能會改變,但生命週期的主要階段會在許多年內保持不變

1.2. 隨著組織以新的方式利用資料,將需要新的基礎、系統和工作流來滿足這些需求

1.3. 如果工具變得更容易使用,資料工程師就會向價值鏈上游移動,專注於更高階別的工作

1.4. 資料工程生命週期不會很快消失

1.5. 簡化的、易用的工具繼續降低著資料工程師的准入門檻

1.6. 大資料相關技術總會青出於藍

  • 1.6.1. 谷歌BigQuery是GFS和MapReduce的後裔,可以查詢PB級的資料

  • 1.6.2. 雲的出現導致開源工具的使用產生重大轉折

  • 1.6.3. 雲託管的開源工具與雲專有的服務一樣容易使用

  • 1.6.3.1. 有高度專業化需求的公司也可以部署雲託管的開源,然後如果它們需要定製底層程式碼,再轉向到自管理的開源工具

1.7. 現成的資料聯結器越來越受歡迎

  • 1.7.1. 新一代的託管聯結器是非常引人注目的,即使對專精於此的工程師來說也是如此,因為他們開始認識到這種工具可以節省時間和精力

1.8. 技術趨勢不僅是由那些造輪子的人決定的,也是由那些用好輪子的人決定的

  • 1.8.1. 有效地使用工具與創造工具同樣重要

  • 1.8.2. 下一步可以找機會應用實時技術、改善使用者體驗、創造價值,並定義全新的應用程式型別

2. 雲資料作業系統及其高互通性

2.1. 類似作業系統服務,但規模要更大,在許多機器上執行而不是單一的伺服器

2.2. 雲資料作業系統這一概念的進化的下一個前沿將在更高層級發展

2.3. 新一代檔案格式(如Parquet和Avro)已經開始用於雲資料交換,大大改善了CSV互操作性和原生JSON的效能

2.4. 資料API生態系統的另一個關鍵部分是包括了模式和資料層級的後設資料目錄,目前普遍使用的是傳統的Hive Metastore

  • 2.4.1. 後設資料將在資料互操作性方面發揮關鍵作用,包括跨應用程式和系統以及跨雲和網路,並推動自動化和簡化

2.5. 管理雲資料服務的腳手架也會有重大改進

  • 2.5.1. Apache Airflow已經成為第一個真正面向雲的資料任務編排平臺

  • 2.5.2. 下一代的資料編排平臺將以增強資料整合和資料可感知性為特徵

  • 2.5.2.1. 任務編排平臺將與資料目錄和資料血緣整合,資料可感知性因此會極大增強

2.6. 流管道和資料庫能夠獲取和查詢流資料

  • 2.6.1. Apache Pulsar這樣的工具為指明瞭未來,即流式DAG可以用相對簡單的程式碼來部署複雜的轉換

2.7. 更復雜的移動作業系統沙盤框架並沒有淘汰移動應用程式開發人員

  • 2.7.1. 移動應用程式開發人員現在可以專注於構建質量更好、更復雜的應用程式

2.8. 雲資料作業系統正規化提高了各種應用程式和系統的互操作性和簡易性

3. “企業級”資料工程

3.1. 資料工具的日益簡化和最佳實踐的流傳意味著資料工程將變得更加“企業級”

3.2. 曾經只給巨型組織使用的技術和實踐正在向下遊滲透

3.3. 大資料和流資料曾經的困難部分現在已經被抽象化,重點轉移到了易用性、互操作性和其他改進上

4. 資料工程師的頭銜和職責將發生的變化

4.1. 許多資料科學家是透過一個有機的過程轉變為資料工程師的

4.2. 這類跨角色但專注於機器學習的新工程師將瞭解演算法、機器學習技術、模型最佳化、模型監控和資料監控

4.3. 主要任務將是建立或利用自動訓練模型的系統、監控效能,並將眾所周知的模型型別變為整套可運作的機器學習流程

4.4. 可能改變的職位發生在軟體工程和資料工程的交叉點上

  • 4.4.1. 軟體工程師將需要對資料工程有更深入的瞭解,學習如流處理、資料管道、資料建模和資料質量等方面的專業知識

5. 邁向實時資料棧

5.1. 現代資料棧(Modern Data Stack,MDS)並不那麼現代

  • 5.1.1. MDS基本上是現代雲和SaaS技術對舊資料倉儲實踐的重新包裝

  • 5.1.2. MDS是圍繞雲資料倉儲正規化建立的,因此它與下一代實時資料應用程式的潛力相比有一些嚴重的限制

  • 5.1.3. 現實的需求正在超越基於資料倉儲的內部分析和資料科學,需要用下一代實時資料庫為整個企業和應用程式提供實時支援

  • 5.1.4. MDS將自己限制在視資料為有界的批處理技術上

5.2. 目前大多數看板和報表在回答“是什麼”和“什麼時間”

  • 5.2.1. 如果直接知道怎麼做了,為什麼還要再看報表呢?

  • 5.2.1.1. “做什麼”就可以自動化了

5.3. 真正的實時資料應用程式,在點選按鈕時提供所需要的行動,同時在幕後進行極其複雜但快速的資料處理和機器學習

  • 5.3.1. ELT、雲資料倉儲和SaaS資料管道的抽象無疑改變了許多公司的遊戲規則,為BI、分析和資料科學開闢了新的力量

5.4. 實時技術的民主化將引導我們走向MDS的續集:實時資料棧的上市和普及

  • 5.4.1. 將透過流技術將實時分析和機器學習融合到應用程式中,涵蓋從應用程式源系統到資料處理再到機器學習的整個資料生命週期,迴圈往復

  • 5.4.2. 將企業內部的資料倉儲和管道技術帶給大眾一樣,實時資料棧將精英科技公司使用的實時資料應用程式技術作為易於使用的雲產品提供給各種規模的公司

5.5. 實時資料應用程式將資料視為無界的、連續的流

  • 5.5.1. 流式管道和實時分析資料庫作為兩個核心技術,將促進MDS到實時資料棧的轉變

  • 5.5.2. 流資料將用其更多業務用途證明這種預期

  • 5.5.3. 流式傳輸將從根本上改變組織技術和業務流程

5.6. 實時分析資料庫可以實現對這些資料的快速獲取和亞秒級的查詢

  • 5.6.1. 資料可以被擴充或與歷史資料集相結合

  • 5.6.2. 當與流式管道和自動化相結合時,或者與實時分析的儀表板結合時,一個全新的可能性就出現了

  • 5.6.2.1. 將不再受制於執行緩慢的ELT流程、間隔15分鐘的更新,或其他要等待的環節,資料變成了連續流動的

5.7. 隨著流式獲取變得越來越普遍,批次獲取將越來越少

  • 5.7.1. 將從ELT(也就是資料庫內轉換)轉變為更像ETL的東西

  • 5.7.2. 在流的語境下資料抽取是一個持續的、連續的過程

  • 5.7.3. 批次轉換不會完全消失

  • 5.7.3.1. 批處理對於模型訓練、季度報表等仍將非常有用

  • 5.7.4. 流式轉換將成為常態

5.8. 資料倉儲和資料湖對於容納大量的資料和執行點對點查詢是很好的,但它們對於低延遲的資料獲取或對快速傳輸的資料的查詢卻沒有那麼好的最佳化

5.9. 實時資料棧將由專門為流而設計的OLAP資料庫驅動

  • 5.9.1. 像Druid、ClickHouse、Rockset和Firebolt這樣的資料庫在為下一代資料應用的後端賦能方面處於領先地位

5.10. ⑩資料與應用程式的融合

  • 5.10.1. 應用程式棧將成為資料棧,反之亦然

  • 5.10.2. 應用程式將整合實時自動化和決策,由流式管道和機器學習驅動

  • 5.10.3. 資料工程生命週期不一定會改變,但生命週期各階段之間的時間將大幅縮短

5.11. ⑾應用程式和機器學習之間的緊密反饋迴圈

  • 5.11.1. 應用程式和機器學習的融合

  • 5.11.2. 當下,應用程式和機器學習是不相干的系統,就像應用程式和分析那樣是分離開的

  • 5.11.2.1. 軟體工程師、資料科學家和機器學習工程師相互獨立工作

  • 5.11.3. 機器學習非常適用於那些資料生成的速度和數量驚人到無法手動處理的場景

  • 5.11.4. 隨著資料規模和速度的增長,機器學習會變得適用於所有場景

  • 5.11.5. 大量快速移動的資料,加上覆雜的工作流和步驟,能讓機器學習一展身手

  • 5.11.6. 隨著資料反饋迴路的縮短,我們預計大多數應用程式都能整合機器學習

  • 5.11.6.1. 隨著資料的快速移動,應用程式和機器學習之間的反饋迴圈將變得緊密

  • 5.11.6.2. 實時資料棧中的應用程式應當是智慧的,並能夠實時適應資料的變化

5.12. ⑿電子表格

  • 5.12.1. 電子表格的使用者群在7億~20億人之間

  • 5.12.2. 電子表格是資料世界的“暗物質”​

  • 5.12.3. 大量的資料分析都是在電子表格中執行的,從不屬於我們在本書中描述的複雜的資料系統

  • 5.12.4. 電子表格是一種支援複雜分析的互動式資料應用程式

  • 5.12.5. 與pandas(Python資料分析庫)等純粹的基於程式碼的工具不同,電子表格可以被各種使用者使用,從那些只知道如何開啟檔案和看報表的使用者到可以編寫複雜的程式性資料處理的高階使用者

相關文章