Oracle BAM 12cでは、最適なパフォーマンスとスケーラビリティについて、次のベスト・プラクティスをお薦めします。
Oracle BAM 12cは、高可用性およびスケーラビリティに対応するように設計されています。高可用性およびスケーラビリティは、追加のサーバーを追加することで増加できます。特定のサーバーの障害時に、より状態のよいサーバーにフェイルオーバーすることで、追加サーバーによる高可用性が増加します。BAMは、1つのBAMサーバーが実行されているかぎり継続して機能します。追加サーバーによって、BAMクラスタ内の使用可能なすべてのサーバー間でロード・バランシングが行われるため、より優れたスループットが実現します。詳細は、『Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド』を参照してください。
入力スケーラビリティについては、異なるサーバーで複数のEMSを起動することで、スループットを改善できます。
顧客は、パフォーマンスの向上のためにバッチ機能の使用を検討する必要があります。詳細は、「複数のイベントを単一の操作にグループ化するバッチング操作」を参照してください。
CQL問合せは、プロジェクトをベースとして使用してロード・バランスされます。特定のプロジェクトに対するすべての問合せは、同じサーバー内に存在することになります。CQL問合せは、サーバーがクラッシュすると他のサーバーに移動されます。
CQL問合せには大量のヒープ・メモリーが必要になるため、その数を制限します。
Oracle BAMが、それ自体の専用マシンのクラスタ内に存在していることを確認します。ソリューションにBPELまたはBPMが含まれている場合は、BPELとそのストレージ用に別のマシンを使用して競合を回避します。
高可用性ソリューションの場合は、複数のサーバーが同じネットワーク上にあることを確認します。
BAMへのデータのプッシュにWebサービス・インタフェースを使用している場合は、アプリケーション・コンテキストがOracle BAM Webサービスに対する内容と同じであることを確認します。
索引、日単位パーティション表、パラレル実行の追加を含めて、データベースを完全にチューニングし、DBIM (Database In-Memory)を使用します。DBIMでは、必要な列(列型ストレージ)のみがアクセスの対象となるため、データへのアクセスが高速化されます。さらに、フィルタリングは発生するがフィルタの選択が制限されている場合のDBIMは、列ごとに索引があるような小規模な内容です。簡単な集計を実行する問合せの場合、DBIMでは集計の高速化もできます。