码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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年将会为大家带来更多有趣、严肃的内容。

  • 相关阅读:
    小球无规则移动(动画参数AnimationParameters)
    html中图片、音乐、视频标签及选择器、背景
    Sui学术研究奖公布,资助研究者探索人工智能、能源市场和区块链游戏
    springboot项目@Aspect包依赖
    【Hello Algorithm】暴力递归到动态规划(二)
    2.如何选择go语言基础类型——Leetcode习题9
    当Serverless遇到Regionless:现状与挑战
    Linux入门篇——01(概述、安装、Linux文件与目录、Vim)
    Spring Boot复用yaml文件
    AgileBoot - 如何集成内置数据库H2和内置Redis
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/15904430.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号