当前位置: 首页 > news >正文

EventQL:专为事件溯源设计的类 SQL 查询语言,让事件存储易用又强大!

查询事件的难题

在处理事件溯源系统时,面对的数据结构与传统数据库不同。事件含丰富元数据,通过主题分层组织,需对事件流过滤、聚合和转换,性能依赖合适索引。传统 NoSQL 查询接口难满足需求,因其未考虑事件特定特性。

认识 EventQL

EventQL 由 The Native Web 为 EventSourcingDB 设计,保留 SQL 表达能力,抓住事件查询本质。给出简单示例,若写过 SQL 会感熟悉,它专为事件查询定制,可按事件类型过滤、访问嵌套数据负载、重塑输出结果。

EventQL 设计的重要性

一流的事件属性:EventQL 将事件元数据视为一等公民,如 e.type、e.subject 等,每个属性代表索引机会,设计良好的事件存储可在类型、主题和时间戳上创建索引,使查询速度快。

主题层次结构实现智能范围界定:EventQL 主题模式匹配强大,主题层次结构常见,可限定查询范围、创建基于主题的索引、构建支持层次结构的查询,让浏览事件数据直观。

类 SQL 的表达能力:借鉴 SQL 成熟模式,如 WHERE 子句、ORDER BY 等,可精确表达复杂查询,并给出示例。

投影作为一等概念:与 SQL 中可选的 SELECT 不同,EventQL 要求用 PROJECT INTO 进行显式投影,对事件查询有意义,投影语法支持任意对象构造,可构建所需输出格式。

设计上对索引友好

EventQL 能引导编写可索引的查询,WHERE 子句常用属性如事件类型、主题等可映射到复合索引,语言结构让人清楚索引作用之处。

使解析器达到生产就绪状态

最初开发 GethDB 时编写的 EventQL 解析器与特定用例紧密耦合,现使其成为独立库达到生产就绪状态。最终得到强大的 Rust 解析器,提供详细错误信息、构建强类型抽象语法树、支持完整语法、有全面测试覆盖、可嵌入基于 Rust 的事件存储。

类型推断:即将推出:GethDB 版本含类型推断系统,计划移植到库中。类型推断器可收集类型信息,排除不合理查询,防止运行时失败。可在 GitHub 上找到解析器。

重要性所在

事件溯源需良好工具支持,EventQL 在熟悉、表达能力强、事件感知、对索引友好方面表现出色,为构建事件溯源系统提供有效查询方法。

亲自尝试

解析器以 Rust crate 形式提供,给出开始使用的方法示例。

结论

优秀语言设计要理解领域知识、创建自然抽象,EventQL 在事件溯源方面做到了,证明调整 SQL 模式适应事件流效果好,查询语言强大易用。从事事件溯源工作可了解 EventQL,需要生产就绪解析器可使用 Rust 实现版本。此解析器为支持相关工作构建,欢迎反馈和贡献代码。

http://www.rkmt.cn/news/1297527.html

相关文章:

  • 为什么你的Midjourney胶片图总像数码后期?——从光子散射模型到显影时间算法的底层差异解析
  • Midjourney等距视角风格落地全栈手册(附NASA航天器建模级参数配置表)
  • 2026年南京AI搜索推广公司权威榜单 首选南京微尚信息技术有限公司 - 奔跑123
  • Vital合成器引擎揭秘:从波形生成到频谱处理的完整流程
  • 气象预测长期误差太难搞?ICML 2026 这项成果用“累积上下文”给出了最优解
  • 3步开启AI智囊团:让ChatALL帮你一键问遍所有大模型
  • 解决大文件压缩效率瓶颈的7-Zip-zstd深度指南
  • Linux系统下Vue开发环境搭建全攻略:从Node.js到Vite实战
  • Glur:SwiftUI渐进模糊效果库的终极指南
  • Blender FLIP Fluids源码解析:深入理解FLIP流体模拟引擎
  • 模拟人生4mod整合包下载及安装使用指南(已汉化)2026最新版分享
  • 暗黑破坏神2重制版自动化工具:D2R像素机器人完整指南
  • 如何快速提升Obsidian笔记体验:AnuPpuccin主题完整指南
  • 终极指南:如何用Chrome Markdown阅读器完美阅读本地Markdown文件
  • Sveltia CMS移动端体验:响应式设计如何完美适配不同设备
  • 终极容器镜像加速指南:3分钟解决海外镜像下载难题
  • Atlas TSDF技术揭秘:如何实现精准的3D几何表示
  • ROS2 RQT:从日志调试到节点拓扑的可视化实战
  • Veil-Evasion核心模块深度解析:从控制器到Payload生成
  • SyncedStore深度解析:揭秘CRDT技术如何实现无冲突数据同步
  • 别再傻傻做27次实验了!用SPSSAU三分钟搞定正交试验设计(附保姆级极差分析教程)
  • AI产业发展全景解析:技术突破、行业落地与未来展望
  • 高效自动化ADB驱动配置解决方案:一键完成Android调试环境搭建
  • DynamicData高级应用:数据虚拟化与分页优化的终极指南
  • Camo安全机制剖析:如何防止图像劫持与内容篡改的完整指南 [特殊字符]
  • Crafting Interpreters中文版实战:从扫描器到编译器的完整实现
  • Stable Diffusion v2-1-base:从文字到视觉艺术的魔法转换器
  • 二次分拣的前置场景
  • VScode+esp-idf:基于esp32-web-camera实现延时摄影与AVI合成(附源码)
  • 团队博客第六天