BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Jonathan Allen 关注 547 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2018年3月5日. 估计阅读时间: 4 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

看新闻很累?看技术新闻更累?试试下载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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

宇督观 by U UM

微软还是蛮拼命的,但似乎中小企业都不怎么敢用,倒是一堆银行很喜欢用。持续观察。

fjaowe by Wang Yi

这个是在云上的,不知道怎么就和Mongodb, Cassandra直接竞争了。微软也没有单独发布开源版本给随便装

Cosmos DB入门太贵了 by Lee Jerin

每个Collection都要20$/月。如果我做了多个网站/app,不可能把不同的数据放到同一个Collection里面,使用不同Collection,成本又太高了。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT