IT资讯 后 SQL 时代的黎明:EdgeDB 1.0 线上发布会回顾

jim · 2022-02-11 11:00:07 · 热度: 25

以“后 SQL 时代的黎明”为主题的 EdgeDB 1.0 线上发布会刚刚于几个小时前结束,因为笔者参与了前几日的演练,所以提前备好了稿,第一时间发出来供大家了解。

CEO 的主题演讲

“今天是 EdgeDB 一个重要的日子,对整个数据库社区来说亦是如此。”作为 EdgeDB 联合创始人和 CEO 的 Yury Selivanov 如是说,“自从关系数据库在上世纪 70 年代问世以来,我们仅看到了 NoSQL 运动在 2010 年的兴起,除此之外并没有出现能改变数据库格局的创新。而我们相信,EdgeDB 的诞生将创造一个崭新的数据库领域,有机会永久地改变我们思考和使用数据的方式。”

Yury 接着回顾道,发明关系数据库和 SQL 的时候,大型主机和打孔卡正大行其道。当时人们虽然创造出了精简灵活、适配性高的关系模型,但是却仍然受限于那个时代——SQL 是给销售人员用英语创建报表用的,更是无法与现代编程语言融合。为了解决这一问题,后来人们发明了关系对象映射(ORM),但这只是将数据模型错位的问题隐藏得更深,以至于当今的开发者已经习惯了戴着脚镣起舞。

“EdgeDB 的目标则是从根本上解决这一问题”,Yury 接着说道, “数据库本应自然地与整个技术栈融为一体,而不是依赖于各种封装再封装。”EdgeDB 以关系模型为基础,将表结构变成图结构,引入了 graph-relational 模型的概念,EdgeDB 也自然成为了世界上第一个 graph-relational 数据库:

  • EdgeDB 花费了数年时间开发了一种崭新的查询语言——EdgeQL,它的功能十分强大且容易上手;
  • 为了适应云计算和 serverless 的应用,EdgeDB 还大力优化了传输协议和并发支持;
  • EdgeDB 从头设计了客户端使用体验,API 十分简洁、高效并符合目标编程语言的惯例;
  • EdgeDB 官方提供超一流的命令行工具
  • 自带开箱即用的 GraphQL 支持
  • 内置 schema migration 支持

EdgeDB 是一个开源项目,1.0 的发布标志着已经可以投入使用了。但同时,EdgeDB 还有野心将其 graph-relational 模型和 EdgeQL 查询语言变成一种开放标准,并发起一波造福软件工程师、改变数据库现状的风潮。

CTO 谈 EdgeQL 的优势

EdgeDB 的 CTO 及联合创始人 Elvis Pranskevichus 从对象与关系的“阻抗失配”问题谈起,分析了 ORM 的许多关键问题,解释了 ORM 大行其道的原因,以及 NoSQL 的局限性。谈及解决方案,Elvis 用一个例子生动地对比了 EdgeQL 和 SQL 在语言正交性、紧凑性和一致性上的巨大差距,并又以 Prisma 为例,演示了 ORM 在实际应用到中的种种不足之处。与之相对的,Elvis 展示了 EdgeQL 的查询构造器的使用,其查询代码可以惊人地用 TypeScript 高度复现 EdgeQL 的语句结构,更说明了 EdgeQL 作为一门查询语言的表达能力。

Elvis 将 EdgeQL 的优势归结为 graph-relational 模型的特点:基于经典关系模型、内置不可变的对象 ID、对象链接以及“一切皆集合”的设计。接着,Elvis 又以一连串简短的例子,像写代码一样地编写查询语句,充分展现了 EdgeQL 的一致性和拼装能力。

“我们可以做得比 SQL 更好,而且我们应该如此,就是现在。”Elvis 总结道。

分主题演讲

首先,Victor Petrovykh 通过一个完整的迷你入门教程,制作了一个奈飞简易版,演示了 EdgeQL 建模中常用的类型、链接、链接属性、类型继承、约束等概念,以及查询语句中的结果塑形、链接查询、条件查询、计算属性、反向链接、过滤器等功能。

接着,主持人兼开发者关系主管 Colin McDonnell 现场演示了 EdgeDB 的实际使用体验,用 TypeScript 制作了一个任务备忘录,展示了 EdgeDB CLI 和查询构造器在实战中的开发效率。

然后就是笔者关于 EdgeDB 架构的介绍,具体内容已经发布在之前的《EdgeDB 架构简析》一文中了。

随后 Colin 再次登场,通过对比几款常见 ORM,展示了 EdgeQL 超越 ORM 的一些功能,比如一致性建模、统一通用定义、复杂计算属性、多态查询、高度集成的 migration 等,并现场演示了查询构造器是如何通过面向对象的接口、静态类型推断,替代 ORM 完成日常工作的。

最后,Michael Sullivan 博士绘声绘色地讲解了 EdgeDB 编译器的工作原理,以及为什么只有 PostgreSQL 才能成为 EdgeDB 的基石。

结束语

在发布会的最后,Yury 说,随着 1.0 的发布,许多基础趋于稳定,EdgeDB 将会进入更快的迭代期,将在几个月后发布 2.0 版,包括 GROUP BY、ACL 等计划中的新功能,并欢迎大家在 GitHub 上参与 2.0 RFC 的讨论。与此同时,托管的 EdgeDB SaaS 服务也将很快发布,大家可通过各种官方渠道关注 EdgeDB 的进展。

稍后,笔者会给发布会视频配上中文字幕后发到 B 站再转发至各平台,并陆续翻译演讲对应的即将发布的博客文章,敬请关注我们的掘金专栏知乎专栏OSCHINA 项目主页

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册