アップグレードのためのデータベース調整
アップグレードの実行は、本番環境で日常的に実行する場合とは異なる形でデータベースに影響を与えます。 このため、アップグレードプロセスを実行する前にそのプロセス用にデータベースを調整し、アップグレードの完了後に本番環境設定を再適用する必要があります。
この記事で説明するヒントは、各データベースの特定のバージョンにおけるテスト実行でうまく機能したものです。 最適な調整は、独自のデータ、インフラストラクチャの条件、およびデータベースベンダーによって異なります。 ご自身のデータを分析し、アップグレードを調整し、テストアップグレードの時間を計測して、ご自身のLiferay DXPデータのアップグレードに最適なデータベースとJavaプロセスの構成を決定してください。
データのアップグレード中に実行される更新ステートメントの数は本番環境よりも多くなります。 そのため、データベースをアップグレードするためにデータベースを調整する方法をいくつか次に示します。
-
パフォーマンスに影響を与えるデータ整合性測定を非アクティブにします。 障害が発生した場合はバックアップに復元します。
-
トランザクションログはデータのアップグレードには重要ではないため、無効にするか最小限に抑えます。
-
コミット関連のトランザクションI/O操作を非同期にします。
-
コミットをディスクにフラッシュする間隔を増やします。
-
データベースには SSH 接続を使用します。
-
データベース アップグレード ツールをホストするサーバーとデータベース間の接続遅延を短縮します。
一部のデータベースプロパティと構成はグローバルであり、同じデータベース内のスキーマに影響します。
以下のセクションは、上記の方法で各データベースを調整する際のベンダー固有の情報にリンクしています。
IBM DB2
IBM の公式 DB2 ドキュメントを参照してください。
MariaDB
InnoDBの二重書き込みをオフにし、トランザクションコミット時のInnoDBフラッシュログを0に設定します。
Microsoft SQL Server
トランザクションの耐久性 を FORCEDに設定します。
MySQL
InnoDB の二重書き込み をオフにし、 トランザクションコミット時の InnoDB フラッシュログ を 0に設定します。 クエリ キャッシュ サイズ を 0に設定して、クエリ キャッシュを非アクティブ化します。
Oracle Database
デフォルトの設定で適切に機能します。 ディスク への 非同期 I/O を自動的に構成します。
PostgreSQL
同期コミット をオフにし、 先行書き込みログライターの遅延 を 1000 ミリ秒に設定します。
さいごに
アップグレードが完了したら、必ずデータベース構成を本番環境設定に戻してください。