筆者從 2008 年開始工做到如今也有 11 個年頭了,一路走來都在和數據打交道,作過大數據底層框架內核的開發(Hadoop,Pig,Tez,Spark,Livy),也作過上層大數據應用開發(寫 MapReduce Job 作 ETL ,用 Hive 作 Ad hocquery,用 Tableau 作數據可視化,用 R 作數據分析)。今天我想借此機會和你們聊聊我所理解的大數據現狀和將來。安全
首先讓咱們來聊聊什麼是大數據。大數據這個概念已經出來不少年了(超過10年),但一直沒有一個準確的定義(也許也並不須要)。數據工程師(DataEngineer)對大數據的理解會更多從技術和系統的角度去理解,而數據分析人員(Data Analyst)對大數據理解會從產品的角度去理解,因此數據工程師(Data Engineer) 和數據分析人員(Data Analyst)所理解的大數據確定是有差別的。我所理解的大數據是這樣的,大數據不是單一的一種技術或者產品,它是全部與數據相關的綜合學科。看大數據我會從 2 個維度來看,一個是數據流的維度(下圖的水平軸),另一個是技術棧的維度(下圖的縱軸)。框架
其實我一直不太喜歡張口閉口講「大數據」,我更喜歡說「數據」。由於大數據的本質在於「數據」,而不是「大」。因爲媒體一直重點宣揚大數據的「大」,因此有時候咱們每每會突然大數據的本質在「數據」,而不是「大」,「大」只是你看到的表相,本質仍是數據自身。dom
在咱們講清楚大數據的含義以後,咱們來聊聊大數據目前到底處在一個什麼樣的位置。從歷史發展的角度來看,每一項新技術都會經歷下面這樣一個技術成熟度曲線。機器學習
當一項新技術剛出來的時候人們會很是樂觀,經常覺得這項技術會給人類帶來巨大的變革,對此持有太高的指望,因此這項技術一開始會以很是快的速度受到你們追捧,而後到達一個頂峯,以後人們開始認識到這項新技術並無當初預想的那麼具備革命性,而後會過於悲觀,以後就會經歷泡沫階段。等沉寂必定階段以後,人們開始迴歸理性,正視這項技術的價值,而後開始正確的應用這項技術,今後這項技術開始走向穩步向前發展的道路。(題外話,筆者在看這幅圖的時候也聯想到了一個男人對婚姻見解的曲線圖,你們本身腦補)。分佈式
兩個重要階段是指太高指望的峯值和泡沫化的底谷期 。如今正處於穩步向前發展的階段。咱們能夠從 googletrend 上 big data 的曲線就能印證。大數據大約從 2009 年開始走向人們的視野,在 2015 年左右走向了頂峯,而後慢慢走向降低通道(固然這張曲線並不會和上面這張技術成熟度曲線徹底擬合,好比技術曲線處在降低通道有可能會使討論這項技術的搜索量增長)。工具
接下來我想講一下我對大數據領域將來趨勢的幾個判斷。oop
前面已經提到過,大數據已經度過了太高指望的峯值和泡沫化的底谷期,如今正在穩步向前發展。作這樣判斷主要有如下 2 個緣由:學習
雖然如今人工智能,區塊鏈搶去了大數據的風口位置,也許大數據成不了將來的主角,但大數據也絕對不是跑龍套的,大數據仍將扮演一個重要而基礎的角色。能夠這麼說,只要有數據在,大數據就永遠不會過期。我想在大部分人的有生之年,咱們都會見證大數據的持續向上發展。區塊鏈
以前大數據遇到的最大挑戰在於數據規模大(因此你們會稱之爲「大數據」),通過工業界多年的努力和實踐,規模大這個問題基本已經解決了。接下來幾年,更大的挑戰在於速度,也就是實時性。而大數據的實時性並非指簡單的傳輸數據或者處理數據的實時性,而是從端到端的實時,任何一個步驟速度慢了,就影響整個大數據系統的實時性。因此大數據的實時性,包括如下幾個方面:大數據
目前以 Kafka,Flink 爲表明的流處理計算引擎已經爲實時計算提供了堅實的底層技術支持,相信將來在實時可視化數據以及在線機器學習方面會有更多優秀的產品涌現出來。當大數據的實時性加強以後,在數據消費端會產生更多有價值的數據,從而造成一個更高效的數據閉環,促進整個數據流的良性發展。
目前IT基礎設施往雲上遷移再也不是一個你們還須要爭論的問題,這是大勢所趨。固然我這邊說的雲並不僅僅指公有云,也包括私有云,混合雲。由於因爲每一個企業的業務屬性不一樣,對數據安全性的要求不一樣,不可能把全部的大數據設施都部署在公有云上,但向雲上遷移這是一個將來註定的選擇。目前各大雲廠商都提供了各類各樣的大數據產品以知足各類用戶需求,包括平臺型(PAAS) 的 EMR ,服務型 (SAAS) 的數據可視化產品等等。
大數據基礎設施的雲化對大數據技術和產品產生也有相應的影響。大數據領域的框架和產品將更加 Cloud Native 。
全鏈路化是指提供端到端的全鏈路解決方案,而不是簡單的堆積一些大數據產品組件。以 Hadoop 爲表明的大數據產品一直被人詬病的主要問題就是用戶使用門檻太高,二次開發成本過高。全鏈路化就是爲了解決這一問題,用戶須要的並非 Hadoop,Spark,Flink 等這些技術,而是要以這些技術爲基礎的能解決業務問題的產品。 Cloudera 的從 Edge 到 AI 是我比較認同的方案。大數據的價值並非數據自己,而是數據背後所隱藏的對業務有影響的信息和知識。下面是一張摘自 wikipedia 的經典數據金字塔的圖。
大數據技術就是對最原始的數據進行不斷處理加工提煉,金字塔每上去一層,對應的數據量會越小,同時對業務的影響價值會更大更快。而要從數據(Data) 最終提煉出智慧(Wisdom),數據要通過一條很長的數據流鏈路,沒有一套完整的系統保證整條鏈路的高效運轉是很難保證最終從數據中提煉出來有價值的東西的,因此大數據將來產品全鏈路化是另一個大的趨勢。
上面講到了大數據的全鏈路發展趨勢,那麼這條長長的數據鏈路目前的情況是如何,將來又會有什麼樣的趨勢呢?
個人判斷是將來大數據技術的創新和發力會更多的轉移到下游數據消費和應用端。以前十多年大數據的發展主要集中在底層的框架,好比最開始引領大數據風潮的 Hadoop ,後來的計算引擎佼佼者 Spark,Flink 以及消息中間件 Kafka ,資源調度器 Kubernetes 等等,每一個細分領域都涌現出了一系列優秀的產品。總的來講,在底層技術框架這塊,大數據領域已經基本打好了基礎,接下來要作的是如何利用這些技術爲企業提供最佳用戶體驗的產品,以解決用戶的實際業務問題,或者說將來大數據的側重點將從底層走向上層。以前的大數據創新更偏向於 IAAS 和 PAAS ,將來你將看到更多 SAAS 類型的大數據產品和創新。
從近期一些國外廠商的收購案例,咱們能夠略微看出一些端倪。
面對最終用戶的大數據產品將是將來大數據競爭的重點,我相信會將來大數據領域的創新也未來源於此,將來 5 年內大機率至少還會再出一個相似 Looker 這樣的公司,可是很難再出一個相似 Spark 的計算引擎。
學習過大數據的人都會感嘆大數據領域的東西真是多,特別是底層技術,感受學都學不來。通過多年的廝殺和競爭,不少優秀的產品已經脫穎而出,也有不少產品慢慢走向消亡。好比批處理領域的 Spark 引擎基本上已經成爲批處理領域的佼佼者,傳統的 MapReduce 除了一些舊有的系統,基本不太可能會開發新的 MapReduce 應用。 Flink 也基本上成爲低延遲流處理領域的不二選擇,原有的 Storm 系統也開始慢慢退出歷史舞臺。一樣 Kafka 也在消息中間件領域基本上佔據了壟斷地位。將來的底層大數據生態圈中將再也不有那麼多的新的技術和框架,每一個細分領域都將優勝劣汰,走向成熟,更加集中化。將來更大的創新將更多來來自上層應用或者全鏈路的整合方面。在大數據的上層應用方面將來將會迎來有更多的創新和發展,好比基於大數據上的BI產品, AI 產品等等,某個垂直領域的大數據應用等等,我相信將來咱們會看到更多這方面的創新和發展。
大數據領域並非只有 Hadoop,Spark,Flink 等這類你們耳熟能詳的開源產品,還有不少優秀的閉源產品,好比 AWS 上的 Redshift ,阿里的 MaxCompute 等等。這些產品雖然沒有開源產品那麼受開發者歡迎,可是他們對於不少非互聯網企業來講是很是受歡迎的。由於對於一個企業來講,採用哪一種大數據產品有不少因素須要考慮,否開源並非惟一標準。產品是否穩定,是否有商業公司支持,是否足夠安全,是否能和現有系統整合等等每每是某些企業更須要考慮的東西,而閉源產品每每在這類企業級產品特性上具備優點。
最近幾年開源產品受公有云的影響很是大,公有云能夠無償享受開源的成果,搶走了開源產品背後的商業公司不少市場份額,因此最近不少開源產品背後的商業公司開始改變策略,有些甚至修改了 Licence 。不過我以爲公有云廠商不會殺死那些開源產品背後的商業公司,不然就是殺雞取卵,殺死開源產品背後的商業公司,其實就是殺死開源產品的最大技術創新者,也就是殺死開源產品自己。我相信開源界和公有云廠商最終會取得一個平衡,開源仍然會是一個主流,仍然會是創新的主力,一些優秀的閉源產品一樣也會佔據必定的市場空間。
最後我想再次總結下本文的幾個要點:
一、目前大數據已經度過了最火的峯值期和泡沫化的底谷期,如今正處於穩步向前發展的階段。
二、數據規模會繼續擴大,大數據將繼續發揚光大
三、 數據的實時性需求將更加突出
四、大數據基礎設施往雲上遷移勢不可擋
五、大數據產品全鏈路化
六、大數據技術往下游數據消費和應用端轉移
七、底層技術的集中化和上層應用的全面開花
八、開源閉源並駕齊驅
11 月 28-30 日,Apache Flink 及大數據領域年度盛會 Flink ForwardAsia 2019 將在北京國家會議中心舉辦,更多大數據領域前沿趨勢、一線廠商重磅案例,你想獲得的想不到的都來了,錯過可能後悔一全年,詳細瞭解大會詳細議程信息。
做者簡介:章劍鋒(簡鋒),開源界老兵,Github ID:@zjffdu,Apache Member,曾就任於 Hortonworks,目前在阿里巴巴計算平臺事業部任高級技術專家,並同時擔任 Apache Tez、Livy 、Zeppelin 三個開源項目的 PMC ,以及 Apache Pig 的 Committer。有幸很早就接觸了大數據和開源,但願能夠在開源領域爲大數據和數據科學作點貢獻。
本文爲雲棲社區原創內容,未經容許不得轉載。