拥抱 PostgreSQL,红帽再表态:SSPL 的 MongoDB 坚决不用

阅读数:3856 2019 年 2 月 15 日

2019 年 1 月,红帽在最新的 RHEL 8.0 Beta Release Note 中明确表示因为 MongoDB 使用了 SSPL 协议,所以将不会在 8.0 系统中提供该数据库。 2019 年 2 月 12 日,红帽官方发博称,Red Hat Satellite 将在后端标准化 PostgreSQL,并且再次划重点,Satellite 不会使用 SSPL 许可的 MongoDB 新版本。

Red Hat Satellite 是一种系统管理解决方案,它使 Red Hat 基础设施更易于在物理、虚拟和云环境中部署、扩展和管理。此管理工具帮助用户提供、配置和更新系统,以使其高效、安全地运行并符合各种标准。通过自动化大多数系统维护任务,Red Hat Satellite 帮助组织提高效率、降低运营成本,并使 IT 部门能够更好地响应战略业务需求。

Red Hat Satellite 目前都在使用哪些数据库?抛弃 MongoDB,拥抱 PostgreSQL 是否会对当前使用者造成影响?Satellite 自身的性能和功能是否会发生变化……相信很多开发者都很担心以上的问题,针对此,红帽官方也给出了解答(以下问答来源于红帽官方博客):

Red Hat Satellite 现在使用哪些数据库?
目前 Red Hat Satellite 使用两个数据库,MongoDB 和 PostgreSQL。出现这种情况的原因是多个上游产品使用了不同的数据库。

目前的数据库结构会发生变化吗?
没错,我们会调整现有的数据库结构,整合和使用单个 PostgreSQL 数据库。其实,早在 2016 年我们就在着手调查 Pulp 上游单个数据库的迁移情况,开发团队认为,针对 Pulp(最终落点是 Satellite)所需的功能,我们需要一个具有回滚和事务特性的关系数据库。

为什么要从 Red Hat Satellite 中删除 MongoDB Community Edition?
最重要的原因是我们认为 PostgreSQL 是一个更好的解决方案,适用于 Satellite 所需的数据和使用类型。此外,统一单个数据库后端可简化 Satellite 的整体架构,并可简化可支持性、备份和灾难恢复。

是否会对包含 MongoDB Community Edition、当前支持的 Red Hat Satellite 版本产生影响呢?
已发布的 Satellite 版本将继续支持 MongoDB 的嵌入式版本,目前 MongoDB 嵌入式版本已支持到 Satellite 6.0 中。只要不是迁移到 MongoDB 新版本中,Satellite 团队将会一直对 MongoDB 进行修补,直到其逐步被淘汰。

Satellite 不会使用 SSPL 许可的 MongoDB 新版本。(笔者按:红帽老大又一次划重点)

对于 Satellite 的性能或功能会有哪些预期影响呢?
我们预计删除 MongoDB 不会对性能产生任何重大影响。此外,我们也在努力避免删除 MongoDB 之后对 Satellite 所有功能的影响,让 Satellite 用户可以继续享受他们之前依赖的 Satellite 功能。

何时将 MongoDB Community Edition 作为嵌入式数据库放入 Red Hat Satellite 中?
事实上,MongoDB 数据库的更改还在进行当中,但是我们希望能够先把我们的意图先传达给用户,让用户为迁移 MongoDB 做好准备,具体的发布时间现在还没确定。

从 DB-Engines 看 PostgreSQL 和 MongoDB

image

(DB-Engines 中 PostgreSQL 和 MongoDB 的发展曲线,其中黄色为 PostgreSQL,紫色为 MongoDB)

上图为 PostgreSQL 和 MongoDB 在 DB-Engines 上的发展曲线,我们可以发现在 2015 年和 2017 年,双方的流行度发生了交换,并且从 2017 年之后,PostgreSQL 一直在稳步上升,与 MongoDB 逐渐拉开了差距。

红帽抛弃 MongoDB 的原因是因为其使用了 SSPL 许可,但是选择 PostgreSQL 的原因,除了其本身的回滚和事务特性,可能也有 PostgreSQL 越来越流行的原因吧,毕竟 PostgreSQL 的流行度已经跨过 400,迈向 500,与排名前三的数据库越来越接近了。

另外,因为红帽是因为 MongoDB 更改了协议才“放弃”它的,所以我们也可以合理猜测,其选择 PostgreSQL 的原因也可能是因为 PostgreSQL 背后没有商业公司,BSD 开源协议不会轻易修改。

参考链接:https://www.redhat.com/en/blog/red-hat-satellite-standardize-postgresql-backend?source=blogchannel&channel=blog/channel/red-hat-satellite