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

news/2024/7/5 7:21:01 标签: 数据库, 后端, 嵌入式

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\u0026amp;channel=blog/channel/red-hat-satellite


http://www.niftyadmin.cn/n/928502.html

相关文章

Stream Collectors - summarizingInt

public static <T> Collector<T,​?,​IntSummaryStatistics> summarizingInt​(ToIntFunction<? super T> mapper) public static <T> Collector<T,​?,​LongSummaryStatistics> summarizingLong​(ToLongFunction<? super T> mapp…

1_npctele

1_npctele 其他同1_itemtele slot       排序字段(传送NPC中的显示根据这个来排序 也就是 数值越小的越在前)creature    传送员id (这里指定ID可以设置多个传送员)parentmenuidicongossipmapposition_xposition_yposition_zposition_oactionvendoridreqtypereqva…

Go语言的通道(2)-缓冲通道

有缓冲的通道相比于无缓冲通道&#xff0c;多了一个缓存的功能&#xff0c;如下图描述的一样&#xff1a; 从图上可以明显看到和无缓冲通道的区别&#xff0c;无缓冲必须两个Goroutine都进入通道才能进行数据的交换&#xff0c;这个不用&#xff0c;如果数据有&#xff0c;直接…

Stream Collectors - summingInt

public static <T> Collector<T,​?,​Integer> summingInt​(ToIntFunction<? super T> mapper) public static <T> Collector<T,​?,​Long> summingLong​(ToLongFunction<? super T> mapper) public static <T> Collector…

为什么要应用编排,应用编排能做什么?

随着服务数量的增多&#xff0c;对服务配置的管理也提出了更高的要求。如何去管理诸多服务&#xff0c;不同环境中存在差异部分以及在系统运维阶段需要灵活变更的部分&#xff0c;这些都是服务配置管理中需要解决的问题。通过应用编排产生的编排模版保存了每个服务本身具体的部…

Stream Collectors - toCollection

public static <T,​C extends Collection<T>> Collector<T,​?,​C> toCollection​(Supplier<C> collectionFactory) 简述一下就是把集合中的元素转换成参数指定的集合类型进行保存。 看个例子&#xff1a; void test42() {List<Integer> …

mysql的limit优化

我们工作中可能会遇到大数据量&#xff08;假设上千万条&#xff09;分页的情况&#xff0c;执行的语句类似以下sql语句&#xff1a; select * from record limit 2000000,10 运行这条语句&#xff0c;时间保持在30秒左右&#xff0c;这样的性能是很差的。 那我们该怎么去优化它…

Stream Collectors - toList、toSet

public static <T> Collector<T,​?,​List<T>> toList() public static <T> Collector<T,​?,​Set<T>> toSet() 上面说完了toCollection这里接着说一下toLIst和toSet这两个方法。其实这两个方法的作用toCollection都能实现&#xff…