微软通过Cosmos DB向MongoDB和Cassandra发起挑战

栏目: 数据库 · 发布时间: 7年前

内容简介:看新闻很累?看技术新闻更累?试试当人们对微软感到失望时经常会说“拥抱、扩展、消灭”。表明上看,这话说的是技术公司设法吸引竞品的客户,但是具体的策略比那复杂。本报道将使第一步是拥抱竞争对手的标准。在八九十年代,这意味着能够读写他们的文件格式。例如,MS Word需要能够完美地打开、修改和保存WordPerfect文档。否则,对于当时是主流的WordPerfect,其用户甚至都不会考虑试一下Word。

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

当人们对微软感到失望时经常会说“拥抱、扩展、消灭”。表明上看,这话说的是技术公司设法吸引竞品的客户,但是具体的策略比那复杂。本报道将使 用Azure Cosmos DB 作为例子来说明这个概念。

拥抱

第一步是拥抱竞争对手的标准。在八九十年代,这意味着能够读写他们的文件格式。例如,MS Word需要能够完美地打开、修改和保存WordPerfect文档。否则,对于当时是主流的WordPerfect,其用户甚至都不会考虑试一下Word。

在NoSQL数据库领域,需要拥抱的标准是API。和关系型数据库至少会支持ANSI SQL标准不同,每一种NoSQL数据库都有自己的一套API和相应的驱动。因此,理论上讲,用户会被特定的产品绑定,不付出很高的代价重写,就无法切换到其他的产品。

通过拥抱当前较为流行的数据库的API和驱动,微软的Cosmos DB解决了这个供应商锁定问题。我们这里所说的“拥抱”是一种纯字面的理解。

当配置Cosmos DB实例时,需要选择一种API类型,选项包括:

  • SQL (实际上是旧有的Azure DocumentDB)
  • Gremlin,一种图数据库
  • MongoDB
  • Azure Table
  • Cassandra

如果用户选择 MongoDB 作为使用的API,那么他就可以使用已有的MongoDB驱动,而不是一个类似MongoDB驱动的驱动。而且,微软的文档会 直接把用户导向官方的MongoDB驱动 ,包括Node.js、.NET、 Java 等。类似地,对于Gremlin和assandra,用户在使用Gremlin或Cassandra模式时,也是使用各自相应的驱动和Cosmos DB通信。

理论上,这意味着Azure Cosmos DB是其他NoSQL数据库的替代品。

扩展

由于上述所有的第三方数据库都是免费/开源的,所以除了托管之外,微软还必须提供更多的功能。否则,当其他数据库提供了性能更好或者价格更低的兼容云的解决方案时,用户就会立马切换回去。

这就轮到微软的其他Azure产品发挥作用了。Cosmos DB可以和Apache Spark或Apache Kafka等开源产品集成,也可以和Azure Search、Azure Data Factory和HDInsight等专利产品集成。不是扩展文件格式,而是设法扩展用户使用数据库可以完成的工作。

虽然从MongoDB的云托管切换到Cosmos DB主要是QA和操作问题,那么使用其他Azure产品会极大地限制用户将来的架构选择。用户需要根据长远规划仔细权衡微软今天提供的便利和功能。

消灭?

长远来看,NoSQL的发展还很难预测。一种可能是,发展出一种所有主流NoSQL数据库都遵循的标准查询语言,和上世纪80年代的ANSI SQL一样。另一种可能是,ANSI SQL继续发展,并最终承担起这个角色。

或者,MongoDB中已有的API变成了事实上的标准,得到了主流供应商的非正式认可,但永远不会得到一个标准组织的正式批准。

同时,任何一种NoSQL数据库都不可能一直占据主导地位,因为竞争对手很容易复制他们的REST API。即使CosmoDB成功颠覆了MongoDB或Cassandra的市场地位,其他数据库/云供应商,如亚马逊或谷歌,也可以做同样的事情。

查看英文原文: Microsoft Directly Challenges MongoDB and Cassandra with Cosmos DB


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mission Python

Mission Python

Sean McManus / No Starch Press / 2018-9-18 / GBP 24.99

Launch into coding with Mission Python, a space-themed guide to building a complete computer game in Python. You'll learn programming fundamentals like loops, strings, and lists as you build Escape!, ......一起来看看 《Mission Python》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具