概要
Domino 9.0.1 Feature Pack 8から実現可能になった「文書サマリーデータの上限を 16 MB に増やす」について、2023年12月時点の最新であるHCL Domino 14.0ではどのように進化を遂げたのか確認します。
再確認のきっかけ
そもそものきっかけはHCL Ambassadorの中野さんのこのポストです。
どうやらNotes文書の1フィールドあたりの制限であった32KBが撤廃されるようです。
ただし、常に撤廃されるのではなく、条件があるようです。
その条件というのが冒頭に書いた「文書サマリーデータの上限を拡張する」というもののようです。
現状の設定と確認方法
9.0.1 FP7までは、1文書あたりのサマリデータサイズが64KBまでとされていました。
サマリデータとは、テキストフィールド、数値フィールド、日時フィールドで設定された文書アイテムのことを指します。
リッチテキストはサマリデータに含まれないため、除外して考えます。
また、表示用の計算結果フィールドは、サマリデータとして認識されるものの、文書のアイテムとして保存されることはないため、除外します。
文書アイテムがサマリデータかそうでないかを簡単に確かめる方法は、文書のプロパティを見ることです。その際、文書を開かずにビュー上で、文書のプロパティを開く事が重要です。
* 文書を開いてしまうと表示用の計算結果なども表示されてしまうため完全な文書の情報ではなくなってしまうためです。
左から2番目のタブを見ると、文書の各アイテムの情報が表示されます。
そのうち、どれか1つのアイテムを選択すると右側にそのアイテムの情報が表示されますが、「フィールドフラグ」という項目の値が”SUMMARY”になっていれば、そのアイテムはサマリデータということになります。
余談ですが、アイテムがユーザ名の場合、フィールドフラグを見ることでどんな種類なのかが分かるようになっています。
読者フィールドの場合、”READ-ACCESS NAMES “
作成者フィールドの場合、”READ/WRITE-ACCESS NAMES “
名前フィールドの場合、”NAMES”
です。
「読者権限を設定したはずなのに誰でも見えてしまう」といったような時に、このフィールドフラグで確認できます。
このサマリデータが文書全体で64KBまでとなっていました。また、1アイテムあたりの上限サイズは32KBです。
文書には更新日や更新者を表す「$Revisions」「$UpdatedBy」といったシステムデータもありますが、これらもそれぞれサマリデータとして定義されるので、1文書あたりのサマリデータの上限サイズはこれらのデータサイズを差し引いた分ということになります。
* 実際にはNotes/Dominoの場合、LMBCSで格納されているので文字数のカウントにも注意が必要です。
実際にフィールドに文字列を入力すると32KBを超えると下図のようなエラーが表示されます。
文書自体のサマリデータサイズも64KBを超えることは出来ませんでした。
サマリデータを拡張する
実際にサマリデータを拡張してみます。
拡張する方法はHCLのドキュメントであるドキュメントの概要データの制限を 16 MB に増やすに掲載されています。
なお、このドキュメントに記載はありませんが、Notes DBのODSは52以降になっている必要があるので注意しましょう。
そして、Dominoサーバコンソール上で
load compact -LargeSummary on “データベースファイルパス名”
(-LargeSummary は -LSとしても構いません)
と入力して、サマリデータを拡張します。
Notes DBの圧縮が成功しても見た目は何も変わりません。これは9.0.1 FP8で実行しても14.0で実行しても同じです。
こちらは改善要望が出ているようですので早く実装してほしいものです。
拡張後の確認
このNotes DBに実際に文書を作成してみます。
図では分かりにくいですがサマリデータが64KBを超えた文書を作成することが出来ました。
なお、1フィールドの上限値も32KBから64KBに拡張されていることも確認出来ました。
まとめ
データが大きすぎると文書を開くのに時間がかかったり、文書が見づらくなったりしますが、それでも1フィールドの値が32KBまでだったり、1文書のサマリデータサイズが64KBというのは少し少なすぎるでしょう。
どうしても1つの文書内にデータを詰め込まないといけない場合も出てきますが、そういったときにはここにあげた方法でサマリデータを拡張しましょう。
ただし、拡張したことはあとで確認する術が提供されていないので個別に管理するようにしておきましょう。
ありがとうございます。たいへん参考になりました。