系统粉 > IT资讯 > 微软资讯

微软Cosmos数据库“一统江湖”的梦想是不是太过不切实际?

发布时间:2017-06-05    浏览数:

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

微软Cosmos数据库“一统江湖”的梦想是不是太过不切实际?(1)

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

关系型数据、文档和图表当然会支持,强一致性和最终一致性也都同样支持。事实上,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的说法,通用关系数据库比其他任何数据库都要多,但这种策略已经失败了,而且将会在未来更加戏剧性地失败。

上一篇:微软副院长周明: NLP目前存在的问题、以及未来的发展方向 下一篇:安卓之父也开始做音箱了;微软保罗·艾伦造出最大飞机用来发射火箭 | 一周「硬」资讯

相关资讯

最新热门应用

电脑问答