AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

微软发布 Azure Cosmos DB 中 MongoDB 聚合功能的公开预览版本

  • 2018-03-27
  • 本文字数:1216 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

去年十一月,微软宣布在Azure Cosmos DB 中支持MongoDB 的更多功能。随着Cosmos DB 服务最新版本的部署,微软包含了对MongoDB 聚合管道支持的预览版本,允许开发人员通过联合多个聚合“stage”,创建更复杂的查询和数据操作。

微软的Azure Cosmos DB 是一个全球的分布式多模型、多API 的数据库服务。多模型支持Graph、列族(column family)、key-value 和文档。除了多模型的支持以外,它还提供了对多种API 访问的支持,包括MongoDB API,这意味着Mongo 应用可以直接与Cosmos DB 进行通信。除此之外,各种原生的MongoDB 特性也内置到了Cosmos DB 的MongoDB API 中。

Mongo 开发了聚合管道(aggregation pipeline) 功能,这是map-reduce 的替代方案,它是一个更加轻量级和更自然的编程模型。该特性是微软为Cosmos DB 提供的众多特性之一,他们希望通过这些特性促使客户从原生MongoDB 中迁移出来。另外,Cosmos DB 工程团队还将用户要求的MongoDB 原生特性直接构建到了Cosmos DB 中。Azure Cosmos DB 目前还没有完全支持所有的MongoDB 原生特性,当然它正在朝着这个方向努力。在Channel 9 Azure Friday 合辑中,有关 Azure Cosmos DB 为 MongoDB 提供了哪些新功能的访谈里面,来自 Cosmos DB 工程团队的 Emily Lawton 这样告诉 Scott Hanselman:

在最近的几个月和几周的时间内,我们正在做一些新的特性,这些特性能够让 Mongo 客户将更复杂更强大的应用迁移至 Cosmos。随着这些更新的发布,我们可以自信地说,我们支持了所有最受欢迎的 Mongo 特性并且将投入花费到了最适当的地方,我们可以向任何从 Mongo 迁移过来的客户保证,我们有适当的工具和资源确保他们能够在 Cosmos 中获得成功。

借助 MongoDB 的聚合管道,在将结果返回给客户端之前,更多的数据处理会在服务端完成。这项特性的明显收益就是在网络上数据传输会更少,发起调用的客户端所接收到的数据量会更加易于管理。举例来说,典型的聚合管道可以是在 MongoDB 实例中查找记录,这样能够通过一个查询来实现,该查询会基于表达式进行匹配和分组以及计数:


图片来源: https://azure.microsoft.com/en-us/blog/azure-cosmosdb-extends-support-for-mongodb-aggregation-pipeline-unique-indexes-and-more/

MongoDB 聚合管道是通过聚合命令 aggregate、count 或 distinct 来实现的,命令后面紧接着的是一个或多个聚合 stage,其中可以使用表达式、累加器(accumulator)和操作符。关于更多细节信息,请参考微软网站上的文档。

开源的MongoDB 客户端驱动允许开发人员与Cosmos DB 中的MongoDB API 进行通信。对聚合管道的支持已经发布公开预览,开发人员可以在Azure 门户中通过任意MongoDB API 账户的Preview Features 页面启用该特性。

查看英文原文 Microsoft Announces a Public Preview of the MongoDB Aggregation Feature in Azure Cosmos DB

2018-03-27 19:001931

评论

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

架构师训练营 week8 学习总结

花果山

极客大学架构师训练营

训练营第十二周作业 1

仲夏

【架构师训练营第 1 期 12 周】 学习总结

Bear

极客大学架构师训练营

量化交易APP软件系统开发(现成)

系统开发

TronChain波场链系统APP开发|TronChain波场链软件开发

系统开发

HiveQL分析

天天向上

极客大学架构师训练营

训练营第十二周作业 2

仲夏

架构师训练营week12总结

FG佳

第12周 作业

Pyr0man1ac

架构师训练营第 8 周学习总结

菜青虫

极客大学架构师训练营

第十二周 数据应用(一)

9527

量化交易软件系统开发|量化交易APP开发

系统开发

第12周 C!数据有这么大

Pyr0man1ac

第七周-学习总结

Mr_No爱学习

极客大学 - 架构师训练营 第十二周作业

9527

第八周作业

Griffenliu

十二周作业

orchid9

架构师训练营第二期 Week 8 作业

bigxiang

极客大学架构师训练营

架构师训练营第二期 Week 8 总结

bigxiang

极客大学架构师训练营

第十二周作业

wanlinwang

极客大学架构师训练营

第七周-作业1

Mr_No爱学习

第 8 周作业

Steven

极客大学架构师训练营

架构师训练营 week8 课后作业

花果山

极客大学架构师训练营

第八周学习总结

Griffenliu

架构师训练营 week12作业

FG佳

架构师一期

十二周总结

orchid9

架构师训练营第三周”代码重构“总结

随秋

极客大学架构师训练营

第十二周 数据应用(一)作业

蓝黑

极客大学架构师训练营

大数据应用总结一

天天向上

极客大学架构师训练营

Vim搜索神器fzf

Rayjun

vim fzf

第11周总结

睡觉表演者

极客时间架构师一期

微软发布Azure Cosmos DB中MongoDB聚合功能的公开预览版本_数据库_Steef-Jan Wiggers_InfoQ精选文章