クラスタノードのデータベース構成¶
最低でも、DXPクラスタのノードが機能するためには、 同じデータベース または(データベースクラスタ)を共有するように構成されている必要があります。ここで説明する最適化は、DXPクラスターのデータベースパフォーマンスをさらに向上させることができるため、DXPの使用状況と予想されるトランザクション量を考慮して検討する必要があります。
警告
クラスタリングは、組み込みHSQLデータベースでは機能しません。
読み書きデータベース構成¶
データベースのパフォーマンスを向上させるために、読み取り/書き込みデータベース構成を使用できます。 この戦略では、読み取り操作と読み取り/書き込み操作に同じデータソースを使用する代わりに、操作の種類ごとに個別のデータソースを使用します。 DXPのアスペクト指向プログラミング(AOP)トランザクションインフラストラクチャは、読み取りトランザクションを読み取りデータソースに送信し、読み取り/書き込みトランザクションを書き込みデータソースに送信します。
次のセクションで説明するように、読み取りと読み取り/書き込み データソース を分離する接続は、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 を使用します。
For example JDBC connection values, please see データベーステンプレート .
書き込みデータソース(プレフィックスが
jdbc.write.
のデータソース)を使用して カウンタ データソースを作成するようにDXPを設定します。 別のデータソースは常にカウンター専用です。counter.jdbc.prefix=jdbc.write.
オプションで、データ接続を検証して、不正な接続が適切に処理されることを確認します。
デフォルトの
spring.configs
およびspring.infrastructure.configs
ポータルプロパティ をportal-ext.properties
ファイルにコピーし、次のSpring構成ファイルのパスをそれらに追加して、読み取り/書き込みデータベース構成を有効にします。spring.configs
に追加します。META-INF/dynamic-data-source-spring.xml
spring.infrastructure.configs
に追加します。META-INF/dynamic-data-source-infrastructure-spring.xml
詳細は、 Spring configuration Portal Properties 参照してください。
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.write.
のデータソース)を使用して カウンタ データソースを作成するようにDXPを設定します。 別のデータソースは常にカウンター専用です。counter.jdbc.prefix=jdbc.write.
オプションで、データ接続を検証して、不正な接続が適切に処理されることを確認します。
デフォルトの
spring.configs
およびspring.infrastructure.configs
ポータルプロパティ をportal-ext.properties
ファイルにコピーし、次のSpring構成ファイルのパスをそれらに追加して、読み取り/書き込みデータベース構成を有効にします。spring.configs
に追加します。META-INF/dynamic-data-source-spring.xml
spring.infrastructure.configs
に追加します。META-INF/dynamic-data-source-infrastructure-spring.xml
詳細は、 Spring configuration Portal Properties 参照してください。
DXPは、次回の起動時に、読み取りデータソース、書き込みデータソース、およびカウンターデータソースを使用します。
データベースの複製¶
データベースクラスタを使用すると、フォールトトレランスとDXPのパフォーマンスが向上します。 データベースクラスタインスタンスは常に同期している必要があります。 レプリケーションは、変更されたデータと変更されたスキーマを1つのデータベースインスタンスから別のデータベースインスタンスにコピーするプロセスです。 サポートされるすべての データベース はレプリケーションをサポートします。 データベースクラスターを使用している場合は、データベースベンダーの指示に従って、データベースをレプリケーション用に設定します。
次のステップ¶
クラスター用のデータベースを設定したので、 DXP クラスタリングの要件 に引き続き対処することができます。 次の要件は、すべてのノードが ファイルストアにアクセスできるようにし、そのファイルストアで各ノードを構成することです。