干貨︱一文讀懂戴爾科技流數據平臺
了解更多數字化轉型方案查看此鏈接:
https://www.dellemc-solution.com/home/index.html
不久前,戴爾科技集團
正式發布新一代流式數據平臺
Dell EMC Streaming Data Platform
(簡稱SDP)
相信很多讀者都很好奇
這個平臺能給我帶來什么?
它是如何工作的?
優勢特點在哪?
今天,小編邀請到了
戴爾科技集團軟件開發總監滕昱
為您深入講解SDP的
What、Why和How
了解流數據平臺
看這篇文章就夠了!
作者
戴爾科技集團軟件開發總監 滕昱
SDP是什么
SDP是一套基于軟件與參考硬件的彈性可伸縮平臺,用于注入、存儲和分析無界的流式數據。流式數據處理,有時又被稱作事件處理,可以動態地將流式數據以及分析工作分發到可用的處理設施上。
從用途上看,SDP允許在一個應用內同時處理實時數據和歷史數據。從結構上看,SDP結合了開源的流式數據存儲引擎Pravega和流式數據計算引擎Flink,以及戴爾易安信PowerEdge系列服務器,并且可以與非結構化存儲的代表產品ECS(Elastic Cloud Storage)和Isilon無縫對接。

SDP能做什么
SDP是一套強大的流式數據平臺
它提供了一系列流式數據相關的功能和特性
❶ 數據注入:原生支持所有類型的流式數據注入,包括無界字節流。
❷ 存儲:彈性的分層存儲提供快速的數據訪問和幾乎無限的數據存儲,包括對歷史數據的訪問。
❸ 分析:對流式數據的分析能力由內嵌的Flink計算引擎提供。
❹ 平臺管理:集成的管理功能提供數據安全、配置、訪問控制、資源管理、健康告警和網絡拓撲可視化。
❺ 運行時管理:基于Web的用戶界面允許使用者為應用分配流和其它資源,運行應用以及查看作業狀態。
❻ 應用開發:開發環境提供對應用開發和組件升級的支持。
❼ 允許應用程序重定向輸出到第三方可視化和告警工具,例如Kibana。
SDP為什么重要
著名咨詢公司Gartner的最新分析報告顯示,目前的企業數據約有80%都是非結構化數據。
根據數據自身性質的不同,一般可以將非結構化數據分為三類:文件、對象和流。針對文件型的非結構化數據,戴爾易安信擁有占據市場領先地位長達10年的存儲產品Isilon。針對對象型的非結構化數據,也有新興的優秀對象存儲產品ECS。然而,在流式數據領域卻遲遲沒有一款針對性的產品投入市場。
SDP的出現正好填補了在流式數據領域的空缺。
現代企業對成熟的流式數據處理解決方案提出了越來越多的的需求,例如:無界數據流的分析與存儲能力,歷史數據與實時數據的統一,自動擴展機制,高度的數據一致性與事務支持,統一的數據API,企業級平臺等等。一方面,傳統的批處理數據引擎已經完全無法滿足現代企業對實時性的要求。另一方面,現有的流式數據系統大都基于消息模型,例如Kafka,Spark等。這些系統從本質上看,僅僅只是一些高速消息系統,缺乏一致性、可靠性、持久化等存儲特性,因此很難適應當今物聯網趨勢下的各種復雜數據處理需求,例如:無人機的實時視頻流分析,制造業的缺陷探測,自主偵察監視等等。業界迫切需要一款“真正意義上的字節流”解決方案。而SDP就是我們交出的答卷。
SDP的企業級特性
SDP的定位首先是一個企業級平臺,因此企業級的特性必不可少,例如:安全性、隔離性、可擴展性、可管理性、易用性等等。我們將從企業的視角出發,逐一介紹SDP的這些特性。
為跨團隊的數據流提供企業級安全保障
圖1 SDP的應用隔離設置界面
SDP平臺基于K8s進行部署,除了具備基礎的K8s安全隔離特性外,還額外提供了一套擴展的數據隔離與保護機制。
簡單來說,每一個業務部門可以在SDP平臺上創建自己獨立的多個應用,而每一個部門之間的數據都是相互隔離的。SDP還引入了用戶角色機制,進一步細化每一個用戶的權限控制。圖1展示的是為應用設置隔離的界面。
為數據注入提供自動擴展機制
圖2 SDP平臺內部活動segment數量的可視化展示
自動擴展機制是SDP提供的另一個吸引人的企業級特性。
具體來說,當數據注入流量發生變化時,SDP能夠實時自動進行水平擴展/收縮,以便達到最佳性能和吞吐量。這個過程是自動進行的,無需人工干預。
這一特性使得企業內部的硬件資源時刻保持最佳利用率:既不閑置浪費也不過度占用。這對一向以成本敏感著稱的企業應用來說,一定是一個福音。
圖2用一個示例展示了SDP平臺內部處于活動狀態的Segment數量隨時間的變化過程。從圖中可以很清楚地觀察到,在某些時間點上發生了Segment的分裂動作(水平擴展,吞吐量上升),而在另一些時間點上則發生了Segment的合并動作(水平收縮,吞吐量下降)。
提供便捷的IT管理
圖3 SDP儀表板的局部界面
便捷高效的管理功能一向被認為是企業級應用所必備的特性,SDP也毫不例外地具備這一特性。
圖3展示的是SDP儀表板的一部分,包括當前系統的各種性能指標以及資源使用情況。根據當前的實時指標,系統管理員可以提前收到可能的異常預警。當發生系統故障時,也能夠幫助迅速定位故障位置。
提供簡化的開發流程
SDP對開發者非常友好。
在SDP平臺內運行的每一個應用都同時支持實時數據和歷史數據的訪問,并且有統一的API支持。這意味著開發者無需花費精力使用兩套系統或者學習兩套API規范。開發者僅需要編寫一套統一的代碼,就可以同時適用于實時數據和歷史數據。另一方面,內置的Flink計算引擎和相應的Flink API大大降低了開發者的入門門檻。
SDP的整體架構
圖4 SDP的整體架構示意圖
SDP的整體技術棧包括了平臺軟件本身以及一整套標準硬件,如圖4所示。SDP緊隨當前的業界標準,從設計之初就是一個運行在容器環境下的分布式應用程序,并依靠K8s進行編排。容器環境不僅能夠隔離不同項目,還能夠高效管理資源,以及進行認證服務。
SDP運行時環境毫無疑問地是基于一套被稱作“戴爾科技標準參考架構”的組合配置,即:戴爾易安信的裸硬件,VMware的虛擬化支持,再加上Pivotal擴展的K8s環境(Pivotal Container Service,PKS)。
SDP平臺的最基礎的組件是它的流式數據存儲引擎,即:Pravega。作為平臺內的自研開源組件,Pravega承擔著為所有其它組件提供流式數據存取服務的重任。因為在流原生的環境下,數據只有唯一的表現形式:流。

▲Pravega是戴爾科技集團從零開始構建的存儲系統
取梵語中“Good Speed”之意為了對海量流式歷史數據提供容量擴展,Pravega需要連接二級持久化存儲設備,ECS和Isilon都是推薦的選擇。同時,為了達到實時數據處理所要求的低延遲,Pravega還擁有自己的基于固態存儲的一級持久化存儲支持,目的在于進一步降低寫入延遲。

作為SDP平臺的上層建筑,對外提供數據分析和處理能力是流式處理引擎的主要職責。通過不同的Connector組件,SDP可以借助Flink等各種現有的流式計算引擎完成數據的分析與處理,以便將單獨的數據流組合成更加靈活的流水線,完成更加復雜的操作。用戶甚至可以開發自己的Connector組件,以便連接其它存儲與計算引擎。
SDP與Flink
緊密結合
低延時的實時處理能力可以讓企業用戶從已有的數據集中產生新的商業模式,帶來新的經濟效益,而對歷史數據的支持又是某些應用不可或缺的一部分。Pravega和Flink結合各自在實時數據、歷史數據上存儲和計算的優勢,不僅保障極高存儲效率的同時還能夠進一步降低企業在數據存儲和運維的成本。
統一數據處理是一個充滿挑戰的領域,通過Pravega與Flink相結合的企業級解決方案,可以徹底簡化現有數據分析架構的復雜性,以及數據冗余、缺少可靠持久等問題,最終實現一個真正意義上的端到端的流/批統一數據處理框架。
SDP在K8s上構建,采用微服務架構,通過統一的K8s Operator方式部署Pravega與Flink,集合了存儲和計算平臺,并且實現安全、多租戶等諸多特性,為企業用戶提供了一體化的數據存儲和分析平臺。

核心功能覆蓋
SDP的1.0版本涵蓋了Flink的核心功能:
- 在K8s上部署Flink Session Cluster
- 支持多版本的Flink(1.7.2、1.8.1和1.9.1)
- 可配置的Flink集群資源控制
- Flink集群的擴容/縮容
- 支持用戶上傳、管理和運行Flink任務Jar包
- 支持從加密的Pravega客戶端通過Flink Connector讀寫數據
- Flink UI的安全訪問控制以及K8s外部訪問
- 端到端的恰好一次(Exactly-Once)語義
- 基于事件時間(Event Time)的語義
為什么選擇Flink
Pravega作為戴爾易安信研發的開源流存儲平臺,專注于流式數據存儲的可靠性和實時性,同時提供批流一體的Stream API。
這一設計思路與Flink作為處理引擎的理念不謀而合。
Flink擅長實時數據處理,如今Flink社區也同樣致力于整合DataStream API,統一批和流的處理。Flink因此自然成為了Pravega最為合適的計算引擎。兩者也自從Pravega誕生以來就有著深入的合作,Pravega團隊也多次參加了Flink Forward大會,并進行了主題演講和專場報告,分享Pravega與Flink的最新成果。這樣深度的技術合作也是SDP選擇Flink進行合作的主要原因之一。SDP希望結合并且發揮兩者的優勢特點,幫助用戶解決實際問題。

▲戴爾科技集團軟件開發總監滕昱參加2019 FFA大會
SDP作為企業級的數據存儲和計算一體化平臺,為用戶提供了安全可擴展的平臺,助力企業創新獲取新的價值。Flink為開發者提供了標準化的、豐富易用的Flink API,簡化了開發人員的工作,為包括零售、農業、汽車、能源行業等行業的數字化、智能化轉型提供了大量機遇。Flink中文社區的蓬勃發展也為中國的用戶們提供了豐富的應用場景的示例和第一手的開發資料。
與此同時,Flink社區近期在不斷加強與K8s容器編排系統的整合,SDP也在此基礎上,通過構建基于K8s的架構進一步減少軟件系統和平臺管理的難度,最大程度地降低了對DevOps的門檻。
相關內容推薦:Dell EMC流數據平臺的技術構建
相關產品:戴爾PowerEdge R740






































