内容简介:看新闻很累?看技术新闻更累?试试当人们对微软感到失望时经常会说“拥抱、扩展、消灭”。表明上看,这话说的是技术公司设法吸引竞品的客户,但是具体的策略比那复杂。本报道将使第一步是拥抱竞争对手的标准。在八九十年代,这意味着能够读写他们的文件格式。例如,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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 拿下加州路测牌照,发起两项算法挑战,图森为重卡自动驾驶都做了哪些准备?
- Apache Eagle联合发起人陈浩:如何发起和维护开源项目
- 计划发起一个练习算法项目
- 无视HTTPS发起中间人攻击
- Spring Boot 发起 HTTP 请求
- 伊组织对美发起新一轮攻击
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java Web服务:构建与运行
Martin Kalin / 任增刚 / 电子工业出版社 / 2009年11月 / 45.00元
本书以示例驱动的方式详尽地介绍了XML Web服务(JAX-WS)和RESTful Web服务(JAX-RS)二者所涵盖的Java相关API。 《Java Web服务:构建和运行》这本书以清晰、务实的方法讲述Web服务相关技术,提供了混合性的架构总结、完全可以运行的代码示例,以及编译、部署和执行应用程序的一些短小精悍的指令。学习本书,读者将掌握如何从零开始编写Web服务或将已有的服务整合到现......一起来看看 《Java Web服务:构建与运行》 这本书的介绍吧!