orangeitems’s diary

クラウドではたらくエンジニアの日々の感想です。

Notes/Domino、忘れかけていた淡い思い出

f:id:orangeitems:20181209014645j:plain

 

Notes/Domino、忘れかけていた淡い思い出。

実は、昨日書きました記事のアクセスが止まない状況です。私の世代ぐらいのエンジニアはたくさんの人が若いころにNotes/Dominoと格闘していて、忘れかけていた淡い思い出がたくさんあるのではないかなと推測します。

 

www.orangeitems.com

 

Notes/Dominoあるある

思い出しながら、Notes/Dominoのあるあるを書いていきます。

 

names.nsfに始まりnames.nsfに終わる、のにnotes.iniって何よ

クライアントをNotes、サーバー側をDominoと言うのはバージョン4.5からはじまったようですが、何しろNotes/Dominoの基本はnames.nsfでした。

設定までノーツデータベース化していて、ノーツクライアントで設定を開いてGUIで設定します。

アドオンを入れるとnames.nsfの中身(テンプレート)も変わって、機能が増えるたびにnames.nsfが更新されているというアーキテクチャーでした。

で、注意すべきはnotes.iniというテキストファイルが存在し、起動時にこれを読み込んで動きが変わることです。

サーバーやクライアントの NOTES.INI ファイルを変更する必要はほとんどありません。NOTES.INI ファイルには、IBM Domino や IBM Notes が正常に動作するために必要な多くの設定が含まれています。 このファイルを誤って変更すると Domino や Notes が予期しない動作をすることがあります。このため、特別な状況で使用したり、IBM® のサポートサービスが推奨したりする場合のみ、NOTES.INI ファイルを編集してください。

IBM Knowledge Center

names.nsfを目をさらにして調べてもわからず、 notes.iniに変な呪文が書かれていて消費したこと数度。

 

壊れやすいデータベースを壊さないためにいろいろやらされた

Notes/Dominoは、いわばデータベースがいっぱいあるという考え方です。このデータベースファイルは、拡張子が*.nsfでしたがこの中にすべてのデータが入っていました。

OracleやMySQL、PosgreSQL、DB2やSQL ServerなどのRDBMSと違い、トランザクションログの考え方がありませんでした。したがって、特に昔の性能の低いパソコンではデータベースが壊れることがよくありました。

そうならないように、fixup、updall、compactを定期的にやりなさいというのが宗教的信条となっていました。これをスケジュール実施することがシステム運用の肝みたいになっていました。

なおfixupはDBの整合性チェックと修復処理、updallはインデックスの更新、compactは削除フラグが立っているところを実際に削除して圧縮することです。

今のRDBMSは自動でやってくれるところですが、さすがに1990年代に出た製品なのでメンテナンスまで実装しないといけなかったですね。

ちなみにDominoにはデータベースエンジンをDB2にするなんていうエンタープライズ設計もありましたが、使っていた現場もあるんですかねえ・・。

 

リンクしまくっていて、ある日不具合が出る

Notes/Dominoは、何が便利かって、自分のデータベースの中で別のデータベースのデータをリンクさせることができることです。

製品データベースを別で作っておいて、そのビューを全文検索し、これを自分のデータベースのフォームで使う、なんてことができました。

ある日突然動かなくなるフォーム。調べてみたら、参照先の製品データベースのビュー構造をかえちゃったらしいと。

データベースが1個、2個ならいいんですが、どんどん増殖していく中、運用者の仕事がどんどん増えていくパターンでした。そのうち「データベース作成申請書」とかができて歯止めがかけられ、便利何だか不便何だかわからなくなっていくのでした。

 

増殖するデータベースの権限管理が大変になってある日突然

この記事書いていて、最近のノーツの画面ってどうなのかなって調べたら、

 

f:id:orangeitems:20181209012528j:plain

https://www.ibm.com/developerworks/jp/lotus/ldd_tech/pdf/connectjapan2016_c-4.pdf

 

この通り、バージョン9になっても全然変わってない!。

それはさておき、この一個一個のボタンがデータベースなのですが、この一つ一つに権限を設定しないといけない。ある日間違って見せてはいけない部署に公開してしまっていて、読んだのか読んでないのかで大騒ぎになるようなこともありました。

人事査定とか経理情報とか、まあ血なまぐさい情報ですね。

暇な社員が、社内に面白いデータベースがないか探していたら、とんでもないデータが入っていて飛び上がって情シスにエスカレーションするなんてことも、あるあるなんでしょうね。

 

データベース作るのがめちゃくちゃ楽しい

若かりし頃に、ノーツデータベースで業務改善をやったことがあって、GUI+ノーツスクリプトでこちゃこちゃやったら結構情報が整理できて大成功したことがありました。

EXCELマクロを触れるぐらいの知識があれば簡単に開発できて、楽しかった思い出があります。逆に、有象無象のデータベースが社内に乱造されるという結果も引き起こします。

また、何せ、Notes/Dominoの導入コストはかなり高かったので、もしオープンソース化して、誰でも触れるようになればもうちょっと生き残ったのかもしれません。

今では、サイボウズのKintoneは結構世界観が似ているかなあと思います。

 

ディスク使用率100%とのたたかい

データベースはどんどん肥大化していきます。たくさん文書を追加して、消してを繰り返し、comactをかけないとしてもファイルサイズは増えていきます。ディスク100%になるとNotesやDominoは落っこちてしまいますので、データベースの自動処理がバグってディスクを食いつぶさないように気を付けたりメンテナンスしたりというのは重要なタスクだったように思います。

昔はそれほどディスク領域も大きくなかったですしね。

 

メモリ不足とのたたかい

昔の思い出です。ノーツの文書にぺたぺたビットマップを張り付けた結果、PCがメモリ不足で表示ができなくなる現象がありました。で、その文書を開いた別の人もひらいたらメモリ不足に。

マクロで削除したような気もしますが、今のPCだったら余裕しゃくしゃくなんですけどね。

 

まとめ

そういえば、別にNotes/Dominoが無くなるんじゃなくて、インドの企業に売却されるという話でしたね。もしかしたらもしかしたら、インドの企業がすごい技術を発揮してNotes/Dominoを生き返らせてくれるかもしれません。

今回、いろいろと調べてみて、私の知ってたNotes/Dominoと哲学やアーキテクチャーがあまり変わってなかったのが面白かったです。大昔によく遊んだ友達と二十年ぶりに再会したけど、あんまり変わっていないという感じですかね。

現在のクラウドサービスによるコミュニケーションツールは、ほんと便利になったようなあと実感しました。