5月12日,信服云大數(shù)據(jù)研發(fā)技術(shù)專家Cody在信服云《Tech Talk · 云技術(shù)有話聊》系列直播課上分享了《基于低代碼的數(shù)據(jù)開發(fā)》,詳細介紹了低代碼平臺如何提升用戶的數(shù)據(jù)開發(fā)效率,傳統(tǒng)的數(shù)據(jù)倉庫、實時計算開發(fā)、離線計算開發(fā)場景面臨的挑戰(zhàn)和解決方案,以及信服云大數(shù)據(jù)在安全日志分析、數(shù)據(jù)倉庫方面的數(shù)據(jù)開發(fā)經(jīng)驗等內(nèi)容。以下是他分享的內(nèi)容摘要,想要了解更多可以關(guān)注“深信服科技”公眾號觀看直播回放。
一、Studio架構(gòu)和定位
aBDI-Studio是基于aBDI-Base基礎(chǔ)平臺,以數(shù)據(jù)作為經(jīng)營對象,提供全面的數(shù)據(jù)開發(fā)、數(shù)據(jù)管控、數(shù)據(jù)交換、數(shù)據(jù)應(yīng)用能力,打造全生命周期的智能開發(fā)平臺,通過該平臺,可以將低價值數(shù)據(jù),加工成高價值數(shù)據(jù)產(chǎn)品和服務(wù)。
Studio 包括數(shù)據(jù)集成、任務(wù)調(diào)度、數(shù)據(jù)服務(wù)、數(shù)據(jù)治理、權(quán)限運維、探索開發(fā)。其中,探索開發(fā)包括流數(shù)據(jù)的開發(fā)、融合數(shù)倉的開發(fā)、離線數(shù)據(jù)的開發(fā)、綜合檢索開發(fā)等四大部分。探索開發(fā)關(guān)系到平臺的開發(fā)效率,也是本次直播的重點內(nèi)容。
aBDI 產(chǎn)品包含兩大部分,一部分是底層 base 平臺,一部分是上層低代碼開發(fā)平臺Studio。Studio 在 aBDI 產(chǎn)品架構(gòu)中位于上面應(yīng)用層,其功能主要集中在數(shù)據(jù)倉庫開發(fā)、實時開發(fā)、離線開發(fā)。數(shù)據(jù)倉庫開發(fā)包含了數(shù)倉的建模、數(shù)倉的質(zhì)量、源數(shù)據(jù)的管理、數(shù)據(jù)資產(chǎn)目錄、數(shù)據(jù)地圖和數(shù)據(jù)服務(wù),以及數(shù)據(jù)同步。
低代碼數(shù)據(jù)開發(fā)平臺跟傳統(tǒng)的數(shù)據(jù)開發(fā)不同點在于,傳統(tǒng)數(shù)據(jù)開發(fā)用時較長,中間環(huán)節(jié)較多。以業(yè)務(wù)變化為例,它要先去做一個業(yè)務(wù)的需求變化確認,再進行代碼開發(fā),代碼開發(fā)完之后聯(lián)調(diào),接著是功能測試和系統(tǒng)部署,最后是停機發(fā)布。這一整個流程花費時間較多,效率也不高。
低代碼的應(yīng)用場景,一部分要實現(xiàn)高穩(wěn)定性,滿足穩(wěn)態(tài)業(yè)務(wù)開發(fā)的維護需求;同時也要保障靈活性和通用性,可以適應(yīng)敏態(tài)業(yè)務(wù)快速變化的需求。
基于低代碼的開發(fā)可以簡化這些步驟。針對業(yè)務(wù)變化和需求確認,用戶只需要做后面的系統(tǒng)配置,聯(lián)調(diào)和測試是在低代碼開發(fā)平臺直接覆蓋。低代碼開發(fā)平臺可以說既高效又靈活,不僅節(jié)省了流程需要的時間,也不需要人力再去做任何配置。
Studio 平臺的受眾包含四類人群:在數(shù)據(jù)開發(fā)或者應(yīng)用過程中,數(shù)據(jù)開發(fā)者可以編輯和調(diào)度開發(fā)能力,拖拽任務(wù)組件、編排業(yè)務(wù)流程,降低開發(fā)門檻,快速上手;對于數(shù)據(jù)資產(chǎn)的管理人員,可以通過實現(xiàn)資產(chǎn)的統(tǒng)一管理,平臺里提供了豐富的資源管理操作功能,包括文件的上傳、下載等;對于運維人員來說,通過模型的運維可以進行數(shù)據(jù)語言的接入配置管理,以及模型運行監(jiān)控和異常告警,這樣可以簡化運維;對于數(shù)據(jù)分析師來說,平臺的數(shù)據(jù)探索提供了管道式的檢索語言,最終處理完的數(shù)據(jù)可以通過 spl 去查找數(shù)據(jù),比較自由靈活,屏蔽了底層,不需要感知底層那么復(fù)雜的接口,這解決了編程式探索操作復(fù)雜的痛點。
二、Studio數(shù)據(jù)倉庫開發(fā)
傳統(tǒng)的大數(shù)據(jù)數(shù)倉的建設(shè),一般都是由建模工程師提出分析用戶需求,提供數(shù)倉的建模的指標信息,提交給開發(fā)工程師。開發(fā)工程師拿到需求之后進行編碼實現(xiàn),編碼完成后,會自己去提交測試,測試工程師會根據(jù)提交的應(yīng)用去測試。測試結(jié)束,應(yīng)用即可發(fā)布。發(fā)布之后,建模工程師就去看發(fā)布后的應(yīng)用,驗證模型是否符合用戶的訴求。
在低代碼的開發(fā)平臺,步驟簡化成:數(shù)倉建模工程師會去分析用戶的需求,借助數(shù)倉的建模平臺直接開發(fā)數(shù)倉模型,低代碼的大數(shù)據(jù)建模平臺直接可以給建模的工程師用,可以直接在上面調(diào)試,也不需要寫代碼。模型發(fā)布之后,可以直接看到輸出的結(jié)果,也不需要開發(fā)工程師介入,就直接在一個平臺上看到想要的結(jié)果,也可以驗證一下模型的輸出是否符合用戶的訴求,以及模型跑完的結(jié)果是否正確。
對比來看,傳統(tǒng)的數(shù)倉建設(shè)參與角色包括建模/開發(fā)工程師、測試工程師等,但Studio 只需要一個建模工程師,這樣可以減少開發(fā)成本、測試成本、以及溝通成本。同時,Studio 支持可拖拽,通過“拖拽”就可以把一個模型建好,建模周期大大縮短,由原來“天級別”到了“小時級別”。模型建完之后,按照傳統(tǒng)的流程需要以周期來發(fā)布,周期可能會比較久。但是Studio 上的數(shù)倉的建設(shè),剛創(chuàng)建好之后,就可以直接發(fā)布,交付周期也大大縮短。
三、Studio實時計算開發(fā)
傳統(tǒng)方式一般需要寫一段代碼,以Flink 為例,它可能要寫到 Flink 的代碼。在 Flink 的代碼里面,第一部分還要定義一個數(shù)據(jù)源和一個數(shù)據(jù)目的。最后數(shù)據(jù)源和目的之間,它會有個數(shù)據(jù)算子,比如它要制定一個 map 算子或者是 aggregate 聚合算子或者是轉(zhuǎn)換的算子,模型開發(fā)完之后,進行調(diào)試。調(diào)試之后要通過命令行的方式往數(shù)據(jù)源中打入樣例的數(shù)據(jù),然后提交。最后去查看單個實時計算模型開發(fā)調(diào)試完成的耗時,這樣的開發(fā)流程單次可能需要 8 小時。
但是在 Studio 里面開發(fā)周期就比較短。首先它要拖一個數(shù)據(jù)源,然后再拖兩個數(shù)據(jù)目的,中間是算子。而數(shù)據(jù)源只需要在界面上去配置即可,再配置觸發(fā)條件和數(shù)據(jù)目的。這些也都可以在可視化畫布里面開發(fā)完之后再去配置。配置完成后還可以通過調(diào)試模型的方式調(diào)試,查看數(shù)據(jù)對不對。
四、Studio離線計算開發(fā)
離線計算開發(fā)步驟包括:業(yè)務(wù)開發(fā)、資源管理、模型開發(fā)、定時管理、模型管理。
具體來說,第一步是模型的開發(fā)。開發(fā)人員是要先把算子拖拽到畫布中。第二步,把程序和資源配置到算子中間。比如說要把 Spark 的應(yīng)用或者Flink的應(yīng)用或者一個 Python 的腳本上傳,給應(yīng)用程序運行時使用。第三步,配置一下算子之間的依賴關(guān)系。這里面的算子端就區(qū)分處理類的算子、流程類的算子。當上游的算子執(zhí)行成功之后才執(zhí)行下游的算子,在模型開發(fā)中,通過簡單拖拽即可實現(xiàn)。
aBDI 里面的 Studio 離線開發(fā),底層的技術(shù)實現(xiàn)跟業(yè)界的方案有些不同,主要是增強穩(wěn)定性和提高易用性。
不同點體現(xiàn)在以下方面:
(1)Studio支持 HA ,去中心化的多 Master 多 Worker ;
(2)對于過載處理,當任務(wù)過多時會緩存在隊列中,所有任務(wù)都運行在集群中,不會造成服務(wù)器卡死;
(3)不會影響正在運行的任務(wù)進程;
(4)當進程宕掉的時候,會自動會拉起;
(5)監(jiān)控界面上, DAG 監(jiān)控界面支持查看任務(wù)狀態(tài)、任務(wù)類型、重試次數(shù)、任務(wù)運行機器、可視化變量、運行時間、錯誤日志;
(6)所有流程定義操作都是可視化的,通過拖拽任務(wù)來繪制DAG,配置數(shù)據(jù)源及資源。同時對于第三方系統(tǒng)提供API方式操作;
(7)在快速部署上,實現(xiàn)可視化一鍵部署。
Studio 低代碼平臺目前主要用在如下三個場景。第一個是傳感器的數(shù)據(jù)分析,首先由用戶去采集多個系統(tǒng)的傳感器數(shù)據(jù),然后聯(lián)動多個系統(tǒng)進行數(shù)據(jù)分析,產(chǎn)生告警后及時輸出告警直觀展示。用戶可以通過 Studio 去完成發(fā)現(xiàn)問題、數(shù)據(jù)采集、數(shù)據(jù)處理轉(zhuǎn)化、可視化的映射、用戶感知的流程等一整套的過程。
第二個場景是日志分析。平臺通過數(shù)據(jù)源把日志采集過來,放到消息隊列之后通過流處理或者是離線的方式處理,之后會持續(xù)寫到 ES 里,再基于 ES 的結(jié)果,用戶進行數(shù)據(jù)的檢索跟行為的分析或者異常分析。Studio也擅長幫助用戶處理有大量并發(fā)寫入的實時數(shù)據(jù)、數(shù)據(jù)的存儲、希望能夠?qū)崟r分析以及從海量日志中提取有價值的數(shù)據(jù)。
最后一個場景是數(shù)倉建設(shè),是從數(shù)據(jù)的接入到數(shù)據(jù)的處理、再到數(shù)據(jù)模型的構(gòu)建和數(shù)據(jù)的查詢,這些過程,Studio基本上都能覆蓋到。
以上就是本次直播的主要內(nèi)容。對大數(shù)據(jù)低代碼開發(fā)感興趣的IT朋友可以關(guān)注“深信服科技”公眾號回顧本期直播,了解更多技術(shù)內(nèi)容。
(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )