Bravaキャッシュの詳細仕様

Bravaキャッシュの詳細仕様

この記事では、Brava Enterpriseキャッシュの詳細仕様について説明します。

キャッシュデータの構成

Brava Enterpriseキャッシュデータは、下記の2つのデータから構成されます:

1.キャッシュデータ実体
JobProcessorの変換処理によって生成されたキャッシュデータの実体です。ファイルシステム上に保存されます。
キャッシュデータの保存場所は設定ファイル(server.properties)で定義されており、変更が可能です。
1つのドキュメントのキャッシュデータは、複数のフォルダから構成されます。

2.管理用インデックスデータ
キャッシュ実体を効率よく管理するためのインデックスデータです。
インデックスデータは、Bravaサーバー稼働中はJava VMのヒープメモリ上に保持されますが、バックアップのため一定時間毎にディスクにも書き出しされます。
Bravaサーバーが停止した後、次の起動時には、ディスクにバックアップされたインデックスデータが読み込まれ、ヒープメモリ上に読み込まれるという仕組みです。

インデックスデータ内には、DocIDとDocVersionの情報が含まれます。
Bravaサーバーは、リクエストされたドキュメントのDocID, DocVersionと、メモリ上のインデックスデータとを照合し、キャッシュ有無を判断しています。

キャッシュ有無判断の仕組み

Bravaサーバーにドキュメントの閲覧をリクエストする際、リクエストするドキュメントを指定するための情報として下記が必要となります:
  1. 該当ファイル原本の保管場所(DocSource)
  2. ドキュメントの管理ID(DocID)
  3. ドキュメントのバージョン(DocVersion)
Bravaサーバーは、指定されたDocID・DocVersionの組み合わせをもとに、該当ドキュメントのキャッシュデータ有無を判断します。
キャッシュインデックス管理上に該当ドキュメントのインデックス情報が存在する場合、すでにキャッシュデータが存在するものと判断し、ファイルキャッシュストレージ内から該当のキャッシュデータを取得してクライアントに返します。
キャッシュインデックス管理上に該当ドキュメントのインデックス情報が存在しない場合は、ファイル変換用のジョブを作成しキューに投入します。