データが消えた?


 牛尾は、定期的にデータのバックアップを取る、その時に、念のため、ファイルリストをざっと眺める。流石に、ファイル全部を把握してるわけではない。なので気休めとわかってはいるが、まあ、おまじないみたいな儀式だ。

 今日も、月一のデータをファイルに落として、保管場所にもデータをシンクロさせる作業をしながら、フォルダ内のファイルを一覧で見る。いつもならそれでおしまい。だが、今日は違和感を感じた。その正体はわからない。が、明らかな違和感。

 今一度、じっとファイル群を見つめて気がついた。


 足りない、、、そう、あるはずのファイルが欠けている。一つくらいなら、あるいは気づかなかったのかもしれない。だが、明らかな違和感になるくらい欠けている。調べると、半分消えている。毎月発生する温度計のトレンドデータの一ヶ月分の集計のファイルだ。別に必要なわけではないが、まぁ、捨てるのはいつでもできるんで、保存しているのだった。

 三部屋あるので三部屋分。みんなフォーマットも同じ、まぁ似たようなファイル群で、ファイル名もシンプルに年月。なので、フォルダを間違えると、どれがどの部屋かわかんなくなる。

 とはいえ、記録の冒頭に、温度計のシリアル番号が記載されるので、万一混ざっても、まぁ、判別付くし、いいことにしていた。

 今日は2016年8月2日。7月のデータ保全を行いながら、温度計データを、


 201608.tlg


 というファイルに保存した。今年で8つのファイルになっているはずが、4つしかない。間違えて削除したのだろうか、、、わからない。少なくとも、そんな事をした記憶はない。

 手が滑ったとしても、4つもいっぺんに誤削除なんてありえなんだろう、、、

 これは、ウイルスに感染したか、少なくとも正常ではないことは明白である。


 幸い、頻繁にバックアップは取っていたので、消えていたファイルも保全はされている。だが、当然のごとく、不安でいっぱいである。たまたまシーケンシャルにファイル名がついているから気づいた、というのがあるわけで、他のファイル群から、何かなくなったものがないのか、分かるすべがない。厳密に言えば、調べることはできるが、何より、普段、安心してファイルが失われることなく使用できるのか、ということが一番心配である。

 ログを含め、あらゆる可能性をチェックしたつもりであるが、全くわからない。ただ、かなり念入りに確認したけれども、ウイルスではない、という確信には至ったので、まずは、しばらく注意深く様子をみよう、ということにした。


 それでも半年もすると記憶は薄れる。

 年末、年越しを前に、PC周りの整理を始めた。

 大抵、この段階ではハードディスクが、無駄なファイルで圧迫されているので、ファイルを退避した後に、お約束の「整理」を行う。ツールを起動、無駄なファイルをリストアップして、一気に退治する。ふぅ、これでまた数ギガだけど、余裕が増えたかな。

 続けて、ファイルの置き場所の整理をしようとして、気が付いた。また、、、ファイルが消えている。同じ現象、温度ログファイルが半分くらい消えているのだ。

 一瞬凍りつきそうになったが、、、瞬時に気がついた。そうか、、、整理がいけなかったのか。

 半年前の夏の現象が、果たして同じ理由によるものかどうかは、もう確認のしようはない。が、まず間違いないだろう。

 そういえば、整理ツール、やけに速度が早いなぁ、と思っていたのだが、データの照合などをしていないからなんだなぁ、というのに初めて気がついた次第。同じファイル名、ほぼ同じ生成時間、ほぼ同じサイズ、というだけで、どうやら重複と認識されてしまったらしい。

 念のため、そのような環境を作ってやって見た。果たして、、、orz。消されてしまいました。


 牛尾は、自身が古い人間だとは思っていたけど、昔の人は、必ずverifyというのをやっていた。昔はそもそも、信頼性がなかったから、というのが大きいんでしょうけど。でも、ファイル名だけで判断しないで欲しいなぁ、、、と脱力を感じる。

 ウイルスを疑ったが、自分自身が知らず知らずのうちにクラッシャーになってしまっていたとは。。。実装もキチンと理解しないでツールに頼ってしまった自分が情けない。随分と焼きが回ったものだ。。。

 どんよりしていると、前の席で東山がため息をついている。

「牛尾さん、ハードディスクって、あっという間にいっぱいになりますよね」

「だから整理しろって言ってんだろ」

「だって、セキュリティ設定で、外に書き出せないようにされちゃってるじゃないですか」

「まぁ、それはそうだけど、できることはあるだろ」

「メールボックスも、2ギガぐらいになっちゃったんで、思い切ってバッサバッサ消して見たんですけど、全然小さく何ないんですよねぇ。。」

 牛尾は、げぇ、と思った。昔、導入当初、何度かユーザ向けに説明したはずだが、、、

「ちょっとまて、、、見せてみろ」

 東山の机に周り覗き込む。そして

「ちょっといいか」

 とマウスを受け取り、メールボックスの環境設定を開き、圧縮をして、

「どうだ?」

 と渡す。東山が目を丸くしている。

「あれぇ?20メガになってる。何やったんですか?」

「Infochangeクライアントって、データベースなんだよな、簡単な。データベースって、大量のデータに迅速にアクセスすることが第一義になっているんで、単純なデータベースって、ディスク上に物理的な番地を固定してデータをいれるんだよ。わかりやすくいうと、行と列の表計算シートみたいなイメージでな。それで行と列の指定で、すぐにデータが取り出せる、って寸法さ。行列の関連、つまりリレーションでデータを持って、それを取り出す言語を持っているデータベースをリレーショナルデータベースって言うだろ」

「え、リレーショナルって、データ同士の関連のことじゃないんですか?」

「ちがうよ、行列リレーションって意味だよ」

「じゃ、表計算ソフトもデータベースってことですよね?」

 うーん、この議論になると、理解してもらうのは難しい。

「まぁ、深く考えるな。表計算は、表示は確かに行列の二次元シートだけど、あくまで『表示』、な。保存は、入力データ分しかない。なので、ファイルを読み出す時、一旦保存データをメモリに読み込んで、見やすいように二次元に整形して出してくれるんだよ。だからさ、作業失敗しても、保存しないで閉じれば元に戻せるだろ?データベースは逆というか、、、表示は『呼び出し言語』で自由自在にできるけど、何より大事なのは、保存で行列形式ってことだよ。だからさ、ファイルを開いても、データはメモリに展開されないから早いだろ。そして、データを書き換えると、瞬時にディスクのデータが書き換えられるから、残念ながら、失敗しても、元には戻せないんだよ。だから終了するときに、保存するか、って聞いてこないだろ?」

 東山は、ちょっと目を白黒させて

「はぁ、よくわかんないですが、、、」

「まぁ、忘れてくれ。本当にデータベースの仕様の話をするなら、商用データベースなら、もっとすごい速度確保の方法を使っていて、ディスク上に行列固定アドレス、ってわけじゃなかったりするしな、そもそも、本来のデータベースはトランザクションっていって、作業を確定するかどうか、選べるし、その履歴も保存できるんだから」

 ふと我に帰る。

「すまん、悪い癖だ。横道にそれちゃった。言いたいのはただ、簡単なデータベースの仕組みは、ハードディスクの物理的なアドレスでデータを保存できるから、メールボックスが大きくなればなるほど、メモリに展開しない分、アクセスが早いんだ」

 東山は、クエスチョンマークを顔に浮かべている。

「何の話でしたっけ?」

 牛尾は苦笑いして

「すまん、脱線しすぎか。で、メールボックスってのは、今言った簡易データベースなんだ。でな、簡易データベースってのは、データの削除ってのは。実際にデータを消さないんだ。レコードの先頭に、削除マークをつけるだけ。だからな、Infochageクライアントでメールを消して、見えなくなっても、データを消すわけじゃないからメールボックスのファイルサイズは全く変わらない、ってわけ」

「ほんとですか、だって、ヘルプ見ると、『削除したファイルは復活できません』って書いてありますよ」

「そんなん、書いてあるだけに決まってるじゃないか。逆に言えば、間違って消しちゃった、ってのがあったら、言えば復活してやるぞ。あ、サーバのはダメだぞ。個人用メールボックスだけだけどな」

 東山がちょっと青ざめている。牛尾は覗き込んで

「あれ、どうしたんだ?」

「実は、先日、業務の引き継ぎがあったんで、個人用メールボックスをコピーして渡したんですよね。引き継ぎ以外のメールもあったりしたんで、削除はしたんですけど、もしかして、そのメールも、その気になれば見えてしまう、ってこと、ですか・・・?」

「うーん、申し訳ないけど、そうなるかな。まぁ、同じ社内だろ。削除したものを復活させてまで見よう、なんて奴はいないだろうし、今後気をつければいいよ」

「それにしても何とかなんないんですか?」

「引き継ぎの時は、まぁ、まっさらな個人用メールボックスをつくって、そこにコピーしてやるのが正当だな。今回みたいに、ハードディスクの容量を広げたい、ってときは、さっきみてたろ、圧縮ってのをするだけでいい。これは、削除マークが付いているところを本当に消して、その分データを詰めるんだ」

 そこまで話した牛尾は、ふと、不安になり、問いかけた。

「メタデータ、って聞いたことあるか?」

「メタ。。?なんですか?それ」

「お客様にファイルを送る時って、Officeのファイルのまま送ったりしてないだろうな?」

「え、いや、普通に送りますけど」

「うーん、そうか。。。

 あのさ、例えば、表計算で原価分析した結果とかをグラフにして、そのグラフを普通にプレゼンテーションに貼り付けたとするだろ。そのプレゼンテーションをひらくとさ、表計算で実際に計算したスプレッドシートまで全部はいってる、って事はしってるよな?」

「げぇ、まじですか?」

「だって、ダブルクリックしたら、表計算が開いてくるだろううが」

「そういえば、、そうですよね。」

「だからさ、基本的には、PDFとかにして、生データを間違えて渡らないように配慮すべきなんだよ。もちろん、そういうのがなかったとしても、ファイル作成者とか、いろんな情報がねじ込まれているんでな。昔は、それを消すツールなんての、自分でつくったもんだけど、今は、Officeソフトがその機能を持っている。もっているけど、それでも、どこに何がねじ込まれているか、を把握しておくほうがいいぞ。Officeフォーマットで欲しい、っていうお客さんもいるからな」


 そうなのだ。コンピュータ、使うのは人間だ。どんなにセキュリティーをシステム側でしっかり対応していても、使うユーザの不注意で、データを失ったり、予期せずデータが遺漏したりしてしまう。ユーザというか、人間が一番のセキュリティーホールなのかもしれない。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る