菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
39
0

从Oracle到MongoDB:为什么AWS不断抛弃合作伙伴?

原创
05/13 14:22
阅读数 438

亚马逊因不断与其商业伙伴分道扬镳而备受关注,在决定放弃Oracle数据库转而使用自己的服务之后,Amazon现在正在尝试用自己的“兼容”版本DocumentDB取代MongoDB。

有趣的是,AWS宣布放弃Oracle的声明是在Oracle首席执行官Larry Ellison吹嘘AWS和Salesforce运行在其数据库上之后发布的。值得注意的是,MongoDB专门修改了它的许可条款,以防止“被抛弃”情况发生,但是这样做似乎让事情变得更糟糕了。

MongoDB许可证可能会加速其灭亡

MongoDB服务器端公共许可证本质上要求任何提供MongoDB服务的云提供商必须开放与该服务相关的所有代码,这不是所有云提供商都愿意接受的,所以AWS发布DocumentDB也就不足为奇了。DocumentDB被设计用于许可证生效之前发布的3.6版本,SSPL似乎并不适用于DocumentDB。此外,Amazon新产品基本上只是一组位于自己数据库上的兼容api,所以它实际上没有使用任何MongoDB代码。

AWS是目前最大的公共云,DocumentDB的发布导致MongoDB的股票暴跌,DocumentDB只支持MongoDB 3.6,这可能反映了一个严峻的问题:如果AWS的新服务流行起来,MongoDB别无选择,只能开源其最新的服务,否则将面临停滞不前的风险。这就是为什么MongoDB改变其许可条款就像自杀一样,新的许可证不仅不能保护MongoDB免受像AWS这样的“恶狼”的攻击,它甚至会让它受到开源社区更多抨击。 比如,为了响应SSPL,Debian和RedHat都决定不将MongoDB的最新产品包含在内,因为认为它违背了开源精神。

AWS:做自己最擅长的事情

在最新的声明中,AWS将DocumentDB描述为“一种支持MongoDB工作负载的快速、可伸缩、高可用性和完全托管的文档数据库服务”。这意味着MongoDB本身无法处理大规模的工作负载,更意味着AWS正在向客户销售其自身核心竞争力,即通过性能、可伸缩性和可用性实现的便捷性。AWS还在一篇声明中说,由于设置和管理MongoDB集群的复杂性,公司很少利用MongoDB api的一小部分功能,他们还发现,扩展到多个tb和数十万每秒的读写非常具有挑战性。

AWS销售的不是软件而是便捷性,而MongoDB为客户提供的是完成工作的工具。AWS为他们提供了真正想要的东西,由其他人为他们来完成这项工作。在无需管理底层基础设施的情况下获得性能、可伸缩性和可用性升级是每个企业都追求的,这也是AWS如此成功的原因。为了更加方便,用户可以使用MongoDB应用程序代码、驱动程序和工具来处理Amazon DocumentDB上的工作负载,并且可以在AWS数据库迁移服务(AWS DMS)的帮助下,从MongoDB执行实时迁移,而不需要停机。

AWS DocumentDB

Amazon DocumentDB使用基于SSD的存储层,在三个独立的可用区域内进行6x复制,这不仅意味着DocumentDB可以在30秒内将数据从主服务器转移到副本服务器,而且还支持MongoDB副本集模拟。作为其“完全托管”产品的一部分,它还具有自动配置和设置、监控指标和自动软件修补功能。此外,DocumentDB存储可以从10 GB扩展到64 TB,增量为10 GB,并通过仅将数据库更改写入存储层来减少数据库I / O. 它还声称其吞吐量是当前可用MongoDB解决方案的两倍。

这可能是因为DocumentDB的存储和计算彼此分离,并被允许独立扩展。同时这意味着,开发人员可以忽略数据的大小,在几分钟内添加多达15个低延迟副本,从而将读取容量提高到每秒数百万个请求。

除了速度、可扩展性和可用性之外,DocumentDB还专注于安全性,并运行在Amazon VPC中,这允许企业在自己的虚拟网络中隔离集群。它还与AWS身份和访问管理(IAM)集成,允许企业使用通过AWS Key Management Service(KMS)创建和控制的密钥加密数据库。

MongoDB

MongoDB的CEO Dev Ittycheria说:“模仿是最真诚的奉承,所以亚马逊试图利用MongoDB文档模型的流行和势头也就不足为奇了。”他声称DocumentDB只是一个拙劣的模仿。而该公司的另一名发言人指出,DocumentDB基于一个只有两年历史的版本,缺少了ACID特性、集群和移动同步等新功能。虽然在DocumentDB宣布之后,MongoDB的股票暴跌,这无疑说明了AWS本身的强大,但MongoDB的股票在过去一年里上涨了200%,所以现在就把MongoDB归为失败者还为时尚早。

作为反击,MongoDB通过MongoDB Atlas的产品提供了自己的开源数据库托管版本,该产品基于最新版本的MongoDB 4.0。在最近的一篇文章中,CTO Eliot Horowitz公司比较了这两种服务,并指出DocumentDB实际上落后了大约6年,而且更接近2.4版,而不是3.6版。它还指出了AWS承诺的性能、可伸缩性和可用性带来的一系列缺陷,包括所有DocumentDB集群都被限制在一个单独的区域。这一点与Atlas不同,Atlas允许副本集扩展并提供低延迟。

AWS与开源

总之,这是个这是个左右两难的选择,人们不知道到底应该同情MongoDB还是支持AWS公然窃取开源社区的决定。从AWS的角度来看,他们并不是在销售MongoDB,只是提供一种企业看重的服务。就算不是MongoDB,也会是客户正在使用或需要帮助的任何其他数据库。比如Redis数据库,在一个许可协议下,AWS的版本总是最新的。虽然这对于开发来说有好处,但是它并没有帮助Redis Labs获得利润,可能这就是它改变许可的原因。

看着像AWS这样首屈一指的大公司还在孜孜不倦地“薅羊毛”,难免让辛勤工作的人们感到不痛快,而且很难不对Redis和MongoDB这样的公司产生同情。

然而,事物都有两面性,它们的流行可能是因为它们最初都是开源的,而且“托管”开源服务总会有市场。这是否意味着,AWS将继续随心所欲地从开源社区获取它想要的东西,还是法律将保护像MongoDB这样的公司?只有未来才能知道答案。

发表评论

0/200
39 点赞
0 评论
收藏
为你推荐 换一批