12月21日,Kyligence 开源项目 MLSQL 宣布正式更名为 Byzer。Byzer 将秉持 MLSQL 低成本落地 Data + AI 的技术初衷,并融合更加开放且多元的语言及产品能力,打造更加完善的新一代开源语言生态。与此同时,全新的 Byzer 开源社区正式成立,社区官网(https://www.byzer.org) 也已同步上线,欢迎大家积极访问。
全新的 Byzer 以及 Byzer 开源社区
Byzer 这一名称源于中国古代神兽「白泽」,其能言语,通万物之情,知鬼神之事。我们希望 Byzer 可以像神兽白泽一样,让数据说「人」话。
Byzer 是一门结合了声明式编程和命令式编程的混合编程语言,其低代码且类 SQL 的编程逻辑配合内置算法及插件的加持,能帮助数据工作者们高效打通数据链路,完成数据的清洗转换,并快速地进行机器学习相关的训练及预测。Byzer 语言的关键词如下:
- 万物皆表(Everything is a table)
- 类 SQL 语法(SQL-like Language)
- 内置算法和插件(Built-in algorithms and plugins)
- 可定制,简单,强大(Customizable, Simple and Powerful)
Byzer 社区主要围绕 Byzer 语言来打造面向 Data + AI 领域的开源生态,旨在帮助用户以低成本和高效率的方式落地数据平台和完成 AI 工程化,释放分析师、工程师以及运维人员的生产力。目前 Byzer 社区内的项目均采用 Apache License V2 发行,允许所有社区参与者在该协议下进行自由使用。
我们为什么需要 Byzer
随着大数据、人工智能、云计算等技术的迅速发展,云基础设施、基础软件、算法模型等都逐渐完善和成熟,业界对数据平台的效率诉求是越来越高,低效的跨平台数据运转逐渐成为工程师落地数据平台和完成 AI 工程化的痛点。但是,无论是从更换基础设施入手,还是换上更易用的框架,又或是招聘更优秀的研发人才,都无法做到大幅度的效率提升。
我们相信只有在编程语言层面进行革新,才能从根本上提高数据平台落地和 AI 工程化的效率。Byzer 作为一门低代码的开源编程语言,可以在语言层面将数据处理链路、AI 工程中的复杂操作以及权限管控进行抽象,同时降低编程语言的学习成本和上手成本,从而帮助企业真正将效率提升上来。
Byzer 语言设计理念
在抽象业务能力的时候,数据的处理和流转承载着信息传递的核心任务,而数据的载体往往就是二维数据表或多维数据表,SQL 语言其实就是抽象在二维数据表上的各种数据操作。Byzer 语言的核心设计是万物皆表(Everything is a table),我们希望用户可以非常容易的将任何实体对象通过 Byzer 来抽象成二维表,从而能够基于表来进行数据处理或模型训练等进一步操作。
- 声明式融合命令式的语言设计,SQL-like 语法简单又灵活
在语言设计层面,Byzer 采用了声明式编程设计,使用类 SQL 的语法,开发者更容易学习和使用。但是声明式设计又缺乏一些灵活性,无法满足一些很复杂的编程需求,所以 Byzer 在声明式设计的基础上又结合了命令式编程设计来对 SQL-like 的语法进行扩展。
- 云原生设计,充分利用云上算力和便宜的存储
在云基础设施日趋成熟的今天,无论是基础软件还是上层应用,用户都十分关注可扩展性,Byzer 在 Day1 的设计就是云原生设计,不仅能够利用云上便宜的存储,同时原生分布式引擎(Spark 引擎和可插拔 Ray引擎)的设计,可以让 Byzer 充分利用云上算力。
- 一套语言,一个引擎,覆盖 Data + AI 的能力,开箱即用
企业在落地数据平台或者 AI 工程时,往往面临着选型难的问题,对于数据工程师来讲,更是需要了解、学习、开发和维护整个数据处理链路中的各个组件,上手成本和维护成本都很高。Byzer 希望能够提供一套语言、一个引擎,就能覆盖整个数据链路,同时可以提供各种算法、模型训练等开箱即用的能力。
Byzer 在 12 月 15 日正式发布了 Byzer 2.2.0 版本,欢迎大家试用和反馈。
IDE 支持 - Byzer Notebook
Byzer 作为一门语言,需要能够支持 IDE 或者文本编辑器,完成诸如代码高亮,代码提示,运行等能力。目前比较流行的方式是实现 LSP(Language Server Protocol),各类主流编辑器或者 IDE 就可以基于 LSP 的协议来实现相关的功能。Byzer 实现了 LSP 协议并提供了 code suggest API,用户可以自行开发相关的编辑器插件来支持 Byzer 开发。
Byzer Notebook 是由 Kyligence 开发并贡献到社区的一个基于 Byzer 的 Web IDE。具备以下主要特性:
- 拥有强大的交互编译能力,支持代码高亮、代码提示等功能;
- 提供稳定可靠的数据工程能力,支持多数据源的表进表出和 AI 模型的训练与发布;
- 支持 Notebook 和 Workflow 的形式给用户提供低代码、交互式编程的能力。
除了 Byzer Notebook 外,社区还开发了 Byzer 语言的 VSCode 插件,用户在 VSCode 中就可以编写运行 Byzer 代码了。
Byzer Notebook 在 12 月 15 日正式发布了 Byzer Notebook 1.0.0 版本,欢迎大家试用和反馈。
真诚邀请您共建社区
Byzer 社区作为一个新兴的开源社区,非常欢迎大家来参与和贡献。目前 Byzer 已经获得了不少生产客户,数据团队选用 Byzer 后仅需少量的开发人员就可以支撑整个数据平台,详情可以关注 Byzer 社区的Meetup 活动以及官方公众号等渠道。
除了代码贡献外,社区也欢迎其他形式的参与,比如提 Feature Request、贡献文档、视频教学、编写博客,担任讲师,以及协助社区 Meetup 活动等,更多详情可以看如何贡献 Byzer 社区,期待和大家一起共建一个 Geek 且充满想象力的社区!
- 社区:https://github.com/byzer-org
- 官网:https://byzer.org/home
- 文档:https://docs.byzer.org
- Roadmap:https://github.com/byzer-org/.github/blob/main/roadmap/2022h1.md