データベースのパフォーマンスを最適化するデータベースプロパティ

データベースプロパティを適切に設定すると、アクティブなデータベースのパフォーマンスを向上できます。データベースのパフォーマンスに関するプロパティを多数のデータベースに設定したり、サイズの大きいアクティブなデータベースに設定したりすると、サーバーのパフォーマンスも向上します。このプロパティ設定の一部は、データベースサイズの縮小にも効果があります。このプロパティのほとんどの設定では、アプリケーション設計の知識が必要です。通常、データベース設計者は、データベースを作成するときにこのプロパティを設定します。

アプリケーションの設計については、HCL Domino® Designer ヘルプを参照してください。

文書の後でイメージを表示する

イメージを含む文書の表示を高速にするには、データベースのプロパティにある [ロード後にイメージを表示] チェックボックスをオンにします。Notes® ユーザーは、イメージのロード中にテキストを読むことができます。テキストの後にイメージをロードしない場合、Notes® では文書内の順序どおりにイメージがロードされます。このため、Notes® では文書内でイメージが先頭にあれば、そのイメージがロードされてからテキストが表示されます。ロードするイメージが大きい場合や接続が低速の場合は、順序どおりにイメージをロードすると、文書の表示に時間がかかる可能性があります。

この設定は、データベースを Notes® で表示する場合だけ有効です。Web ブラウザへのイメージの表示は Web ブラウザの設定で制御します。

注: ロケーション文書の [詳細] セクションで [イメージの読み込み: 要求時] を指定して、ユーザーがクリックした場合にのみイメージを表示させることもできます。詳しくは、HCL Notes® ヘルプを参照してください。

格納フォームの使用を禁止する

文書が常に正しく表示されるようにするため、文書と共にフォームを保存できます。ただし、文書すべてにフォームを保存すると、システムメモリを大量に消費し、保存しない場合と比べてディスク容量を 20 倍使用してしまうことがあります。特にユーザーが文書を読み込もうとすると応答速度が低下するような場合は、フォームの保存を禁止すると、メモリとディスク容量を節約できます。格納フォームの使用を禁止するには、基本データベースプロパティ [格納フォームの使用を許可] チェックボックスをオフにします。格納フォームの使用を禁止する前に、この設計プロパティの働きと、この設計プロパティがデータベースでどう使用されるかを必ず理解してください。

未読マークオプションを設定する

[データベース] ダイアログボックスには未読マークオプションがあり、このオプションを使用して未読マークを保持するかどうか、未読マークを他のサーバーに複製するかどうかを指定できます。データベースプロパティ [未読マークを使用しない] を選択した場合、データベースの未読マークは保持されず、未読マークの複製設定は無効になります。データベースプロパティ [未読マークを使用しない] を選択しない場合、未読マークの複製設定は有効になります。次のいずれかを行うことができます。

注: これらのデータベースプロパティにアクセスするには、[ファイル] - [データベース] - [プロパティ] を選択し、[詳細] タブをクリックします。
  • [なし] を選択する -- 未読マークは複製されません。
  • [クラスタサーバーのみ] を選択する -- 現在のサーバーのクラスタメンバであるサーバーに置かれたデータベースに対する未読マークが複製されます。
  • [すべてのサーバー] を選択する -- すべてのサーバーにあるデータベースの未読マークが複製されます。

未読マークを使用しない

データベースの未読文書マークの保持には、システムリソースが必要なため、データベースのパフォーマンスが著しく低下する場合があります。未読マークが有用でないデータベースもあります。たとえば、Domino® に備わっているヘルプデータベースなどの参照データベース、Domino® ディレクトリなどの管理データベース、頻繁に更新されるログファイル (LOG.NSF) などのデータベースがこれに該当します。このようなデータベースでの、未読マークの不使用を検討してください。未読マークを使用しないようにするには、データベースのプロパティの [詳細] タブにある [未読マークを使用しない] チェックボックスをオンにします。

注: 未読文書マークを表示しないようにビューを設計しても、データベースのパフォーマンスは向上しません。表示されなくても、未読文書マークは引き続き保持されるからです。

[未読マークを使用しない] チェックボックスのオンとオフを切り替える場合、設定を有効にするにはデータベースを圧縮する必要があります。圧縮するとデータベースの一時的なコピーが作成されるため、システムにコピー用の空きディスク容量が必要です。

ヒント: -u または -U のオプションを指定して Compact サーバータスクを実行し、このプロパティの選択を切り替えてから圧縮を行う方法もあります。

未読マークを複製する

未読マークを複製するにはシステムリソースが必要なため、データベースのパフォーマンスが著しく低下する場合があります。未読マークの複製は主にメールデータベース用に設計されたものです。

ビューの更新で使用する文書のテーブルにフォームを関連付ける

Domino® では、ビューを更新するとき文書情報のテーブルを参照します。このテーブルはデータベース内部に保存されています。ビューの更新や再構築では、デフォルトで、更新するビューに表示する各文書のテーブルが Domino® によって検索されます。ビュー更新の効率を上げるには、詳細データベースプロパティ [文書テーブルマップの最適化] を選択します。このプロパティによって、テーブルとそのテーブルの文書が使用するフォームが関連付けられます。ビューを更新するとき、更新するビューの文書が使用するフォームに関連するテーブルだけが Domino® によって検索されます。これによって、特に Domino® ディレクトリの [接続] ビューのように大きなデータベースに小さいビューがある場合は、ビューの更新速度が大幅に向上します。

このプロパティは、選択条件の中に Form= が含まれているビューだけに有効です。テーブルとフォームの関連付けを管理するため、サーバーのパフォーマンスが若干低下しますが、大きなデータベースの小さいビューを更新するとき、パフォーマンスの低下を補う十分な効果が得られます。

[文書テーブルビットマップの最適化] プロパティを選択または選択解除する場合、その設定を有効にするにはデータベースを圧縮する必要があります。圧縮するとデータベースの一時的なコピーが作成されるため、システムにコピー用の空きディスク容量が必要です。

ヒント: -F または -f のオプションを指定して Compact サーバータスクを実行して、このプロパティの選択を切り替えてから圧縮を行う方法もあります。

削除データの上書きを禁止する

Domino® のデフォルトでは、データベースからデータを削除すると、ディスク上の削除データがパターンで上書きされます。このパターンは、権限のないユーザーがユーティリティを使用してデータにアクセスするのを防ぎます。この上書き処理によってディスクの I/O が生じるため、データベースのパフォーマンスに影響する可能性があります。

削除データの上書きを禁止するのは、次の場合です。

  • データが既に保護されている -- データベースのあるサーバーが錠の付いた部屋にある場合など。
  • 削除によってデータベース内にできる空き領域が常時再割り当てされている -- たとえば MAIL.BOX などのシステムデータベース。
  • データの保護が必要ない -- 非公式のディスカッションデータベースなど。

削除データの上書きを禁止するには、データベースのプロパティの [詳細] タブにある [空きスペースに上書きしない] チェックボックスをオンにします。

文書のプロパティ [アクセス日 (現在のファイル)] を保持しない

[文書のプロパティ] ボックスには、[アクセス日 (現在のファイル)] プロパティが表示されます。このプロパティを使用すると、文書の変更や読み取りが最後に行われた日付を表示できます。詳細データベースプロパティ [LastAccessed プロパティを保持] は、文書への最後のアクセスが読み取りだった場合に [アクセス日 (現在のファイル)] プロパティを更新するかどうかを制御します。読み取りで [アクセス日 (現在のファイル)] プロパティを保持すると、保持しない場合には発生しないディスク I/O が発生します。

データベースプロパティ [LastAccessed プロパティを保持] は、デフォルトでオフになっています。つまり、[アクセス日 (現在のファイル)] プロパティは、文書への最後のアクセスが読み取りだった場合は更新されず、文書の変更だった場合にのみ更新されます。[LastAccessed プロパティを保持] チェックボックスをオンにして、デフォルトの動作を変更します。

[データベースのプロパティ] インフォボックスで、文書アーカイブツールを使用して、アクティブでない日数に基づいて文書を削除する場合は、[LastAccessed プロパティを保持] を選択する必要があります。

応答階層情報を無効にする

デフォルトでは、どの文書にもその文書を親文書か返答文書に関連付ける情報が入っています。この情報を使用するのは、ビューの選択式と複製式で多用される @AllChildren と @AllDescendants の 2 つの @関数だけです。この情報を保持すると、データベースのパフォーマンスが大幅に低下します。

データベースのパフォーマンスを向上させるには、これらの @関数を使用しないデータベースで、詳細データベースプロパティ [文書の階層情報を使用しない] を選択して応答階層情報を無効にします。

応答階層情報を無効にしても、@AllChildren と @AllDescendants を使用せずに情報を階層状に表示するビューと複製式には影響がありません。

応答階層情報を無効にすると、NotesDocument.Responses が 0 文書に設定されます。

[文書の階層情報を使用しない] プロパティを選択または選択解除する場合、その設定を有効にするにはデータベースを圧縮する必要があります。圧縮するとデータベースの一時的なコピーが作成されるため、システムにコピー用の空きディスク容量が必要です。

ヒント: Compact サーバータスクに -h か -H のオプションを付けて実行して、このプロパティの選択を切り替えてから圧縮を行う方法もあります。

ヘッドラインモニターを禁止する

ヘッドラインモニターを設定すると、ユーザーは関心がある情報をデータベースから自動的にモニターできます。この方法でデータベースをモニターすると、特にそのユーザー数が多い場合には、パフォーマンスに影響が出ます。ユーザーがデータベースをモニターできないようにするには、データベースのプロパティの [ヘッドラインモニターを許可しない] チェックボックスをオンにします。Domino® ディレクトリにあるサーバー文書の [セキュリティ] セクションで、サーバーレベルでヘッドラインモニターを制御することもできます。

データベースで多くのフィールドを許可する

データベースの詳細プロパティで [データベースで多くのフィールドを許可] を選択すると、データベース内のフィールド数を 23,000 まで増やすことができます。

このオプションが選択されていないデータベースでは、フィールド名の全体での長さの合計が 64 KB 以内という制限があるため、結果的にデータベース内のフィールド数は 3000 程度に制限されます。

添付ファイルで LZ1 圧縮を使用する

Domino® Designer では、ハフマンアルゴリズムではなく、新しい LZ1 アルゴリズムを使用して添付ファイルを圧縮することもできます。LZ1 圧縮は迅速で同時に効率的に実行できるため、ハフマン方式よりも好まれています。ただし、サーバーとクライアントのソフトウェアバージョンが異なる混在環境で使用している場合、このオプションを選択すると、添付ファイルはハフマン方式によってサーバー上で自動的に再圧縮されます。圧縮のし直しはパフォーマンスに影響します。

注: LZ1 アルゴリズムを選択した場合、既存のデータベースにある添付ファイルが LZ1 アルゴリズムにより自動的に圧縮されることはありません。LZ1 アルゴリズムのオプションが有効となった後に添付されたファイルは、LZ1 アルゴリズムを使用して圧縮されます。どの圧縮アルゴリズムが使用されているのかは、文書のプロパティの [$File] フィールドを調べると分かります。

LZ1 アルゴリズムの詳細については、HCL Domino® Designer ヘルプを参照してください。

$UpdatedBy フィールドのエントリを制限する

文書には [$UpdatedBy] フィールドが必ず含まれています。[$UpdatedBy] フィールドにデフォルトで保存されるのは、各文書編集セッションを行ったユーザーかサーバーの名前です。完全な編集履歴を保存すると、ディスク容量を消費するだけでなく、ビューの更新と複製に時間がかかるようになります。ディスク容量を節約し、データベースのパフォーマンスを向上させるには、データベースのプロパティの [詳細] タブにある [$UpdatedBy フィールドのエントリ制限] ボックスに、[$UpdatedBy] フィールドに保存できるエントリ数を指定します。[$UpdatedBy] フィールドの数が上限に達すると、最も古いエントリが削除されて、新しいエントリを保存できるようになります。

$Revisions フィールドのサイズを制限する

文書には必ず [$Revisions] フィールドが含まれています。[$Revisions] フィールドには、デフォルトで各文書編集セッションの日時が保存されます。Domino® では、このフィールドを使用して複製や保存の競合を解消します。複製や保存の競合は、複数のユーザーが、1 つのレプリカで同じ文書を同時に編集したり、複製と複製の合間に別々のレプリカで同じ文書を編集したときに発生します。

[$Revisions] フィールドに保存される履歴には、デフォルトで最大 500 の編集セッションが含まれます。ディスク容量は 1 セッションあたり 8 バイト必要です。時間が経って [$Revisions] フィールドが大きくなると、ディスク容量を消費するだけでなく、ビューの更新と複製に時間がかかるようになります。ディスク容量を節約し、データベースのパフォーマンスを向上させるには、データベースのプロパティの [詳細] タブにある [$Revisions フィールドのエントリ制限] ボックスに、[$Revisions] フィールドに保存できるエントリの数を指定します。[$Revisions] フィールドの数が上限に達すると、最も古いエントリが削除されて、新しいエントリを保存できるようになります。

データベースが次の特徴をすべて備えている場合は、[$Revisions] フィールドのエントリ数の制限を検討してください。

  • データベースに多数の文書が含まれている。
  • データベースが頻繁に複製されるか、レプリカがない。
  • データベースにあまり編集されない文書が含まれている。

[$Revisions] フィールドのエントリの推奨最大数は 10 です。最大値を 10 より小さく設定すると、複製や保存の競合が発生しやすくなります。

削除復旧機能の有効期限を指定する

[一時的削除を許可] をオンにすると、削除される前の指定期間、削除マークが付いた文書はデータベースに保存されます。[データベースのプロパティ] インフォボックスの [詳細] タブで、データベースから文書を削除するまでの保存時間数を指定できます。

Domino® 添付ファイルとオブジェクトサービスを使用する

[Domino 添付ファイルとオブジェクトサービスを使用する] を選択すると、データベースは添付ファイル統合に参加します (ただし、この機能がサーバーで有効になっている場合)。デフォルトでは、新規作成されたデータベースは統合に参加します。データベース内の文書に保存されている添付ファイルは、中央の添付ファイルリポジトリに追加され、統合に参加するデータベースによる再利用が可能になります。各添付ファイルは、その添付ファイルを表示するすべての文書で、リポジトリ内のその添付ファイルの場所への参照によって置き換えられます。

サーバーの添付ファイル統合は、サーバー文書の [DAOS] タブで有効化することができます。また、添付ファイルの最小サイズと、サーバーでの添付ファイルリポジトリ用のファイルの場所も指定できます。なお Domino® では、この最小サイズよりも小さい添付ファイルは統合されません。

添付ファイル統合を有効にすると、添付ファイルの保管に必要なディスク容量が大幅に削減されてパフォーマンスが向上します。

このリリースの Domino® では、DAOS オブジェクトのコピー最適化により、Notes® クライアントと DAOS が有効化されたサーバーとの間での不必要な添付ファイル送信が抑制されます。この最適化により、DAOS リポジトリ内に既に存在する添付ファイルを含むメッセージやドキュメントに対して返信、転送、複製を行う際の転送速度が大幅に改善されます。

データベース設計の圧縮

データベース設計の圧縮とは、Notes® データベースで設計要素を圧縮することです。設計要素 (特にリッチテキスト形式やグラフィックを含む設計要素) を圧縮すると、ディスク上のサイズが縮小されてディスク容量を大幅に節約できます。

文書データの圧縮

文書の圧縮とは、Notes® 文書内の非サマリー (本文) データを圧縮することです。非サマリーデータを圧縮すると、文書内のすべてのリッチテキスト要素のディスク上のサイズが縮小されるため、ディスク容量を大幅に節約できます。特に、大容量のグラフィックイメージを使用する非常に長い文書がデータベースに含まれている場合に有効です。