2021年度總結 | 葡萄城軟體開發技術回顧(下)
在上節中,我們介紹了在過去一年中葡萄城在控制元件領域中的一些新探索,新嘗試。
(詳細內容:https://www.cnblogs.com/powertoolsteam/p/15882644.html)
包括為了解決前端電子表格中將傳統的高效能結構化表格 (Grid) 與公式計算引擎 (CalcEngine)結合問題的集算表,和不同平臺中複雜報表的效能提升和相容擴充,除了控制元件技術的相關內容,關於近幾年風頭正盛的低程式碼和BI資料分析,我們也有一些新內容想與大家分享。
嵌入式BI,資料視覺化利器
資料視覺化,在近幾年也是人們關注的一個熱點話題。
2021年中,我們在資料BI領域也有了新的突破。
Wax(Wyn Analytic Expression)分析語言系統
今年針對BI資料分析,我們新研發了Wax引擎。
Wax引擎本質是一個複雜的SQL生成器,對Wax語句和表示式進行解析,再對資料模型進行拓撲結構分析,結合兩者生成抽象語法樹,反覆進行優化迭代,最終生成適用於目標資料庫的SQL語句。在此過程中我們對諸如圖運算等關鍵元件進行了大量的優化以確保效能和最終的SQL產物的質量。
不同於傳統的BI實現方式,Wax不需要Cube,而是選擇連線高階的OLAP資料庫作為替代,根據其特性針對性的生成最合適的SQL以滿足查詢效能的需要。以此為基礎,在未來的版本中,Wax引擎將支援更多種類的OLAP資料庫,在硬體足夠強大的前提下,Wax將釋放其背後的OLAP資料庫的無限潛力。
Wax語言可以實現幾乎任何使用者需要的查詢,讓構建RFM、杜邦等複雜分析也成為可能。
從使用層面說,Wax允許使用者以低程式碼形式構建高階分析,與之前版本中側重於易用性的依靠拖拽構建一般分析的功能能夠良好配合,為使用者提供更多的自由度。目前業界類似的分析語言支援情況來看,Wax勝在輕量化和泛用性。
Wax的強複用性
在設計Wax時我們也進行了很多關於高複用性的考量。
- 除了OLAP資料庫,Wax引擎也可以生成適用於主流OLTP資料庫的SQL,使用Wax元件的產品可以直接以Wax語句的形式在目標資料庫上進行查詢和分析。
Wyn藉助這一點實現了實時資料分析功能。
包括推送資料集和流式資料集,Wyn能夠接收資料、清洗資料並轉儲到記憶體資料庫或持久化的列式資料庫,在儀表板發起查詢時在這些資料庫上執行由Wax引擎生成的SQL獲取分析結果。
-
Wax引擎本身是個封裝嚴密、零依賴的獨立模組,可以支援再發行為nuget包。這意味著其他產品也可以安裝Wax模組來提供資料分析功能。
-
Wax引擎的核心程式碼和平臺無關,和語言僅有少量相關,可以較容易的以其他語言重寫(如Java等)。
推流模式的實時資料接入
流式資料集和推送資料集的底層實現是一個可供呼叫的WebAPI。裝置源、感測器、伺服器、檢測儀器等IoT裝置採集的資料均可以通過呼叫這個WebAPI推送給Wyn Enterprise,實時展示到儀表板中,全面滿足各種實時資料監控需求。
工欲善其事,必先利其器。正如Gartner的分析師所言,增強分析將塑造大資料的未來趨勢,我們也希望未來在BI領域中為大家提供更加強大的支撐。
積木一搭,立刻開發
2021年,在數字化背景的加持之下,除了資料BI,低程式碼也是風頭正盛的一年。
在幾十年控制元件技術的累積之下,葡萄城的低程式碼也在不斷努力,讓開發者像搭積木一樣快速實現應用的構建。而今年,我們將活字格牽上了雲,在私有化部署的基礎上,研發了獨佔資源的公有云服務,也就是大家常說的PaaS。
活字格雲基於雲原生K8S容器技術以及.NET Core跨平臺技術構建,在滿足企業級應用開發的基礎上,儘量發揮公有云帶來的技術優勢。關於K8S的相關內容,我們出了連載:Docker與k8s的恩怨情仇系列,詳細內容如下:
第一章:Docker與k8s的恩怨情仇(一)—成為PaaS前浪的Cloud Foundry
第二章:Docker與k8s的恩怨情仇(二)—用最簡單的技術實現"容器"
第三章:Docker與k8s的恩怨情仇(三)—後浪Docker來勢洶洶
第四章:Docker與k8s的恩怨情仇(四)-雲原生時代的閉源落幕
第五章:Docker與k8s的恩怨情仇(五)——Kubernetes的創新
第六章:Docker與k8s的恩怨情仇(六)—— "容器編排"上演"終結者"大片
第七章:Docker與k8s的恩怨情仇(七)—— "服務發現"大法讓你的內外互動原地起飛
第八章:Docker與k8s的恩怨情仇(八)——驀然回首總覽Kubernetes
功能方面:活字格雲全面相容On-Promise私有化部署的應用,可以非常方便的地將本地應用遷移到雲端;
運維方面:活字格雲提供了豐富的監控介面,可以對伺服器的CPU、磁碟、網路進行全方位監控;
效能方面:穩定高可用的叢集部署環境,為應用的健康穩定執行提供支援;
同時,活字格雲可以結合雲商城使用,雲商城提供了大量的應用和元件,方便使用者快速構建應用,避免重複造輪子。
總結
技術的發展沒有邊界,萬物生長,蓬勃向上。
每年都有許許多多"後浪"技術不斷更新升級,也有許許多多"前浪"技術紛至沓來。
未必不能空手而來,但是可以滿載而歸。
在這裡我們為2021年畫上圓滿的句號,2022年將會為大家帶來更多有趣、嚴肅的內容。