与えられた:
- HSQLDB組み込み
- 50 の異なるデータベース (50 の異なるデータ ソースがあります)
- すべてのデータベースはその
file:/
種類のものです - すべてのテーブルはキャッシュされています
- すべての埋め込み DB インスタンスを組み合わせて使用できる RAM の量は制限されており、Java プロセスの起動時に与えられます。
- LOG ファイルが無効になっています (クラッシュ時に回復する必要はありません)。
私の理解では、単一の DB インスタンスで使用される RAM は次の要素で構成されています。
- すべてのテーブルのキャッシュ (私のテーブルはすべて CACHED です)
- DB インスタンスの内部状態
また、私が見る限り、単一の DB インスタンスのキャッシュの合計サイズを制御するために、次の 2 つのプロパティがあります。
- ファイルキャッシュサイズの設定
- ファイルキャッシュ行の設定
ただし、DB インスタンスが使用する RAM のキャッシュ部分のみを制御します。さらに、それらは DB インスタンスごとですが、すべてのインスタンスを全体として制限したいと考えています。
では、HSQLDB に対して、DB インスタンスを含めた合計で指定された RAM の量内にとどまるように指示することは可能でしょうか?