レポート:<ITへの的外れな期待> 「大量データを瞬時に処理する」

<ITへの的外れな期待>

「大量データを瞬時に処理する」

2003年2月16日


 コンピュータは大量データを処理するのが得意である。コンピュータ(計算機)というだけあって、計算は一瞬でこなす。それだけでなく、大量のデータの中から目的のデータを探し出すことも、素早くできる。それになれてくると、コンピュータは10秒ぐらいで何でもできると思ってしまう。

 現実はそうはいかない。やはり、大量なデータを扱えば、それなりに時間はかかる。しばしば問題になるボトルネックは2種類ある。

(1)データベースがボトルネックになる

 データベースは、さまざまな技術を活用して、短時間でデータを検索するための工夫をしている。たとえば、伝票番号を指定して検索すれば、目的の伝票を一瞬で検索することができる。したがって、効率よく伝票を登録できるし、検索もできる。
 実は、一瞬で探すためには、探すためのキー項目を指定しなければならないのだ。キー項目は複数が準備されていることが多いが、すべての項目ではない。伝票番号を指定すれば一瞬であっても、たとえば「今日、自分が登録した伝票」という探し方をすると何分もかかる場合がある。特に、大量のデータの中から探すときに時間がかかる。
 あるいは、全社の売上を集計しようとすると、何万件もの売上伝票を検索して集計する。集計の計算は電気的な仕事なので本当に一瞬だが、データを集める作業は回転する磁気ディスクからデータを読み取らなければならず、コンピュータと言えども時間がかかる仕事なのである。1件につき0.001秒で検索できたとしても、100万件を検索するためには1000秒=20分ぐらいかかってしまうのだ。(実際はそれほど単純ではなく、速くするための工夫がされている。)

(2)ネットワークがボトルネックになる

 通信回線は、高速化・低価格化が進んでいる。また、ソフトウェアも通信が高速化するように、たとえば同じものを何回もやり取りしないよう、前回から変わった点だけを送ったり、データを圧縮したり、工夫がされている。
 そうは言っても、データの通信は量が多いほど時間がかかることに変わりはない。大量なデータを取り出そうとすると、それなりに時間がかかる。それでも、大量なデータを受け取りたいとする要求がある理由は、かつて行われた紙による資料配布の影響ではないかと思われる。紙の資料では、全体が表示される。しかし、内容は粗い。コンピュータは詳細に情報をブレイクダウンすることができるようになる。しかし、全体を表示しようとする。紙なら数ページ分の情報が、コンピュータで百ページ分の情報を取ろうとする。10分またはそれ以上の時間がかかってしまう。

<解決策>

 要求に応じて情報を提供しようとするシステムは、そのときに必要な情報を提供することを前提としている。利用者は、最初に全体の粗い情報を見て、その中の問題のある部分について細かい情報にブレイクダウンする。その都度の情報量は、例えば1ページ分程度にする。
 それでも、大量のデータを集計して提供する場合には、それなりに時間がかかる。もし、特定の使い方を頻繁にするのであれば、その使い方での時間を短縮することは可能である。事前に集計したデータベースを用意しておくのである。
 多様な検索を必要とする場合、時間がかかるのはやむを得ない。時間を短縮しようとすると、コストがかさんでいくので、効果とバランスするところで妥協するしかない。仮に、操作をしてから情報が出るまでに10分かかるとしても、伝票の登録に10分かかるのではない。同じ基準で評価してはならない。他の手段で集計すると、膨大な時間がかかるのだから。
 以下の書籍は、本文とは関係ありません。データウェアハウスに関してAmazonで検索した結果です。書籍名がでないときもあります。

前のレポート次のレポート
魚谷幸一 http://homepage3.nifty.com/uotani/
Last update 2003-2-16 /153