ビッグデータに対応するデータベースとは
ビッグデータとは、ある目的のために必要な情報が含まれたデータ群を指します。IoT・AIなどの技術発展により、データを手軽に収集・活用できるようになりました。そして2010年ごろからはビッグデータが広く普及し、取り扱うデータの量が急増しました。
総務省の調査によると、eコマースやPOSデータなどの販売記録やログ・GPS情報などの自動取得データの活用が進展したほか、電話などの音声データ活用も増えたそうです。
取り扱うデータの種類や量は、企業規模を問わず今後も爆発的に増えていくことが予想されるでしょう。そこで、ビッグデータに対応するためデータベースの高速化が進められています。具体的には、高速インメモリデータベースや列指向を利用する高速データベースが挙げられます。
参考:総務省|令和2年版 情報通信白書|日本企業におけるデータ活用の現状
高速なインメモリデータベース(IMDB)
インメモリデータベースはすべてのデータをメモリ上で処理するため、ディスクからデータを読み出すのに比べ非常に高速な処理が可能です。
インメモリデータベースは更新したデータを保持できる場所に書き込んで保存しておく必要があります。そのため高速な処理は難しいものの、メモリ上にあるデータを読み出すだけの検索処理において大幅な高速化を実現します。
列指向を利用する高速データベース
列指向は、データを行ではなく列でもつことで検索処理を高速化するデータベースです。列指向とインメモリをあわせて実装し、検索処理をより高速化させるのが最新のトレンドとなっています。
またコスト面においてディスクより高価なメモリですが、すでにインメモリはデータベースの一つの機能として必須のものになっています。そのため今後はインメモリ機能の有無ではなく、「インメモリを自社の業務にどう活用できるか」や、「いかに目的を達成できるか」の観点から選択をすることが主流になるでしょう。
ビッグデータの利用で必須なNoSQLとは
ビッグデータ登場前に主流であったRDB(リレーショナルデータベース)ですが、扱えるデータの範囲に限界がありました。そこで生まれた技術がNoSQLです。
ここではビッグデータを扱ううえで必要なNoSQLについて特性や種類をふまえて解説します。
ビッグデータを得意とするNoSQL
長い間データベースといえばリレーショナルデータベース(RDB)が主流でした。しかしここ数年で、GoogleやAmazonでも実装されているNoSQLを利用する企業が増えてきました。
NoSQLとはデータをテーブル管理するのではなく、XMLやJSONのフォーマットを用いたドキュメント型のデータベースを指します。NoSQLはRDB以外のデータベース管理システムの総称で、処理速度に優れているのが特徴です。
増えるデータと広がるNoSQLの活用
ソーシャルメディアのデータ、Webのログ、リアルタイムランキングなど現在はさまざまなタイプのデータ処理が必要です。またデータもコンピュータだけでなくスマートフォン、タブレットなどいくつものデバイスからデータが集まるため、RDBでは効率的に扱えない場合が増えています。その際に多彩なデータを柔軟に扱えるスキーマレスなNoSQLが効果を発揮します。
NoSQLでは、エクセルやCSVファイルのような構造化データだけでなく、画像や動画などのデータも蓄積可能です。対してRDBは構造化データしか扱えないため、複雑化したデータに対応すべくNoSQLが注目されるようになりました。
NoSQLの種類
ここではNoSQLの種類について解説します。NoSQLは大きく分けて4つの型に分類できます。順番にみていきましょう。
高速なキーバリュー型(KVS)
データの管理やアクセスはキーに対して行います。そしてそのキーに対してバリューが存在します。拡張性に優れ、データの読込がRDBと比較して高速です。
列指向のワイドカラムストア型
日本語では列指向とも呼ばれています。データは行で管理されますが、アクセスはKVSと同じようにキーを使用して列単位となります。列に対して数億というデータの追加が可能で、データの書き込みが高速です。
柔軟な開発ができるドキュメント型
キーに対してバリューではなく、より複雑なドキュメントとしてデータを格納します。XMLやJSONといった スキーマレスでデータ構造が柔軟なため、生産性高く柔軟な開発が可能です。
データをモデル化するグラフ型
グラフ理論に基づき相互に結びついた要素で構成されています。グラフデータベースは、RDBでは不可能だった形でデータの関係をモデル化し探索することを得意とします。
RDBとNoSQLのメリットを掛け合わせたNewSQL
NoSQLのさらに進化した形としてNewSQLがあります。これはNoSQLのスケーラビリティとRDBのトランザクション機能をあわせ持ったデータベースです。一般的な知名度はまだ低いですが、高度なデータ処理をしつつビッグデータにも対応できるスケーラビリティを求める企業には、選択肢の一つとなるでしょう。
また以下の記事ではビッグデータに限らないデータベースの変遷について解説します。データベースの歴史や誕生背景について知りたい方は参考にしてください。
RDBとNoSQLの活用でビッグデータを処理しよう
NoSQLの登場によってデータベースの選択肢が一気に拡がったものの、今すぐにすべてがNoSQLに置き換えられる訳ではありません。NewSQLの登場を見てもわかるようにRDBが必要な場面もまだまだあり、必要に応じてどちらか、もしくは併用するといった形がこれからも続くでしょう。