ものを捨てられない症候群

前川賢治(Kenji Maekawa) 2009-03-03 14:48:08

僕たちの会社でオフィスのレイアウト変更があって、僕も今週中に自分の席を移動しなくてはならない。席の移動に伴って、自分の席にある荷物やキャビネットに置いてある本やガラクタ類を片付けなければならなくなった。しかし僕は片付けがまったく苦手である。
いならいものは処分しようと思うのだが、「この資料はいつか役に立つかも知れない」とか「これは誰かから貰った思い出の品だ」とか考えているうちに、結局何も捨てられなくなるのである。実際には、いつか役に立つかも知れないと思っているものでも、かつてほとんど使ったことなどなく、オフィスのスペースを無駄に使用しているだけなのだ。

考えてみると、システムに保存されるデータも同じようなことがありますよね。
データベースにどんどんデータが蓄積されていくに従って、システムの性能もどんどん劣化していくというのでは困ってしまう。特にアクセス量が多いシステムだと致命的なトラブルになってしまう。

そこでシステム屋さんは様々な工夫をする訳だけど、蓄積されたデータに対してすべて同じ頻度で使われる訳ではない。蓄積されるデータの種類にもよるけど、僕が片付けられないのと同じように、古いデータは何かのときのために保管しておく必要はあるけど、普段はほとんど使われることはなかったりする。

例えば、僕たちの作っているグループウェアの代表的な機能であるスケジューラを、1万人の社員が使用したとすると、日々データベースに蓄積されていくデータは、かなりのレコード数になる。

全社員が同じスケジューラを使用していれば、過去のスケジュールデータを保管しておくことで、「あの時どこで誰にあってどんなミーティングをしたっけ?」とか「このお客さんに過去誰か会ったことがあるっけ?」といったきっかけで、自分や他の人のスケジュール(勿論、公開・非公開は制御されている)やスケジュールに紐付いた議事録やドキュメントを検索してみることで、何か参考になる情報が引き出せたりすることは結構あることである。

★宣伝:僕たちの作っているINSUITE というグループウェアでは、スケジュールに登録した内容も、スケジュールに紐付いた議事録や添付されたExcelやPowerPointなどのファイルの中身もキーワードによる全文検索の対象となるので、例えば、お客さんの名前や案件のキーワードで過去の活動や関連データをズバッと検索できるのだ。

しかし、この場合でも過去のデータにアクセスされる頻度は、今日、今週、今月のスケジュールデータと比較すると格段に少なくなる。これらのデータを同じデータベースのテーブルに格納しておくと、過去のデータが蓄積されることが足を引っ張って、アクセス頻度の高い今日、今週、今月のデータのアクセス性能を劣化させてしまう。

そこで、月毎にテーブルを分割して流れていくようにして、過去のデータは指定された保存期間が来るまで保管してあるが、直近のデータの足は引っ張らないようにしてあるのだ。
また、古いデータはアーカイブデータとして、ちょっと性能の低くて価格の安い別のサーバに移動したりする運用を組んだりもするのである。

あぁ〜、僕のガラクタ群や資料も自動的に保管されて必要なときに引っ張り出せるような四次元ポケットがあればいいのになぁ。などとつまらないことを考えていないで、今日中にとっとと片付けなければ…怒られる。

--------------------------------------------------------------
前川@ドリーム・アーツ

 

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。