太原PHP培训
达内太原php培训中心

0351-5608878

热门课程

AWS 回击了:推出兼容 MongoDB 的 DocumentDB

  • 时间:2019-01-11 09:02
  • 发布:InfoQ
  • 来源:InfoQ

AWS 回击了:推出兼容 MongoDB 的 DocumentDB

2018年10月,MongoDB将其开源许可证从GNU AGPLv3切换到Server Side Public License(SSPL),并明确指出之所以会更改开源协议是因为部分云计算公司在使用MongoDB的时候没有遵循其开源协议。

2019年1月9日,AWS宣布推出Amazon DocumentDB,一个兼容MongoDB的数据库。据AWS官网介绍,Amazon DocumentDB是一种可支持MongoDB工作负载的快速、可扩展、高可用并完全托管的文档数据库服务。开发人员可以像现在一样使用MongoDB应用程序代码、驱动程序和工具来运行、管理和扩展Amazon DocumentDB上的工作负载,并享受更好的性能、可扩展性和可用性,而无需担心管理底层基础设施。

即使MongoDB更改协议,这块蛋糕AWS也想照吃不误?

事实上,MongoDB修改开源协议要针对的对象很明确就是云厂商,而AWS发布Amazon DocumentDB的这一举动无疑是对MongoDB的一次回应:既然你不爽我直接用MongoDB,那没关系我自己开发一个数据库。

为什么AWS要死盯着MongoDB的市场呢?根据DB-Engines发布的数据库流行度,MongoDB目前排在第五位,如果缩小范围到开源数据库,MongoDB排在第三位(前两位为MySQL和PostgreSQL),如果范围缩小到文档存储数据库,那么MongoDB是大幅度领跑的。因此,云厂商在提供云数据库服务时,MongoDB自然就成为了必选,如果不选,那么就意味着会有一大批客户会转到竞争对手那里或者直接流失掉。

AWS推出Amazon DocumentDB仅仅只是要克隆一个MongoDB吗?显然并不是,因为MongoDB在使用时很容易报错,有人调侃,MongoDB出错都不是一个Bug,而是它的特性。AWS官方也印证了这一点:

MongoDB的API和表达性语言查询虽然可以帮助客户快速构建应用程序,但是实际情况是客户往往只需要API提供的一小部分功能;

有客户反馈在MongoDB上构建高性能、高可用性的应用程序非常困难,原因是设置和管理MongoDB集群实在太复杂了。有的应用程序可能需要每秒快速扩展到多兆字节(tbs)和数十万次读写,因此,客户不得不花费大量的时间和费用来管理大规模的MongoDB集群;

与本地部署一样,MongoDB托管系统也面临着数据复制的挑战,而且在发生故障之后往往需要很长的恢复时间。

很显然,AWS的野心并不只是要克隆一个MongoDB,而是要做一个兼容MongoDB并且优于MongoDB的数据库产品。

之前的MongoDB如何迁移到Amazon DocumentDB呢?

相信在听到这个消息之后,很多人的第一反应都是“之前的MongoDB如何迁移到Amazon DocumentDB呢?”AWS官方称,客户可以使用AWS数据库迁移服务(DMS)轻松地将其本地或EC2 MongoDB数据库迁移到Amazon DocumentDB。Amazon DocumentDB通过模拟MongoDB客户端对MongoDB服务器的响应来实现Apache 2.0 open source MongoDB 3.6 API,允许客户将现有的MongoDB驱动程序和工具与Amazon DocumentDB一起使用。

前文我们提到了AWS想做的一个优于MongoDB的数据库产品,那么具体会体现在哪里呢?

Amazon DocumentDB采用了分布式、容错、自我修复的存储系统,集群可自动扩展到64 TB,客户无需为容量规划而担心;

Amazon DocumentDB只会将数据库更改写入存储层,从而减少了数据库I/O,避免了跨网络链接的低效数据复制;

Amazon DocumentDB在高级查询处理、连接池、恢复、重建等方面做了优化,吞吐量可达当前MongoDB解决方案的两倍;

Amazon DocumentDB采用了存储和计算分离的架构,允许独立扩展,开发者可在几分钟内添加15个低延迟读取副本(无需考虑数据大小),读取容量可提升至每秒数百万个请求。

Amazon DocumentDB采用了AWS多可用区技术,可在AWS的三个AZ之间复制六份数据,可用性高达99.99%。

在费用方面,AWS也给出了解答,使用Amazon DocumentDB不需要预先付费,按使用量付费即可。

开源如何才能走出一条更好的路径呢?

开源运动轰轰烈烈的进行了近30年,在技术创新和发展方面取得了一些成绩,但是在商业变现方面至今也没有探索出一条比较好的路径。笔者在和专家交流时也赞同了这个观点,“微软75亿收购GitHub,这可能是开源商业变现最具参考的例子了,但是大家也只是有了一个模糊的概念:多少行代码、多少开发者对应多少钱,并没有真正探索出开源变现的路径。”

开源项目、商业公司和用户其实是一个三方矛盾的存在。开源项目并非是天上掉馅饼,也是要烧钱、花精力的,MongoDB首席执行官Dev Ittycheria就曾表示,过去十年,在MongoDB的研发上投入了3亿美元,所以开源项目背后的公司自然希望能够源码货币化,甚至是可以独家货币化。对于用户来说,他们只希望能在自己的系统中大规模运行源码,并且能够解决他们现阶段的业务问题,提供性能,减少成本。而对于商业公司来说,就要平衡这两方的矛盾。

以Amazon DocumentDB和MongoDB为例,如果未来Amazon DocumentDB在AWS的用户中取得了成功,那么AWS又将如何管理基于开源项目的服务呢?AWS表示,当我们选择推出基于开源项目的服务时,就做好了长期维护的准备,并且我们也会大力贡献于此开源项目。

如果此次Amazon DocumentDB和MongoDB能够长期稳定运行下去,那么会不会为开源项目趟出一条更好的路径呢?

参考链接:https://press.aboutamazon.com/news-releases/news-release-details/aws-announces-amazon-documentdb-mongodb-compatibility

PHP开发的热度一直没有缩减,始终受到大多数程序员的追捧。近些年,PHP的开发技术也在需求不断地变更中不断地提升发展。编程一直以来就被认为是一份高兴有前景的工作。达内每月根据学员的实际需求。提前开设免费试听训练营,让你真实感受太原达内php培训内容以及课堂学习氛围。欢迎来电咨询预约,每月名额有限。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!

预约申请免费试听课程

         

上一篇:SQLer:无需编程语言即可将 SQL 查询转换为 RESTful API 的工具
下一篇:webpack 5.0.0 alpha 4发布,JS模块打包器

国产通信框架 smart-socket 1.4.0-rc.2 发布

PHP 扩展 PEAR 安装包文件被污染,服务下线

Choerodon 0.13 发布,开源企业级数字化服务平台

Firefox 65将添加Flexbox Inspector开发人员工具

选择城市和中心
贵州省

广西省

海南省