速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Greg Young 谈以读模式使用 Event Store

  • 2013-02-05
  • 本文字数:828 字

    阅读完需:约 3 分钟

Greg Young Event Store 的首席架构师,他最近谈到了 Event Store 中的 Projections Library,以及如何以读模式来使用它。Greg 在讲座中解释了 Projections Library 及其主要用例。他还介绍了很多实用的例子。

Projections Library 是一种流式数据库,主要关注时间化查询(Temporal Query)。当要将发生的事情与时间关联起来时,比如希望在 Twitter 上找出一分钟内说过“生日”的人中提到“礼物”的,使用时间化查询。据 Greg 介绍,时间化查询是业务系统中一种常见的查询类型,Event Store 可以轻松处理。而使用 SQL 来解决此类问题往往非常复杂,而且所需的子查询数是呈指数级增长的。

Projections Library 包含如下特性:

  • 取到一个事件流并将其转换为其他某种形式,比如从一个新客户事件组成的流中选取名字。
  • 将流划分到新的分组中(比如分解或连接流)。
  • 跨多个流的 Projections 使对大量事件的查询成为可能(例如,并发查询所有银行账户来查找特定的事务模式)。
  • 持续查询。Projections 可以保持运行,新来的数据也会加入到查询结果中。
  • 发出新事件,比如查找超过一定规模的订单,并从这些订单创建大的订单事件,以便进行额外的信贷控制。

Projections Library 是专门为大数据问题、持续查询和流式信息构建的。

Greg 特别指出,Projections Library 并不是 NoSQL 数据库(如文档数据库)的替代品,那与其主要用例相去甚远。

Projections 通常以其默认语言 JavaScript 编写,这意味着使用 Web 浏览器就可以。此外也内建了使用浏览器调试的功能。

AtomPub 是其主要接口。大多数平台都能够发送 HTTP 请求,因此可用于构建 Event Store 客户端,也可成为异构环境的一部分。

Event Store 是根据 Event Source 的理念构建的数据库,这种理念保存的是事件,而不像今天的大多数数据库类型那样保存状态。Event Store 是开源产品,也提供了可选的商业解决方案。它于 2012 年 9 月在伦敦的一场发布会中发布,最近刚刚发布了1.0.1 版本。

查看英文原文 Greg Young on using Event Store as a Read Model

2013-02-05 02:372320
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 135.0 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

CSS15 - 界面样式&垂直对齐

Mr.Cactus

html/css

大厂面试题:你知道JUC中的Semaphore、CyclicBarrier、CountDownLatch吗

Java鱼仔

Java 面试 并发 JUC

如何使用maven 轻松重构项目

田维常

maven

2020 全球 JS 调查报告新鲜出炉

蓝色的秋风

typescript Vue 大前端 React React Native

智能building之二 智能单体建筑

张老蔫

28天写作

Mysql报表下载为什么出现了重复的数据?

三石

MySQL性能优化 28天写作 mysql重复数据

谈谈SpringFramework与IoC依赖查找

Java架构师迁哥

关于事务、redolog 写入的两个问题分析

程序员架构进阶

MySQL innodb 事务 28天写作

甲方日常 85

句子

工作 随笔杂谈 日常

CSS14 - 元素可见性

Mr.Cactus

html/css

大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了

五分钟学大数据

大数据 kafka

音乐混音怎么做?教你完美制作野狼disco与周杰伦双节棍合唱!

懒得勤快

音频技术 音频制作 混音 音乐混音

nodejs事件和事件循环详解

程序那些事

nodejs 异步编程 程序那些事 事件和事件循环 nodejs event

龙归科技 |软件的成本下降

龙归科技

身份认证 企业信息化 SSO

我给职场新人提个建议

石云升

创业 28天写作 职场新人

我们设计的是微服务还是小单体应用

xcbeyond

微服务 方法论 DDD 28天写作

厉害了!来看看这份超全面的《Android面试题及解析》,一线互联网公司面经总结

欢喜学安卓

android 程序员 面试 移动开发

企业如何预防短信验证码被别人盗用

香芋味的猫丶

短信防刷 短信轰炸机 短信验证码 短信防轰炸 短信防火墙

盘点2020|征文大赛获奖名单公布

InfoQ写作社区官方

盘点2020 热门活动

AES/CBC/PKCS5Padding到底是什么

kof11321

加密解密

Hadoop的MapReduce到底有什么问题?

hanke

大数据 hadoop spark mapreduce 开源

从一场营地教育直播,看懂众盟“私域流量营销”的底层逻辑

脑极体

重学JS | 异步编程 async/await

梁龙先森

大前端 编程语言 28天写作

大小公司产品经理岗位对比

Kr

28 天带你玩转 Kubernetes-- 第七天(玩转 Dockerfile)

Java全栈封神

Docker Kubernetes k8s Dockerfile 28天写作

网络故障排除工具,你用过哪些?

创业失败启示录|校园微生活之快叫外卖

阿萌

28天写作 创业失败启示录 青城

案例研究之聊聊 QLExpress 源码 (六)

小诚信驿站

28天写作 QLExpress源码 聊聊源码

TCP波场拼系统开发|TCP波场拼软件APP开发

系统开发

1月|日更挑战活动说明

InfoQ写作社区官方

七日更 热门活动

JVM故障诊断和处理工具

Silently9527

Java JVM jvm调优

Greg Young谈以读模式使用Event Store_语言 & 开发_Jan Stenberg_InfoQ精选文章