微软通过Cosmos DB挑战MongoDB
极客时间编辑部
讲述:丁婵大小:1.45M时长:03:10
当人们对微软感到失望时,常常会提到“拥抱、扩展、消灭”。表面上看,这话说的是技术公司设法吸引竞争对手产品的用户,但是具体的策略更加复杂。本文将使用 Azure Cosmos DB 作为例子来说明这个概念。
1. 拥抱
第一步是拥抱竞争对手的标准。在 NoSQL 数据库领域,需要接受的标准是 API,与关系型数据库至少会支持 ANSI SQL 标准不同,每一种 NoSQL 数据库都有自己的一套 API 和相应的驱动。
因此,理论上讲,用户会被特定的产品绑定,不付出很高的代价重写,就无法切换到其他的产品。
通过拥抱当前较为流行的数据库的 API 和驱动,微软的 Cosmos DB 解决了这个供应商锁定问题。
当配置 Cosmos DB 实例时,需要选择一种 API 类型,选项包括:
SQL (实际上是旧有的 Azure DocumentDB)
Gremlin,一种图数据库
MongoDB
Azure Table
Cassandra
如果用户选择 MongoDB 作为 API,那么就可以使用已有的 MongoDB 驱动,而且,微软的文档会直接把用户指向官方的 MongoDB 驱动,包括 Node.js、.NET、Java 等。
同样地,用户在使用 Gremlin 或 Cassandra 模式时,也是使用各自相应的驱动和 Cosmos DB 通信。从理论上讲,这意味着 Azure Cosmos DB 是其他 NoSQL 数据库的替代品。
2. 扩展
由于上述所有的第三方数据库都是免费或是开源的,所以除了托管之外,微软还必须提供更多的功能。否则,当其他数据库提供了性能更好或者价格更低的兼容云的解决方案时,用户就会立马切换回去。
这就需要微软的其他 Azure 产品发挥作用了。Cosmos DB 可以和 Apache Spark 或 Apache Kafka 等开源产品集成,也可以和 Azure Search、Azure Data Factory 和 HDInsight 等专利产品集成。不是扩展文件格式,而是设法扩展用户使用数据库可以完成的工作。
3. 消灭
从长远来看,NoSQL 的发展还很难预测。一种可能是,发展出一种所有主流 NoSQL 数据库都遵循的标准查询语言,和上世纪 80 年代的 ANSI SQL 一样。另一种可能是,ANSI SQL 继续发展,并最终承担起这个角色。
或者,MongoDB 中已有的 API 变成了事实上的标准,得到了主流供应商的认可,但永远不会得到一个标准组织的正式批准。
同时,任何一种 NoSQL 数据库都不可能一直占据主导地位,因为竞争对手很容易复制他们的 REST API。即使 Cosmos DB 成功颠覆了 MongoDB 或 Cassandra 的市场地位,其他数据库或云供应商,如亚马逊或谷歌,也可以做同样的事情。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论