2017年的數據工程生態系統
自從我們在2014年推出Insight Data Engineering Fellows計劃以來,我們與數據行業的75多個團隊建立了聯繫,討論了頂級團隊(如Facebook,Airbnb,Slack,紐約時報,LinkedIn,亞馬遜和Tesla)工程師面臨的最新挑戰。此外,我們不斷增長的校友網路現在有著150多名工程師和750多名數據科學家 ,經常在Insight社區分享他們的經驗。感謝這個強大的社區,我們有一個探索數據領域技術新興模式的獨一無二的基地。
我們不斷探索將這些知識傳遞給下一代數據工程師和擴散的更多數據社區的方法,開發了更為互動的數據工程生態系統圖,該迭代提供了數據管道核心組件的簡化視圖,同時更深入地探索了分散式系統技術的複雜世界。
數據工程趨勢
通過更新此地圖,我們已經反映了當前數據團隊可用的工具和服務的最新變化。強調了一些值得注意的趨勢。
科技融合:Kafka 和 Spark
儘管有著數量巨大的工具被引入數據工程領域,似乎有兩個顯著的趨同點。
在眾多可用的排隊技術中,Kafka 是最廣泛採用的。
自從LinkedIn於2011年將其基於日誌的解決方案發布給開源社區以來,Kafka的流行程度一直在穩步上升,現在已成為流媒體數據的默認攝取工具。
除了流媒體數據之外,Kafka越來越多地被用作許多公司的微服務的集中式消息匯流排 。除了讓人印象深刻的高吞吐量、高可靠性和與許多其他流行技術的集成之外,其廣為流行的原因就是易於使用。
其他廣為傳播的技術有Apache Spark,通用的分散式處理框架。
自從Hadoop早期壟斷「大數據」以來,出現了許多有能力的框架,Spark已經鞏固了其處理大規模數據的「默認」工具的地位。
Spark已經被證明是一個功能全面的工具,從傳統批處理到在線機器學習模型的一切工作都能勝任。 Spark高水平的開發,像DataFrames和SQL一樣結構化的APIs,以及流和圖形庫使得它可以使用代碼庫解決許多實際問題。和Kafka一樣,它有著很棒的社區支持,而且很多新的和現有的項目正在與Spark集成。
雖然Kafka和Spark是受歡迎的選擇,但肯定不適合每一種用例。調查每個工具的優點,缺點和替代方案很重要。我們經常在Insight強調,請務必選擇正確的工具!
架構趨勢:與Kappa統一
除了特定技術的趨勢,我們注意到許多團隊朝著理想化的Kappa架構前進。與Lambda方法相反,許多技術現在採用的批處理問題只是流處理問題的一個子集。
雖然還不是最前沿的,但像Flink , Apex和Gearpump這樣的技術正在推動向統一批處理和流處理框架的願景前進。即使是Spark,隨著結構化流的發布,現在提供了一個單一的界面來操作批量和流數據。
從某種意義上說, Apache Beam項目是這些努力的結果。基於Google的數據流模型,Beam旨在創建一個統一的API,允許開發人員編寫與其下的處理引擎無關的應用。
隨著Apache Beam等統一處理框架和項目的出現,Kappa架構可能會快速被採用。不管架構如何,隨著處理框架的不斷改進和發展,我們期待看到批處理和流處理之間的界線仍然模糊。
託管服務增加
雖然稍有爭議,「無伺服器」的產品也是一個發展趨勢。「紐約時報」等數據團隊越來越希望直接架構數據管道,而不用去管理雲基礎設施。雖然這些服務的生產用例相對有限,但它們提供的功能正在不斷改進。通過像AWS S3,Redshift,Athena,EMR,Kinesis和Lambda以及GCP的BigQuery,Pub / Sub和DataProc這樣的服務,主要的雲提供商正在為這些全方位服務的解決方案提供投資。
類似於從「內部」伺服器到雲基礎設施的過渡,數據團隊可能會越來越多地利用數據服務。同時,部分自助服務和部分託管的混合架構將變得越來越普遍。
雲提供商的趨勢:AWS與GCP
過去幾年的另一個顯著變化是亞馬遜網路服務(AWS)面臨的競爭增多。雖然像Microsoft Azure,IBM,DigitalOcean和Rackspace這樣的平台已經存在了一段時間,但似乎沒有人可以挑戰AWS在2006年發布的先行優勢。
然而,Google一直為內部用戶開發自己的複雜基礎架構。事實上,Google一直以內部開拓分散式系統而聞名,但選擇發布白皮書而不是開源。隨著對谷歌雲平台(GCP)的大量投入,他們已推出Google Infrastructure For Everyone Else (GIFEE) 的託管服務。
在過去幾年中,GCP取得了長足的進步,迅速成為一個有利的競爭者。雖然GCP與AWS相比並不能提供全面的服務,但越來越多的頂級團隊(如Spotify)正在進行轉換 。也許雲提供商的領域最終會減少,但是在不久的將來我們會看到健康的競爭。
前景
雖然沒有人知道數據領域的未來如何,但有一點很清楚——新技術將使我們能夠進一步利用我們的數據。無論是新技術和服務的出現,還是現有的功能的增加,開發人員都將擁有更豐富的工具來構建數據管道和平台。
數據工程師仍將是令人興奮的職業 。
推薦閱讀:
※如何才能進入數據孵化器中心
※數據科學博文
※考察數據科學家支持向量機(SVM)知識的25道題,快來測測吧
※3 步搭建系統化數據看板 | 技能卡片 No.2
※Python | 為什麼優化代碼?
TAG:数据科学家 |