RavenDB 2.5 带来动态聚合和查询流

  • Jan Stenberg
  • 马德奎

2013 年 8 月 27 日

话题:语言 & 开发架构AI

文档数据库RavenDB 2.5 稳定版已经发布,它带来了“动态聚合(Dynamic aggregation)”和“不限制查询结果数量的 API(Unbounded results API)”,前者允许开发人员进行复杂查询,后者使用查询流在一次检索请求中取得大结果集。

RavenDB 2.5 的新特性或改进包括:

  • 与 map/reduce 索引相比,动态聚合允许创建的查询要复杂得多。这为报表应用带来了更多选择,并且允许进行带有额外过滤条件的复杂聚合。
  • 不限制查询结果数量的 API使用了基于查询流的模型,使开发人员能够通过一次检索请求取得一个大结果集中的所有条目,而又不会导致内存使用问题。上述功能是这样实现的,先为将要返回的条目创建一个快照,然后使用返回流返回所有条目。
  • 结果转换器(Result Transformers)”用于服务器端投影,包括可能在查询结果中包含其它文档的数据。
  • 空间增强使开发人员可以根据空间坐标来检索数据。例如,给定一个中心点,找出所有到该点的距离小于一定值的点。
  • 通过CSV端点“集成 Excel(Excel integration)”,这样开发人员可以创建 Excel 文件,并自动从数据库导入数据。
  • 写保证(Write assurance)”可以使客户端 API 等待,直到指定数量的复制已经完成。
  • 可以通过设置索引的优先级来控制每个索引可能使用的索引过程的多少。
  • MSI 安装包简化了安装过程。

操作方面的改进包括简化了数据库恢复过程、增加了用于调试 & 分析的端点以及现有端点的资料。

RavenDB 用.NET 编写,是一个事务型的开源文档数据库。数据以无模式的 JSON 文档形式存储,可以通过在其它工具中使用LINQ或者 RESTful API 进行查询。

RavenDB 在AGPL 许可协议下开源发布,它有多个许可选项可供选择。

当前,稳定版本是 2.5.2666。

查看英文原文:RavenDB 2.5 with Dynamic Aggregation and Query Streaming

语言 & 开发架构AI