15.5. データベースサーバー
RHEL 8 は、次のデータベースサーバーを提供します。
-
MySQL 8.0
。マルチユーザー、マルチスレッドの SQL データベースサーバーです。MySQL
サーバーデーモンであるmysqld
と、多数のクライアントプログラムで設定されます。 -
MariaDB 10.3
。マルチユーザー、マルチスレッドの SQL データベースサーバーです。あらゆる実用的な目的に対応するために、MariaDB
には、MySQL
とバイナリー互換性があります。 -
PostgreSQL 10
およびPostgreSQL 9.6
。高度なオブジェクトリレーショナルデータベース管理システム (DBMS) です。 -
Redis 5
。高度な鍵と値のストアです。鍵には、文字列、ハッシュ、リスト、セット、およびソートセットを含めることができるため、データ構造サーバーと呼ばれています。RHEL で、Redis
が初めて提供されます。
NoSQL の MongoDB
データベースサーバーは、Server Side Public License (SSPL) を使用するため、RHEL 8.0 には同梱されていません。
データベースサーバーを並行してインストールできない
RPM パッケージが競合しているため、RHEL 8.0 では、mariadb
モジュールと mysql
モジュールを同時にインストールすることができません。
設計上、同じモジュールの複数のバージョン (ストリーム) を並行してインストールすることはできません。たとえば、postgresql
モジュールから利用可能なストリーム ( 10
(デフォルト) または 9.6
) の中から 1 つ選択する必要があります。RHEL 6 および RHEL 7 用の Red Hat Software Collections では、コンポーネントの並列インストールが可能です。RHEL 8 では、コンテナー内で異なるバージョンのデータベースサーバーを使用できます。
15.5.1. MariaDB 10.3
への主な変更点
MariaDB 10.3
では、RHEL 7 に同梱されていたバージョン 5.5 に新機能が数多く追加されました。以下は、主な変更点です。
- 共通テーブル式 (CTE)
- システムのバージョンが管理されたテーブル
-
FOR
ループ - 非表示の列
- シーケンス
-
InnoDB
のインスタントADD COLUMN
- ストレージエンジンに依存しないカラム圧縮
- 並列レプリケーション
- マルチソースのレプリケーション
さらに、新しい mariadb-connector-c
パッケージは、MySQL
と MariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーの MySQL
および MariaDB
の全バージョンで使用できます。その結果、RHEL 8 に同梱される MySQL
サーバーおよび MariaDB
サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。
その他の主な変更点は次の通りです。
-
同期マルチソースクラスターの
MariaDB Galera クラスター
は、MariaDB
の標準部分となりました。 -
InnoDB
は、XtraDB
の代わりに、デフォルトのストレージエンジンとして使用されます。 - mariadb-bench サブパッケージが削除されました。
- プラグインの成熟度に対するデフォルトの許可レベルは、サーバーの成熟度よりレベルが 1 つ低くなるように変更になりました。その結果、以前は動作していた、成熟度レベルが低いプラグインが、読み込まれなくなりました。
Red Hat Enterprise Linux 8 での MariaDB の使用 も併せて参照してください。
15.5.2. MySQL 8.0
への主な変更点
RHEL 8 に同梱される MySQL 8.0
には、たとえば次のような機能強化が含まれます。
-
MySQL
に、データベースオブジェクトに関する情報を格納するトランザクショナルデータディクショナリーが組み込まれました。 -
MySQL
がロールに対応するようになりました。ロールは特権の集まりです。 -
デフォルトの文字セットが、
latin1
からutf8mb4
に変更しました。 - 非再帰的および再帰的な Common Table Expression に対応するようになりました。
-
MySQL
が、クエリーで関連する行の集合に対して、行ごとに計算を実行する window 関数に対応するようになりました。 -
locking read ステートメントにより、
InnoDB
で、NOWAIT
オプションおよびSKIP LOCKED
オプションに対応するようになりました。 - GIS 関連の関数が改善しました。
- JSON 関数が強化されました。
-
新しい
mariadb-connector-c
パッケージは、MySQL
とMariaDB
に共通のクライアントライブラリーを提供します。このライブラリーは、データベースサーバーのMySQL
およびMariaDB
の全バージョンで使用できます。その結果、RHEL 8 に同梱されるMySQL
サーバーおよびMariaDB
サーバーのいずれかに構築されるアプリケーションの 1 つに接続できます。
さらに、RHEL 8 に同梱されている MySQL 8.0
サーバーでは、デフォルトの認証プラグインに mysql_native_password
を使用するように設定されています。RHEL 8 のクライアントツールおよびライブラリーは、アップストリームの MySQL 8.0
バージョンでデフォルトで使用されている caching_sha2_password
メソッドと互換性がないためです。
デフォルトの認証プラグインを 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
モジュールの 2 つのストリームで、PostgreSQL
データベースサーバーのバージョンを 2 つ (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
メカニズムを基にした強力なパスワード認証 - 宣言型テーブルのパーティション
- 改善されたクエリーの並列処理
- 重要な一般的なパフォーマンスの向上
- 改善された監視および制御
Red Hat Enterprise Linux 8 での PostgreSQL の使用 も併せて参照してください。