Azure DocumentDB:微软的 NoSQL 数据库

  • 马德奎

2014 年 8 月 27 日

话题:数据库Windows AzureAzure语言 & 开发AI

8 月 21 日,Microsoft Azure 产品营销总监 Vibhor Kapoor 在官方博客上宣布了新的 Azure 服务和更新,其中最重要的两项是发布 Azure DocumentDB 公开预览版和 Azure HDInsight 正式支持 Apache HBase。

Azure DocumentDB是一项全托管的 NoSQL 文档数据库服务,可扩展性很强,其主要功能包括:

  • 存储异类 JSON 文档,并允许用户使用熟悉的 SQL 语法查询这些文档。
  • 使用标准的 JavaScript 将应用程序的逻辑表示为存储过程、触发器和用户自定义函数,并直接在数据库引擎中对 JavaScript 应用程序逻辑提供完整的事务支持。
  • 可调整的一致性级别。
  • 吞吐量和存储可根据需要增减。

Azure DocumentDB 通过明确定义的数据库资源管理数据,所有的资源都建模并存储为 JSON 文档。它为所有的资源都提供了一个简单的、基于 HTTP 的 RESTful 编程模型。下面是 Azure DocumentDB 的资源关系图:

任何能够发送 HTTP/HTTPS 请求的语言都可以调用 Azure DocumentDB 通过 REST API 暴露的资源。为简化 Azure DocumentDB 的使用,它针对多种流行语言提供了编程库,包括.NET、Node.js、JavaScript 和 Python,针对其它语言的库正在开发当中。感兴趣的读者可以查看官方提供的入门教程了解更多的开发细节。

正如 Infoworld.com 所说,Microsoft Azure 的这两项更新说明微软已经在 Azure 用户中看到了 NoSQL 技术的广阔市场。另外,微软同时提供这两项功能显示了 NoSQL 世界中已经出现的紧张形势。NoSQL 提供了自由的数据格式,但传统的 SQL 提供了数据一致性和事务原子性。为此,在这两个领域,越来越多的人正在努力提供融合这两种特性的方式。

关于 Azure DocumentDB,该报道认为,其最吸引人的地方是:它不是对开源项目的重新包装,也不是对现有微软产品的扩展或重写,它是一个全新的产品。至于 Azure HDInsight 支持 Apache HBase 则并不是什么新鲜事物,它只是结束了几个月的测试并开始正式提供支持而已。

Hortonworks 企业战略副总裁则指出,DocumentDB 最大的不同之处是支持事务。同时,他认为,在HDInsight和 DocumentDB 的方法之间做出选择至关重要。

此外,Azure DocumentDB 目前只向美国西部、北欧和西欧提供服务。要想了解详细的价格信息,请查看这里


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

数据库Windows AzureAzure语言 & 开发AI