ビッグデータ活用に不可欠!NoSQLって何? ~分析しやすいデータとそうでないデータの違い~

0. はじめに

現代社会において「ビッグデータ」はもはや誰もが知る言葉となりました。
今回は改めて、ビッグデータを語るうえでは欠かせないデータベースとデータ分析について書いていきます。

目次

  1. ビッグデータで扱うデータの種類
  2. RDBとNoSQL
  3. NoSQLとデータ分析
  4. おわりに

1. ビッグデータで扱うデータの種類

ご存じの通り、ビッグデータはありとあらゆるデータを扱います。
そこでまずはどのようなデータがあるのか、おおまかに整理してみます。

構造化データ ExcelやCSV形式のデータなど、行と列の形式を持つデータ。
データ解析/分析に最も適した構造。
非構造化データ PDF、メール、音声/画像/動画データなど、構造定義自体を持たない、もしくは持てないデータ。
半構造化データ 構造化データと非構造化データの中間。
JSON、Avro、XML形式のデータなど、非構造化データとは違い、フレキシブルな構造を持つ。
構造化データとそれ以外というように、非構造化データとひとまとめで扱われることも多い。

非構造化/半構造化データは列/行を持たない代わりに、キーバリュー型、カラム指向型、ドキュメント型、グラフ型といったデータモデルで分類されます。
キーバリュー型(Key Value Store、KVS)とドキュメント型は半構造化データとして扱われるようです。
(それぞれの詳しい説明はここでは割愛いたします。)

2. RDBとNoSQL

それでは、上記のデータは種類に関係なく同じデータベースに入れられるのでしょうか?

その答えは、基本的にはNoです。

構造化データは皆さんおなじみのRDB(リレーショナルデータベース)に、非構造化/半構造化データはNoSQLと呼ばれるデータベースに入れられます。
(数はまだ少ないようですが、RDBとNoSQLのどちらも兼ね備えたハイブリッドなデータベースもあります。)

NoSQLは、その考え方自体は以前からあったものの比較的新しい概念であり、「RDB以外のデータベース」ということ以外、明確な定義はありません。
言葉として広がったのは2009年にサンフランシスコで開かれた交流会で使用されたハッシュタグ「#NotOnlySQL」からだと思われます(※1)。
(1998年に「NoSQL」というパッケージ製品が作成されていますが、上記のものとは別物です(※2))。

〈参考〉
※1  新しいデータベースの世界を読み解くガイドブック(IBM) https://www.ibm.com/downloads/cas/3BAWY9RW
※2 NoSQL: a non-SQL RDBMS
http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/nosql/Home%20Page

RDBとそれ以外、という表現を用いたとき、「関係」がキーワードとして浮かび上がっています。
RDBはその名の通り、列と行で構成された表と表の関係を定義することで、複雑なデータを扱うことができます。

一方、NoSQLは更新がなくなった後にシステムが最終的には一貫性がある状態になる「結果整合性」を採用しており、大量のデータを素早く処理することを優先しています。
(RDBはACID準拠のトランザクションエンジンに基づいた「完全一貫性」を採用しています。)

このようにRDBとNoSQLでは、情報の一貫性という部分で違いがあります。
具体的には、RDBは銀行の預金データやネットショッピングの購入データなど、常に一貫性がないと困るデータを扱い、NoSQLはSNSやオンラインチケットサイトなど、とにかく素早く大量のデータをリアルタイムで扱うことに向いています。

3. NoSQLとデータ分析

最後にNoSQLデータの分析についてです。

「1. ビッグデータで扱うデータの種類」で説明したように構造化データがデータ解析/分析に最適なデータであるのに対し、非構造化/半構造化データはそのままでは分析することが困難です。
そのため、分析するには事前にデータの整理や変換が必要です。
しかし現状では、非構造化データ/半構造化データを構造化データへと加工する手間がまだまだかかります。

現段階では、蓄積する必要があるかまだはっきりとわからないデータをNoSQLにストックしておいて、必要に応じてデータ項目や形式を定義してRDBにデータの一部を移行する、という使い方が現実的なようです。

企業が持つ構造化データと非構造化/半構造化データの割合は、どのくらいなのでしょうか?
実は、その約8割が非構造化データ/半構造化データといわれています。
そのくらい社内に活用できる可能性のある資産が多数眠っているといっても過言ではないでしょう。

ここまで読み進めてくださった方はお気付きだと思いますが、NoSQLのデータを分析できるBIツールは現時点ではまだあまり多くありません。
今後、社内の非構造化/半構造化データを活用していくにはこれらを分析しやすいよう、加工する技術の向上への期待がますます高くなっていくと考えられます。

4. おわりに

いかがだったでしょうか。

個人的には、普段RDB以外のデータベースの存在をあまり意識していなかったので、価値がまだよくわからないものをストックしておけるというNoSQLの存在は大変興味深かったです。
将来的には、構造化データも非構造化/半構造化データもひとつのデータベースで管理する、もしくはRDBもNoSQLもどちらにも対応したBIツールが増えていくのではないでしょうか。

データ活用 ~進め方のおさらい~

2020年5月28日
data

社内データ、どんな形式で管理していますか?

2019年7月12日

弊社では現場のユーザーが使いやすいシンプルなBIツールを取り扱っております。
今お持ちの構造化データ活用のために、弊社BIツールでお手伝いできればと思います。

ご興味のある方は、ぜひ↓の公式ホームページもご覧ください!