堵俊平 雲與開源 資料引擎的未來

2022-01-10 02:09:08 字數 4120 閱讀 4737

首先,我們回顧一下大資料技術的發展歷程。 從 2023年開始google發表了gfs,mapreduce(2004), bigtable(2006)**, 也就是我們熟知的三輛馬車的開始,一直到當前,經歷了很多階段。我們認為,剛開始的是乙個起步階段。標誌性的專案hadoop在2023年橫空出世。 2023年時, 像apache cassandra 和hbase這樣的nosql的引擎也相繼開源。

到了發展階段,aws 推出了emr服務, 在雲上第一次開始有部署大資料的服務。之後,(apache) hive成立,包括像storm, 大資料進入sql 的時代以及流計算的時代。 到2023年,hadoop 2.0 時代開啟。 hadoop 除了傳統的mapreduce, 它可以支援更多的計算引擎,包括2023年成立的 spark 專案,再包括像現在比較流行的流處理平台flink這樣的技術等等。

進入2023年之後, 大資料進入成熟階段。 hadoop 3.0發布,大資料整體向容器化方向進化,大資料和ai進行深度融合。整體來看這就是大資料發展的乙個歷程。

另外除了大資料領域,我們看到開源資料引擎全面崛起。 根據權威的榜單db-engines ranking(排名), 可以看到最流行的前10大與資料庫相關的引擎,10個裡有7個是開源引擎,其中涵蓋了 sql,nosql, in-memory, 搜素相關的引擎都在裡面。本次活動的主角cassandra也歸列在前十之列。

我們可以看到整個大資料領域技術有幾個很明顯的新趨勢。

第乙個, 我覺得比較重要的,就是雲服務化。整個大資料領域全面地向雲化方向邁進。比如說,我們的儲存,大資料和傳統的物件儲存怎麼樣去結合,包括訪問的api進行簡化,包括全面的serverless化 (saas)。傳統的大資料可能是乙個集群,伺服器化的部署, 現在變成是serverless化的呼叫, sql或其他的計算。

還有乙個重要趨勢就是,我們希望有統一的sql, 做資料湖分析的資料可能是跨源的,有的在檔案系統裡面,有的在sql引擎裡面, 有的在sql裡面等等。 這種跨源的統一sql的資料庫分析是乙個重要的趨勢。除此之外,像tpe和融合htap 的引擎, 甚至包括傳統的sql和machine learning 相統一的引擎也非常重要。另

外乙個趨勢就是po統一, 在資料引擎層統一。 就是通過比如說 flink的技術或其他的引擎,既能處理流,也能處理批。還有在介面層統一。 就是我們介面層統一了,下面有不同的引擎,有流的引擎,有批的引擎, 做乙個融合,還有以及mseq與計算引擎整合,可能在入口資料的mq 往後延申流計算相應的服務。 還有重要的技術趨勢包括 machine learning, 與傳統大資料平台的結合。比如說,平台上的統一,從資料的預處理到訓練到推理,形成統一的閉環。包括我們更多的引擎,比如像, 陸陸續續有更多的引擎開發出來,包括我們熟知tensil flow, y torch之外,比如像國內的angel, mindspore, 也包括ray一樣新型的跨資料和machine learning的引擎,也是重要的乙個方式。

除此之外,乙個重要的方向就是大資料的容器化,包括k8s operators和.yarn與k8s 共生的專案。比如說,原產於大資料專案的yunicorn、k8s社群、cncf資料孵化的volcano專案,試圖把大資料和容器化相結合。還有乙個重要的趨勢是新硬體。包括異構計算,比如說,cpu 和gpu 怎麼樣協同或統一。在不同cpu裡面,我們有x86 的一套、有arm的一套,不同的體系之間怎麼樣去融合。對我們上層的大資料,未來的技術有不同的推動作用。 甚至包括有一些像現在新的技術創新,像persistent memory,傳統的記憶體和磁碟之間有一層融合,整體來說就是很多的方向去引領大資料領域。雖然我們說它是成熟期,可以看到很多新的技術革命仍然在醞釀。 當然這些大部分的技術都是開源的技術。 

下一代資源排程也有很多技術創新。  比如yarn 社群孵化出來的專案yunikorn 。 它是 apache的乙個專案,能支援yarn的伺服器和與 k8s專案進行融合, 下面有不同的實現,可以放在 yarn 的caster上, 把k8s集群的能力調動起來。

另外還有乙個專案就是 volcano, 也就是cncf專案, 它在k8s的排程體系上做了重要的擴充套件,不僅支援雲原生的面向服務的排程, 它也可以支援面向任務的,面向job的, 比較貼近於像 spark這樣的大資料應用 batch job 的排程, 可以提供乙個很好的支援。 

現在乙個新的熱點是資料湖儲存格式, 像原產於 uber 的 hudi, 以及netflix的 apache 專案 iceberg, 以及 databricks (spark 的原廠)貢獻出來的 delta lake, 應該是 linux **會的乙個專案。 這幾個專案主要是為解決什麼問題呢? 傳統流批資料處理有很多痛點。

比如說, 上游資料匯入與下游分析作業的schema規範與對齊的問題。 包括整個流式的資料寫入是沒有acid保證。 這樣的話, 我們是需要在 table format 這一層有更加豐富的餘的保證。 第三, 在資料寫入的時候,資料需要執行update, delete等的操作, 原始資料需要一些修正, 或者有一些丟包等操作, 在新的資料庫儲存格式下可能可以更容易支援這種操作,以及像這種頻繁的資料匯入會造成的海量小檔案讓hdfs不堪重負。 當然我們之前說到的ozone 某種程度上是可以解決這樣的問題的, 但是在這些資料庫儲存格式普及之前,hdsf 還是目前在大資料領域的乙個實施的標準。

這裡可以說一下整個大資料的技術棧其實有3個路線: google基本上是自成一體的。另外佔主導地位是apacha**會。 apacha的開源社群,包括各種專案,跟 google去對標,甚至有些是走在google之前。還有就是aws, 它作為乙個雲服務,很容易在雲上進行落地的。這裡有乙個簡單對比,就包括,分布式檔案系統,大資料的計算引擎, nosql的資料庫,還有new sql的資料庫 (big sql就是大資料的新的資料倉儲),以及資源排程框架,包括分布式協同, 都是有很多對應的關係。可以看到apache的很多專案,包括跟這次主題的cassandra專案, 都是在業界非常 popular, 很多大資料業者目前從事的工作降低了相應的壁壘,整體的生態是非常蓬勃的。 

雲和開源的時代是最好的技術創新的時代,雲跟開源其實可能天然就無法分開。對於雲計算而言,開源的價值在於什麼呢? 它是乙個開放的生態, 能打造事實標準,幫助新技術快速推廣。 傳統上來說,我們的很多新技術要落地, 它面臨很多產業的挑戰,包括場景的限制以及市場碎片化 ,包括標準難統一等等,甚至包括端到端很難整合起來。 但是開源方案天然就很容易推廣, 開源方案自帶流量,它的應用場景是非常豐富的。 因為它的很多使用者接受意願高,他們可以去幫助優化我們的場景,幫我們去貢獻相應的feature。 開源天然就是標準,它可以統一介面,也易於整合。

對開源軟體而言,雲計算也是很有意義的, 有好幾個層面它可以加速開源技術的落地, 商業化的落地也好,或者是應用落地也好,它都是乙個很好的技術。 傳統對於開源軟體來說有很大的挑戰, 站在產業的角度, 第一就是,它的贏利模式可能不是那麼直接,不是那麼清晰;第二就是, 開源的方案要去實際使用的時候可能會面臨一些相應的問題。但在雲上的時候,它是一鍵部署, 用一鍵部署的方式來去推廣使用。它是可以用分鐘級的方式去布局使用的,包括它的贏利模式非常清晰,很容易按需付費。 對開源專案來說, 雲是天然的乙個比較適合去推廣的平台和商業化落地的平台。 

所以說,我們認為,在雲和開源的時代,未來可能是把資料價值融入到各行各業,用技術打造智慧型互聯的新時代。 我們認為資料引擎的未來一定是在雲上,一定是開源的技術。

C 基於開源MQTT自主接入阿里雲IoT平台

1.1 註冊阿里雲賬號 使用 賬號或手機號,開通阿里雲賬號,並通過實名認證 可以用支付寶認證 1.2 免費開通iot物聯網套件 產品官網 1.3 軟體開發環境 2.1 建立基礎版產品 產品資訊 訊息通訊topic 2.2 註冊裝置 獲取裝置身份三元組,productkey,devicename,de...

開源點雲資料處理 開源 開源使雲成為形象

開源點雲資料處理 開源 馬特 威爾遜 matt wilson 曾經對我說 雲是為執行開放源 而構建的,這就是為什麼開放源 在雲中如此有效的原因。誠然,開源提供了雲服務,這是更根本的事情。正如一位觀察家所言 開放介面和組合式單一用途工具的整個知識基礎在雲中已根深蒂固。這種方法顯然是開源的,這很大程度上...

開源雲計算mysql 雲計算 開源資料庫 SQL3

dcl 許可權級別 1.global level 所有庫,所有表的許可權。2.database level 某個資料庫中的所有表的許可權。3 table level 庫中的某個表的許可權 4.column level 表中的某個字段,的許可權。mysql使用者管理 1建立使用者 create use...