よしたく blog

ITエンジニアとして自分が知らなかったことをまとめています

ビッグデータとは

はじめに

今回のエントリは、半年近くビッグデータ分析処理基盤について勉強していたので、一旦自分なりにまとめようと思ったので書いた。ビッグデータ処理基板について書いていくが、まず今回は「そもそもビッグデータって何なんだっけ?」というところについてまとめておく。

wikipediaによると、

ビッグデータとは、一般的なデータ管理・処理ソフトウエアで扱うことが困難なほど巨大で複雑なデータの集合を表す用語である。

とされている。

https://ja.wikipedia.org/wiki/ビッグデータ より

ITの分野について詳しくなかったり抵抗のある人は、この時点でお腹がいっぱいになってしまうのではないかと思うが、今回は「自分なり」とも書いたし、またITの分野に精通している人に対して説明するものとしたい。

ビッグデータになる前のデータ

「故(ふる)きを温(たず)ねて新しきを知る」ことが最近大切だと感じているので、まずはビッグデータとなった背景についてまとめてみる。

なぜ「一般的なソフトウェアで扱うのが難しくなるほど巨大なデータ」となったかであるが、これはインターネットの発展があげられる。具体的な話で言えば、PCなどのハードウェアの発達やネットワークが高速化・安定化したことにより、多くの人がインターネットにアクセスできるようになった。インターネット人口が増加したことによって、インターネットを介するWebサービスも多く展開されていき、結果的に購買データやアクセスログなどの様々なデータが飛び交うことになった。 インターネットが発達する前で言えば、会社内の会計情報や在庫の管理に表計算ソフトで扱ったり…といったデータサイズは数十MBレベルで、インターネットに接続しなくても完結するデータが多かった。こうしてインターネットの発達によって、データの「量」が増加したのである。

形式

データの量の次はデータの形式である。インターネットの次は何が発展しただろうか。それはiPhoneを代表とするスマートフォンである。今では携帯電話と呼ばれる類のものを持っていない人は非常に限られた人たちだと思うし、ガラケーさえも持っていれば「懐かしい!」といった声が出るようになった。このインターネットに接続されたスマートフォンが、多種多様なデータの促進をしたと考える。PCだけが中心の時代にはリレーショナルな形に構造化されたデータを扱うことが多かったが、スマートフォンの時代になって、テキスト化されたデータや画像データ、最終的には音声データまで扱うようになった。これらは非構造化データと呼ばれる。今読んでいる文章もテキストデータであるし、Twitterなどで呟いたことがある人も多いのではないか。またテキストデータとともに画像を載せてみたり今ではinstagramもある。スマートフォンで会話をすれば音声データも扱っている。こうして処理をしなければいけないデータの「形式」が多様化していった。

    • 構造化データ
    • 構造化データ・非構造化データ

速さ

最後に速さであるが、これはデータが飛ぶ頻度の話である。データが頻度というと1日に1回や1時間に1回と言った日時バッチ処理を想像することが多いかと思う。しかし今の時代では、日時で飛んでいたデータだけでなく、ストリーム的に流れてくるデータも扱わなければいけない対象となった。量と形式の話にも通じるが、少量で形式が定まっているデータがストリーム的に流れてくる場合はまだ対応をできる場面があるように思うが、量も形式も増えてきている時代ではなかなか難しい。例えば、スマホの次に来ているIoT製品から飛んでくるデータは少量のデータがストリーム的に飛んでくる。ストリームデータが嫌ならば一度どこかに貯めれて処理をしていけばいいのではないかと思うかもしれないが、そうした場合しきい値を超えたデータや異常な値が飛んできた時に通知がほしいなどの要件に対応できない。こうしてデータの「速さ」にも注目しなければいけなくなった。

    • 日時バッチデータ
    • 日時バッチデータ・ストリームデータ

結局ビッグデータとは

ビッグデータを構成する3つの項目についてまとめた。ここで注意が必要だが、これら3つが揃った時点でビッグデータとなるわけではなく、「量」「形式」「速さ」のどれか1つでも当てはまればビッグデータとして扱うようにしたほうがよいということである。また既存のデータが「量」「形式」「速さ」について該当してきていれば、データの統制が取れなくなる前にビッグデータ分析処理基盤の構築を検討した方が良いと言える。