亚马逊一直关注其与业务合作伙伴的持续分歧。在决定放弃Oracle数据库并使用自己的服务之后,亚马逊正在尝试用自己的“兼容”版本的DocumentDB替换MongoDB。
有趣的是,在Oracle首席执行官拉里·埃里森(Larry Ellison)吹嘘AWS和Salesforce在其数据库上运行之后,AWS宣布放弃甲骨文。值得注意的是,MongoDB专门修改了其许可条款以防止“丢弃”的情况,但这样做似乎会使事情变得更糟。
MongoDB许可证可能会加速其灭亡
MongoDB服务器端公共许可证基本上要求任何提供MongoDB服务的云提供商必须拥有与该服务相关联的所有代码,这是所有云提供商都不能接受的,因此AWS发布DocumentDB也就不足为奇了。 DocumentDB是为许可证生效之前发布的3.6版本而设计的,而SSPL似乎不适用于DocumentDB。此外,亚马逊的新产品基本上只是一组兼容的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的一小部分,他们还发现每秒扩展到多个tbs和数十万个读取非常具有挑战性。AWS销售的不是软件,而是便利,MongoDB为客户提供完成工作的工具。 AWS为他们提供了他们真正想要的东西,而其他人则为他们做了。无需管理底层基础架构即可获得性能,可扩展性和可用性升级,这是每个企业都在寻找的,这就是AWS如此成功的原因。为了更加方便,用户可以使用MongoDB应用程序代码,驱动程序和工具来处理Amazon DocumentDB上的工作负载,并在AWS数据库迁移服务(AWS DMS)的帮助下从MongoDB执行实时迁移,而无需停机。
AWS DocumentDB
Amazon DocumentDB在三个独立的可用区中使用基于SSD的存储层进行6x复制。这不仅意味着DocumentDB可以在30秒内将数据从主服务器传输到副本服务器,还支持MongoDB副本集模拟。作为其“完全托管”产品的一部分,它还具有自动配置和设置,监控指标以及自动软件修补功能。此外,DocumentDB存储可以以10 GB的增量从10 GB扩展到64 TB,并通过仅将数据库更改写入存储层来减少数据库I/O.它还声称其吞吐量是目前可用的两种MongoDB解决方案。时报。
这可能是因为DocumentDB的存储和计算彼此分离并允许独立扩展。同时,这意味着开发人员可以忽略数据的大小,并在几分钟内添加多达15个低延迟副本,以将读取容量提高到每秒数百万个请求。
除了速度,可扩展性和可用性之外,DocumentDB还专注于安全性并在Amazon VPC上运行,允许组织在自己的虚拟网络中隔离集群。它还与AWS身份和访问管理(IAM)集成,允许组织使用通过AWS Key Management Service(KMS)创建和控制的密钥加密数据库。
MongoDB的
MongoDB首席执行官Dev Ittycheria表示,:“模仿是最真诚的奉承,所以亚马逊试图利用MongoDB文档模型的受欢迎程度和动力并不奇怪。”他声称DocumentDB只是一个糟糕的模仿。该公司的另一位发言人指出,DocumentDB基于一个已有两年历史的版本,缺乏ACID功能,集群和移动同步等新功能。尽管MongoDB的股票在DocumentDB宣布之后暴跌,但这无疑说明了AWS本身的优势,但MongoDB的股票在过去一年里上涨了200%,因此将MongoDB归类为失败者还为时尚早。作为反击,MongoDB提供了自己的开源数据库托管版MongoDB Atlas,它基于最新版本的MongoDB 4.0。在最近的一篇文章中,首席技术官Eliot Horowitz对这两项服务进行了比较,并指出DocumentDB实际上已经落后了大约六年,并且更接近2.4版本,而不是版本3.6。它还指出了AWS在性能,可伸缩性和可用性方面所承诺的一些缺陷,包括将所有DocumentDB集群包含在单个区域中。这与Atlas不同,后者允许副本集扩展并提供低延迟。
AWS和开源
简而言之,这是一个两难选择。人们不知道他们是否应该同情MongoDB或支持AWS决定窃取开源社区。从AWS的角度来看,他们不销售MongoDB,只提供公司重视的服务。即使它不是MongoDB,它也将是客户正在使用或需要帮助的任何其他数据库。例如,根据许可协议,Redis数据库的AWS版本始终是最新的。虽然这对开发很有帮助,但它并没有帮助Redis Labs获利,而这可能是它改变许可证的原因。
看看像AWS这样仍在孜孜不倦地舔羊毛的大公司,努力工作的人们不会感到幸福,也很难不同情Redis和MongoDB这样的公司。
然而,事情有两个方面,它们的受欢迎程度可能是因为它们最初是开源的,并且始终存在“托管”开源服务的市场。这是否意味着AWS将继续从开源社区获得它想要的东西,或者法律是否会保护像MongoDB这样的公司?只有未来才能知道答案。