俺がITで学んだこと(大量のデータの管理)

最近のハードディスクとかメモリって、やたらと量が多い。2TBのハードディスクもすでに珍しくはない。

大量にあるデータを管理する場合、「まとめる」ってことと「一定の順番に並べる」ということを抜きには語れない。例えば、ハードディスクって1バイト単位でアクセスできない。最低の単位はセクターと呼ばれる512バイトの固まり。それでも面倒なので、クラスターっていわれるx8の4キロバイト単位で管理する。日本人的発想だと「1バイト書き込んで残りの3.9キロバイトは無駄になるなんてけしからん」のだが、それよりバイト単位で管理してたら効率悪い、多少の無駄があっても効率優先、ということである。このバランスに注意してほしい。管理はディレクトリーという管理簿で行う。

もうひとつ「順番に並べる」というのは、データを取り出す際に大事だ。プログラミングを習うと並べ替え(Sort)について、ある程度、学ぶのも、コンピュータの中では順序よく並べるという作業が非常に多いからだ。ファイルの名前もそうだ。そして、データ自身を並べにくい時には、その代表のデータ(索引)を用意する。

もっとデータを早く取り出す方法は、データの場所を計算して求められるようにすることである。管理簿は不要となる。日常ではあまり例がないが、試験会場で受験番号200-300は204教室へ、といったところだろうか。

もっとデータが多いと階層化が始まるのはご存知のとおり。

コメント