clock2016.11.16 08:12
SERVICE
home

データベースを”倉庫”ではなく”道具”として使う発想 ~データベース上で分析データを下ごしらえする~

AUTHOR :  宍戸 栄一郎

248
宍戸 栄一郎
eyecatch_TandS

データベースの特性を活かすことで “誰でも”、”確実に” データ分析が行える

データ分析 = データベース。こんな公式を書いて何の違和感もないほど、データベースは、データ分析のために「なくてはならない存在」です。まさに、両者は切っても切れない関係と言って良いでしょう。

これは、データベースがデータ抽出の”起点”であり、”大量データ”を効率的に蓄積に適しているためです。だったら、CSVファイルやExcelファイルのような「データベースに入っていない少量データ」は、BIツールで直接データ取込を行うためデータベースは不要なのでしょうか? 今回は、データベースの特性に着目し、データ分析のツールとしての使い方について考えてみたいと思います。

※この記事でのデータベースはRDB(リレーショナルデータベース)に限定しています

何でもできるExcelは煩雑になりやすい

データ分析の分野で最も使われているExcelは非常に優れたソフトです。升目状のセルに値を入力して、シンプルなExcelファンクションで計算・集計する手法は、非常に分かりやすく、そして様々な応用が可能です。また、セルに対して背景色や罫線、数値のカンマ区切りなどの表示設定も行え、マクロ機能を使えば複雑な処理をすることも可能です。最近では扱えるデータ量も増え(Excel 2007以降は最大で1,048,576行/16,384列)、かつ、動作するパソコンの性能も非常に良くなったため、ある程度のデータ分析とレポート作成ならExcelだけで十分対応することが可能になってきました。

しかし、何でもできるExcelは、どうしても”データ”や”処理”が煩雑になりやすい傾向にあります。セルに何でもデータを入力できる事は非常に便利なのですが、数値を入れるべきセルに誤って文字情報を入れてしまったらどうでしょうか? Excelの計算がうまく行かずにエラーになってしまいます。まだ、エラーが発生すれば気付くことはできますが、入力する列や行がズレや重複入力した場合は気付けないかもしれません。

また、Excelファンクションについても複雑な処理になると既読性が落ちます。一連の計算処理を複数のセルにまたがって記述されたExcelファンクションから行っている場合、それらの全てのExcelファンクションを確認しないと処理の全体像が分からず、そして列追加や計算方法の変更などの改修が難しくなります。また、Excelファンクションが多くなるとExcel自体の処理速度も落ちてしまいます。

なぜデータベースなのか?

データベースによって”確実”にデータを登録できる

上記のExcelの敗因の1つは入力規則のゆるさです。Excelにも入力規則を付けることは可能ですが、完璧なものではありません。どうしても抜けが出てしまいます。しかし、データベースのデータ登録先であるテーブルはデータと登録規則がセットで登録されています。逆に考えると登録規則を決めないとテーブルを作ることもできません。

テーブルの登録規則(制約)には以下のものなどがあります。

これらの制約に違反したデータは、テーブルの登録時にエラーになり登録できません。そのため、テーブルに登録されたデータは整えられたデータのみになるため、安心して使うことができます。

SQLによって”誰でも”データ分析が行える

データベースのデータを管理するにはSQL命令が必須となります。SQL命令もプログラミング言語の1つですので抵抗があるかもしれませんが、慣れてしまえば非常に便利な言語です。

SQL命令の基本構文は、SELECT文(検索)、INSERT文(新規登録)、UPDATE文(更新)、DELETE文(削除)だけです。あとは、SUM(合計)、COUNT(件数)、AVG(平均)などの10個ほどの関数とWHERE(検索条件)、GROUP BY(集計)、そしてテーブル結合方法を組み合わせれば大抵の事は出来るようになります。そのため、他のプログラミング言語に比べ習得は早いと思います。

そして、SQL命令は、ORACLE、SQL Server、MySQL、Postgre SQL などの多くの種類のデータベースで殆ど同じ命令が実行できます。そのため、1種類のデータベースを習得してしまえば、他のデータベースでもスキルの流用は可能です。また、Webサービスなどのシステム開発では、JavaやC#などのベースとなるプログラミング言語以外にデータベース上のデータを操作するためにSQLを併用することが多く、プログラマーでSQLを使える割合は非常に高いです。そのため、技術者の確保も容易です。

データベースの特性を活かして処理を組み立てる事が大切

データベースはSQL命令でデータを操作しなくてはいけない事や動作環境を作る事などの若干のハードルはありますが、データを確実に登録・結合・集計できるデータベースの特性は他のBIツールでは難しい機能です。そのため、CSVファイルやExcelファイルなどをそのままBIツールで分析するのではなく、一度、データベースに”扱いやすい”形でデータを登録し、これらを使って”分析しやすい”形でデータを再構成して別のテーブルに登録します。db_kozo_siso1

このようにデータベースで下準備をすることで、BIツールでのデータ結合などの手間が減り、その分、データ分析の試行錯誤に集中することができます。また、”分析しやすい”形に整形されていれば、データに詳しくない人でもBIツールを使ってデータ分析が増えるため、結果として分析者を増やすことにも繋がります。

最近では、クラウドデータベースが普及し、安く・安定したデータベース環境が簡単に用意できるようになりました。そのため、大規模場データに限らず、小規模なデータでもデータ構造が複雑になる場合はデータベースの導入を検討してみてはいかがでしょうか?

参考記事/書籍
数字力×EXCELで最強のビジネスマンになる本
田中 耕比古
翔泳社
売り上げランキング: 11,626
SERVICE

SERVICE

BANNER

graffe

grip

GiXo BLOG

recruit

Aibou

amazon web service partner network

TAG BOX