クラスタノードのデータベース構成
最低限、DXPクラスタのノードが機能するためには、同じデータベース(またはデータベースクラスタ)を<0>共有するように構成する必要があります。 ここで説明する最適化は、DXPクラスターのデータベースパフォーマンスをさらに向上させることができるため、DXPの使用状況と予想されるトランザクション量を考慮して検討する必要があります。
クラスタリングは、組み込みHSQLデータベースでは機能しません。
読み書きデータベース構成
データベースのパフォーマンスを向上させるために、読み取り/書き込みデータベース構成を使用できます。 この戦略では、読み取り操作と読み取り/書き込み操作に同じデータソースを使用する代わりに、操作の種類ごとに個別のデータソースを使用します。 DXPのアスペクト指向プログラミング(AOP)トランザクションインフラストラクチャは、読み取りトランザクションを読み取りデータソースに送信し、読み取り/書き込みトランザクションを書き込みデータソースに送信します。

個別の読み取りデータ・ソースと読み取り/書き込み<0>データ・ソースへの接続は、以下のセクションで説明するように、JDBCまたはJNDI"ポータルプロパティ(portal-ext.propertiesファイルなど)を使用して構成されます。 データソースは、DXPデータベースの個別のインスタンスを使用する必要があります。この場合、読み取り/書き込みデータベースインスタンスが読み取りデータベースインスタンスに複製されます。
JDBC
portal-ext.properties ファイルを編集して、 JDBC を使用して個別の読み取りおよび書き込みデータソースに直接接続するには、次の手順に従ってください。
-
個別の読み取りおよび書き込みデータソースへのJDBC接続を構成します。 詳細については、 JDBC プロパティ リファレンス を参照してください。 以下に例を示します。
jdbc.read.driverClassName=[place your driver name here] jdbc.read.url=[place the URL to your "read" database here] jdbc.read.username=[place your user name here] jdbc.read.password=[place your password here] jdbc.write.driverClassName=[place your driver name here] jdbc.write.url=[place the URL to your "read-write" database here] jdbc.write.username=[place your user name here] jdbc.write.password=[place your password here]注Liferayでは、接続プールプロバイダーとしてHikariCPを使用しています。
例えばJDBC接続値については、 データベーステンプレートを参照してください。
-
読み取りおよび書き込みプールのタイムアウトとサイズ設定を構成します
jdbc.read.connectionTimeout=30000 jdbc.read.idleTimeout=600000 jdbc.read.maximumPoolSize=100 jdbc.read.maxLifetime=0 jdbc.read.minimumIdle=10 jdbc.read.registerMbeans=true jdbc.write.connectionTimeout=30000 jdbc.write.idleTimeout=600000 jdbc.write.maximumPoolSize=100 jdbc.write.maxLifetime=0 jdbc.write.minimumIdle=10 jdbc.write.registerMbeans=true -
(この手順は DXP 7.4 U69 以前のバージョンでのみ必要です) DXP で書き込みデータソース (プレフィックスが
jdbc.write のデータソース) を使用するように設定します。) カウンター データ ソースを作成します。 別のデータソースは常にカウンター専用です。counter.jdbc.prefix=jdbc.write. -
オプションで、データ接続を検証して、不正な接続が適切に処理されることを確認します。
-
(この手順は DXP 7.3 U22、DXP 7.4 U65 以前のバージョンでのみ必要です) デフォルトの
spring.infrastructure.configsPortal Properties をportal-ext.propertiesファイルにコピーし、以下の Spring 設定ファイルパスを追加して、読み取り/書き込みデータベース設定を有効にします。spring.infrastructure.configsに追加します。META-INF/dynamic-data-source-infrastructure-spring.xml詳細については、 Spring構成ポータルプロパティを参照してください。
JNDI
次の手順に従って portal-ext.properties ファイルを編集し、JNDIを使用してアプリサーバーの読み取りおよび書き込みデータソースに接続します。
-
読み取りおよび書き込みJNDIデータソースのユーザー名とパスワードを設定します。
jdbc.read.jndi.name=[place your "read" data source JNDI name here] jdbc.read.username=*[place your user name here] jdbc.read.password=[place your password here] jdbc.write.jndi.name=[place your "read-write" data source JNDI name here] jdbc.write.username=[place your user name here] jdbc.write.password=[place your password here] -
読み取りおよび書き込みプールのタイムアウトとサイズ設定を構成します
jdbc.read.connectionTimeout=30000 jdbc.read.idleTimeout=600000 jdbc.read.maximumPoolSize=100 jdbc.read.maxLifetime=0 jdbc.read.minimumIdle=10 jdbc.read.registerMbeans=true jdbc.write.connectionTimeout=30000 jdbc.write.idleTimeout=600000 jdbc.write.maximumPoolSize=100 jdbc.write.maxLifetime=0 jdbc.write.minimumIdle=10 jdbc.write.registerMbeans=true -
(この手順は DXP 7.4 U69 以前のバージョンでのみ必要です) DXP で書き込みデータソース (プレフィックスが
jdbc.write のデータソース) を使用するように設定します。) カウンター データ ソースを作成します。 別のデータソースは常にカウンター専用です。counter.jdbc.prefix=jdbc.write. -
オプションで、データ接続を検証して、不正な接続が適切に処理されることを確認します。
-
(この手順は、DXP 7.4 U65 以前または DXP 7.3 U22 以前の場合にのみ必要です) デフォルトの
spring.infrastructure.configsPortal Properties をportal-ext.propertiesファイルにコピーし、以下の Spring 構成ファイルパスを追加して、読み取り/書き込みデータベース構成を有効にします。spring.infrastructure.configsに追加します。META-INF/dynamic-data-source-infrastructure-spring.xml詳細については、 Spring構成ポータルプロパティを参照してください。
DXPは、次回の起動時に、読み取りデータソース、書き込みデータソース、およびカウンターデータソースを使用します。
データベースの複製
データベースクラスタを使用すると、フォールトトレランスとDXPのパフォーマンスが向上します。 データベースクラスタインスタンスは常に同期している必要があります。 レプリケーションは、変更されたデータと変更されたスキーマを1つのデータベースインスタンスから別のデータベースインスタンスにコピーするプロセスです。 サポートされているすべてのデータベース はレプリケーションをサポートしています。 データベースクラスターを使用している場合は、データベースベンダーの指示に従って、データベースをレプリケーション用に設定します。
次のステップ
クラスター用にデータベースを構成したので、引き続き DXP クラスタリング要件 に対応できます。 次の要件は、 ファイル ストア をすべてのノードからアクセス可能にし、各ノードをそのファイル ストアで構成することです。