ビッグデータ活用に不可欠!NoSQLって何?

現代社会において「ビッグデータ」はもはや誰もが知る言葉となりました。

今回は改めて、ビッグデータで扱われるデータにどのようなものがあるのか、またそれらはどのようになデータベースで管理できるのかを確認し、分析しやすいデータと分析しにくいデータについてご紹介します。

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

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

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

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

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とNoSQLで異なる

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

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

このようにRDBとNoSQLでは、情報の一貫性という部分で違いがあります。

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

NoSQLにおけるデータ分析

非構造化/半構造化データの分析には事前のデータ整理や変換が必要

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

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

約8割の非構造化データ/半構造化データを企業は持っている

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

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

おわりに

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

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

予測分析に必要なものって何?~予測分析に必要な4つのもの~

2021年1月20日

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

2020年5月28日
data

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

2019年7月12日

構造化データを活用するためのBIツールをワンストップでご提供しております

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

ご興味のある方は、ぜひ以下から無料で資料をダウンロードしてみてください。