Greg Young是Event Store的首席架构师,他最近谈到了Event Store中的Projections Library,以及如何以读模式来使用它。Greg在讲座中解释了Projections Library及其主要用例。他还介绍了很多实用的例子。
Projections Library是一种流式数据库,主要关注时间化查询(Temporal Query)。当要将发生的事情与时间关联起来时,比如希望在Twitter上找出一分钟内说过“生日”的人中提到“礼物”的,使用时间化查询。据Greg介绍,时间化查询是业务系统中一种常见的查询类型,Event Store可以轻松处理。而使用SQL来解决此类问题往往非常复杂,而且所需的子查询数是呈指数级增长的。
Projections Library包含如下特性:
Projections Library是专门为大数据问题、持续查询和流式信息构建的。
Greg特别指出,Projections Library并不是NoSQL数据库(如文档数据库)的替代品,那与其主要用例相去甚远。
Projections通常以其默认语言JavaScript编写,这意味着使用Web浏览器就可以。此外也内建了使用浏览器调试的功能。
AtomPub是其主要接口。大多数平台都能够发送HTTP请求,因此可用于构建Event Store客户端,也可成为异构环境的一部分。
Event Store是根据Event Source的理念构建的数据库,这种理念保存的是事件,而不像今天的大多数数据库类型那样保存状态。Event Store是开源产品,也提供了可选的商业解决方案。它于2012年9月在伦敦的一场发布会中发布,最近刚刚发布了1.0.1版本。