15.5. 数据库服务器
RHEL 8 提供以下数据库服务器:
-
MySQL 8.0
,一个多用户、多线程的 SQL 数据库服务器。它由MySQL
服务器守护进程(mysqld
)和多个客户端程序组成。 -
MariaDB 10.3
,一个多用户、多线程的 SQL 数据库服务器。就所有实际用途而言,MariaDB
与MySQL
二进制兼容。 -
PostgreSQL 10
和PostgreSQL 9.6
,一种高级对象关系型数据库管理系统(DBMS)。 -
Redis 5
,一种高级键值存储。它通常被称为数据结构服务器,因为键可以包含字符串、散列、列表、集合和排序的集合。Redis
在 RHEL 中第一次提供。
请注意,RHEL 8.0 中不包括 NoSQL MongoDB
数据库服务器,因为它使用服务器端公共许可证(SSPL)。
数据库服务器无法并行安装
由于与 RPM 软件包冲突,RHEL 8.0 中不能并行安装 mariadb
和 mysql
模块。
按照设计,无法并行安装同一模块的多个版本(流)。例如,您需要从 postgresql
模块中只选择一个可用的流,可以是 10
(默认)或 9.6
。在 RHEL 6 和 RHEL 7 的 Red Hat Software Collections 中可以并行安装组件。在 RHEL 8 中,可在容器中使用不同版本的数据库服务器。
15.5.1. MariaDB 10.3
的显著变化
与 RHEL 7 提供的版本 5.5 相比,MariaDB 10.3
提供了多个新功能,例如:
- 常见表表达式
- system-versioned 表
-
FOR
循环 - 不可见的栏
- 序列
-
InnoDB
的即时ADD COLUMN
- 独立于存储引擎的栏压缩
- 并行复制
- 多源复制
此外,新的 mariadb-connector-c
软件包为 MySQL
和 MariaDB
提供通用客户端库。此库可用于任何版本的 MySQL
和 MariaDB
数据库服务器。因此,用户可以将一个应用程序构建连接到与 RHEL 8 一起分发的任何 MySQL
和 MariaDB
服务器。
其他显著变化包括:
-
MariaDB Galera 集群
是一种同步的多源集群,现在是MariaDB
的一个标准部分。 -
InnoDB
是默认存储引擎,而不是XtraDB
。 - 已删除 mariadb-bench 子包。
- 默认允许插件成熟度等级已改为比服务器成熟度低 一 个等级。因此,在之前使用的,但成熟度较低的插件将不再加载。
15.5.2. MySQL 8.0
中的显著变化
RHEL 8 提供了 MySQL 8.0
,它提供以下改进:
-
MySQL
现在包含一个事务数据字典,它存储有关数据库对象的信息。 -
MySQL
现在支持角色,角色是特权的集合。 -
默认字符集已从
latin1
变为utf8mb4
。 - 添加了对通用表表达式(非递归和递归)的支持。
-
MySQL
现在支持窗口功能,它使用相关行对查询中的每一行执行计算。 -
InnoDB
现在支持带有锁定读语句的NOWAIT
和SKIP LOCKED
选项。 - 改进了与 GIS 相关的功能。
- JSON 功能已被改进。
-
新的
mariadb-connector-c
软件包为MySQL
和MariaDB
提供通用客户端库。此库可用于任何版本的MySQL
和MariaDB
数据库服务器。因此,用户可以将一个应用程序构建连接到与 RHEL 8 一起分发的任何MySQL
和MariaDB
服务器。
此外,与 RHEL 8 一起分发的 MySQL 8.0
服务器被配置为使用 mysql_native_password
作为默认的身份验证插件,因为 RHEL 8 中的客户端工具和库与 caching_sha2_password
方法不兼容,后者在上游 MySQL 8.0 版本中
被默认使用。
要将默认身份验证插件更改为 caching_sha2_password
,请编辑 /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
文件:
[mysqld] default_authentication_plugin=caching_sha2_password
15.5.3. PostgreSQL
中的显著变化
RHEL 8.0 提供了两个版本的 PostgreSQL
数据库服务器,在 postgresql
模块的两个流中分发:PostgreSQL 10
(默认流)和 PostgreSQL 9.6
。RHEL 7 包含 PostgreSQL
版本 9.2。
PostgreSQL 9.6
中的显著变化是:
-
可以并行执行的顺序操作:
scan
、join
和aggregate
- 同步复制的改进
- 改进了全文本搜索功能用于使用短语进行搜索
-
postgres_fdw
联合驱动程序现在支持远程join
、sort
、UPDATE
和DELETE
操作 - 显著的提高性能,特别是在多 CPU 套接字服务器的可扩展性方面
PostgreSQL 10
的主要改进包括:
-
使用
publish
和subscribe
关键字的逻辑复制 -
基于
SCRAM-SHA-256
机制的更强大的密码身份验证 - 声明性表分区
- 改进了查询并行性
- 显著的常规性能改进
- 改进了监控和控制