微软Cosmos数据库"一体适用"能走多远?

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

2005年,数据库教父Michael Stonebraker曾表示,数据库市场中“一体适用”的心态是一个“已经成为过去时”的想法。显然,微软不太同意Stonebraker的观点。今年5月中旬,微软推出了Azure Cosmos DB,一个新的数据库,据说可以适用一切。

适用一切?恐怕没那么容易

关系型数据、文档和图表当然会支持,强一致性和最终一致性也都同样支持。事实上,Cosmos DB有五种一致性模型可供选择。

意料之中的是,在媒体发布会上,一名开发者滔滔不绝地说,它“绝对击败了云中的任何竞争对手”,而且“不明白为什么你还要去选择其他的东西”。微软甚至也不那么令人吃惊地同意了,称Azure Cosmos DB是“第一个全球分布式的数据服务,它允许您在任意数量的地理区域内弹性地扩展吞吐量和存储,同时保证低延迟、高可用性和五个定义良好的一致性模型。”

然而,“阳光下的一切”产品的问题在于,它们获得宽度的同时,往往会在深度上有所遗失。正如一位前MongoDB高管所说的那样,“当你告诉我你的数据库做了所有的事情时,我想到的是它的一切都很平庸。”

也许他说的有道理。

你的工作内容也许只有一项

虽然NoSQL并没有将通用关系数据库淘汰掉(如MySQL仍然坚挺),但它为市场提供了不同的方法来适应不同的应用需求。正如ArangoDB的董事会成员Luca Olivari告诉笔者的那样,“键值存储在极其简单的数据中非常快,文档存储对于复杂的数据是非常出色的,而图表解决方案则是瞄准高度互联的数据。”

有些人会无视数据库市场的分裂。Olivari补充说,掌握这些系统需要“一个陡峭的学习曲线(其实是很多陡峭的学习曲线)”,而且, “同时保持你数据的一致性、你应用程序的容错性和你架构的精益性基本是不可能的。”

不管你喜不喜欢,这就是我们所生活的世界。上DB-Engines.com看看,你会发现数以百计的数据库,每个数据库都有自己的定位。Stonebraker在十年前就把这一趋势称为:

在过去的25年中,商业DBMS的开发可以用一句话概括:“一体适用。”这个短语指的是传统DBMS架构(最初设计的和业务数据处理优化)已经被用于支持许多不同特色的以数据为中心的应用程序和要求…这一概念已经不再适用于数据库市场,而且我们认为商业市场将会分裂出一批独立的数据库引擎。

这一预测在MongoDB、Apache Cassandra、Neo4j和其他NoSQL数据库进入市场的几年前被提出,可以说是非常有先见之明的。Thoughtworks的Martin Fowler解释了这种“混合持久化”的原因:“任何一个像样的企业都有不同类型的数据存储技术需求。”

换句话说,一个“面面俱到”的数据库可能并不存在。事实上,几乎可以肯定,它是不存在的。

多模型在做梦吗?

当然,并不是所有人都同意这一点。几年来,围绕“多模型”数据库的趋势越来越多,Azure Cosmos DB只是其中最新的一个,还有ArangoDB、OrientDB等等。Serdar Yegulalp认为,在这种多模式的数据库中,尤其是在微软在数据库市场上的重要性和经验的支持下,Azure Cosmos DB可能会“让我们在挑选这些产品时无需摇摆而纠结。”

Olivari更进一步说,“原生的多模型数据库,比如ArangoDB,是用不同的模式来处理数据的——键值对、文档和图形。它们允许开发人员自然地使用一种简单的查询语言,就像编写代码一样。只学习一种语言,只有一个需了解和操作的核心,只需一种产品支持,从而使每个人的生活变得更加轻松。”

你可以通过将不同模型的数据映射到一个公共的后端来支持多个数据库模型,另一种说法是支持特定的数据库。微软的DocumentDB(后来演变为了CosmosDB)试图在文档数据库领域中击败MongoDB,但是失败了,又不得不接受MongoDB的wire协议,允许MongoDB开发人员使用他们首选的MongoDB驱动程序和工具链将数据推进到DocumentDB中。值得一提,IBM在2013年也曾尝试过同样的事情。

两大公司都没能把MongoDB的人气转移到他们的钱包里。很难想象一个多模型数据库能有什么作为,从定义上说,它是一个“全行业”的数据库,试图取代所有流行的数据库。

同样,开发人员也不会喜欢这种情况,大家都在试图掌握某一种模式,如今给他们更多的选择只会让工作变得更加艰难。

也许这就是多模式数据库在过去一年中不断下滑的原因之一:例如,OrientDB从一年前的41位跌至第46位。浏览一下其他的多模型数据库,情况大致相同。

Azure Cosmos DB可能有所不同。它可以重新定义类型,并交付每个数据库模型、所有类型的一致性和大规模。微软在数据库方面的专业知识可能会使其成功,唯一对其成功有不好影响的是一个根深蒂固的想法,即“一体适用”数据库都不能真正地与专业数据库竞争。

根据Stonebraker的说法,通用关系数据库比其他任何数据库都要多,但这种策略已经失败了,而且将会在未来更加戏剧性地失败。

本文转自d1net(转载)

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
5月前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
80 2
|
5月前
|
SQL XML 存储
Microsoft Access 是微软公司开发的关系型数据库管理系统(
【5月更文挑战第14天】Microsoft Access 是微软公司开发的关系型数据库管理系统(
63 1
|
5月前
|
SQL 安全 Devops
一个简单的代码拼写错误导致17个生产数据库被删!微软Azure DevOps宕机10小时始末
一个简单的代码拼写错误导致17个生产数据库被删!微软Azure DevOps宕机10小时始末
57 0
|
SQL 存储 Oracle
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 的介绍,引入了FreeMarker模版引擎,通过配置模版实现创建和修改物理表结构SQL语句,并且通过配置oracle数据库SQL模版,基于oracle数据库,零代码实现crud增删改查。本文采用同样的方式,很容易就可以支持微软SQL Server数据库。
198 0
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
|
Rust 数据可视化 安全
95后百度员工对领导不满,删改公司数据库被判刑;微软在美取消竞业协议;TikTok中国管理团队与海外员工冲突引发离职潮 |Q资讯
95 后百度员工因项目被接手对领导不满,刻意删改公司数据库被判刑;微软宣布在美国停止执行员工竞业协议;字节跳动员工“秘密”入职快手,被判返赔近 38 万;特斯拉将裁员 1 万人、暂停全球招聘,马斯克回应:裁员不涉及实际生产人员,还将增加小时工;TikTok 中国管理团队与英国员工发生矛盾冲突,众多员工离职,涉事高管被停职调查;蚂蚁集团:目前没有启动 IPO 的计划;无视微软反对,美商务部限制中美网络安全合作;GitHub Atom 将停用,6 个月后完成归档......
271 0
|
数据库 Android开发 Windows
微软MAC地址数据库惊爆安全门:任何人都可以定位你
微软一直在建设一个以位置服务为目的,能够公开播放MAC地址(同时包括所在街道)的数据库。这可能包括手机以及笔记本电脑在内。问题在于,微软并没有保护好这个数据库的安全。 根据来自Cnet的Declan McCullagh的一篇报道称,随着汽车到处走寻找热点区域,微软收集了连接到wi-fi 的Windows 7手机数据,并记录在数据库里,但是因为他们疏于保护该数据库,任何人都可以访问该数据库。
1969 0
|
SQL 数据库
Sequelize 连接微软云数据库 SQL Azure
function getConnection(){ var sequelize=new Sequelize("DBName","sa","000000", { host:"************", dialect...
1132 0
下一篇
无影云桌面