暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

无服务器数据库 Fauna 发布新查询语言 FQL

原创 通讯员 2023-08-23
300

无服务器数据库开发商Fauna Inc.今天发布了一种受 TypeScript 启发的查询语言,以及新的 Web 和本地开发功能以及声明性数据库架构。

该公司表示,该语言针对其云交付的文档关系数据库管理系统进行了优化,以节省开发人员的时间,改善协作并提供更好的性能。

Fauna 的同名分布式数据库通过应用程序编程接口提供。该公司已融资超过 7500 万美元,表示其无服务器架构和分布式存储和计算结构提供了高水平的性能和安全性。通过 API 的连接还使客户无需维护数据库操作人员。

Fauna 查询语言被描述为一种强类型数据库语言,它结合了在强一致事务中表达声明性查询和功能业务逻辑的能力。与命令式查询不同,命令式查询准确指定数据库应检索哪些信息,声明式查询描述信息并让机器弄清楚如何查找和传递信息。

开发者熟悉的

Fauna 工程副总裁泰森·特劳特曼 (Tyson Trautmann) 在电子邮件评论中表示,基于 JavaScript 的 TypeScript“包含一种实用类型的系统,自然适用于处理数据”。“FQL 包含类似类型的系统。”

Fauna 表示,对于了解 TypeScript 或 Python 等现代编程语言的开发人员来说,FQL 会很熟悉。它本质上是可组合和模块化的,允许开发人员使用严格序列化的事务或遵守有关操作顺序的规则的事务来跨半结构化数据创建关系查询,以防止失败或无意的数据泄露。它可用于使用关系运算符在文档内或跨文档进行查询,支持业务逻辑并动态构造类似于 JavaScript 对象表示法的结果形状,映射到应用程序所需的内容。

Trautmann 表示,FQL 解释了这样一个事实:当数据是半结构化时,数据库模式很难预测,就像现代数据湖和 Lakehouse 的情况一样。“当您开始构建新应用程序时,您几乎永远没有足够的信息来了解应用程序将存储和使用的数据的形状,因此开始使用非结构化数据进行构建以避免陷入架构迁移的困境非常有用,”他说。

迭代模式

“然而,随着应用程序的成熟,非结构化数据可能会导致破坏应用程序行为的边缘情况,因此随着数据形状的硬化而应用结构是有益的。” 这种渐进方式称为渐进式类型,在 Perl、Python、Javascript、Ruby 和 PHP 等脚本语言中很流行,并且在 FQL 中得到完全支持。

他说,普遍存在的 SQL 语言在数据静态时运行良好,但会增加混合操作/在线事务处理场景的复杂性。Trautmann 表示,它不适用于无服务器模型,相对不灵活,性能难以预测,并且仅限于关系模型。

他写道:“开发人员无法充分利用底层数据库的全部功能,因为他们担心 SQL 查询行为的复杂性、不透明性会削弱他们理解查询如何执行以及在出现问题时快速解决问题的能力。” “应用程序架构通过变得更加复杂来弥补”,并且需要管理员团队来执行架构迁移等任务。

Trautmann 说,FQL 连接了两个世界。“Fauna 不得不放弃 SQL,但一旦开发人员开始使用 FQL,他们就不会错过它,”他说。

新的开发者体验

新的开发人员体验采用仪表板,通过在单个页面上列出集合和文档等资源以及 Web 代码编辑器,最大限度地减少上下文切换。集成的 Web shell 具有多个选项卡,可用于快速试验查询和函数,并利用丰富的错误消息和静态类型等 FQL 功能。

Web shell 中以及通过 Visual Studio Code 的新插件提供了智能代码完成支持。提供的建议可帮助开发人员更快地编写查询,并使用在查询代码的光标位置上下文中有意义的方法和类型。

声明性模式语言是正在进行的项目的一部分,旨在将开发人员体验与 DevOps 生命周期相匹配。该公司表示,开发人员可以在单个文件中定义 Fauna 数据库组件,该文件可以与现有的应用程序代码库一起包含在内,从而显着减少管理和版本控制开销。声明性模式语言和应用程序接口与流行的集成开发环境集成,并在开发过程中提供代码检查和错误预防。


文章来源:https://siliconangle.com/2023/08/22/faunas-new-query-language-custom-built-serverless-database/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论