ビッグデータという言葉が一般にも浸透して久しいですが、気がついたらビッグデータを取り扱えるデータベースも様々なタイプのものが登場しています。
筆者がIT業界で働き始めた西暦2000年頃は、WindowsやUNIXなどオープンシステムの性能が向上し、それまで主流だったメインフレームシステムのダウンサイジングが進んだ時期でした。当時、オープン系システムのSEだった私は、OracleやSQLServerなどのリレーショナルデータベースを扱う機会が多く、SQLコマンドを使い日々データ加工や統計分析をしていたものでした。
当時はまだビッグデータという言葉が流行していませんでしたが、増え続けるデータ量に対応するため、設計やSQLによるパフォーマンスチューニングはもちろん、最新のデータベース製品やハードウェアを積極的に取り入れるなど試行錯誤を繰り返していました。現在の様に分散処理が一般的でなかったことや、複雑なデータ分析が必要だったことなどから、最終的には当時としては珍しかったDWHアプライアンスを導入しましたが、リレーショナルデータベースであることには変わりなく、データモデルやチューニングテクニックも従来とほとんど同じものでした。
現在でもデータの一貫性を重視する企業の基幹系業務システムではリレーショナルデータベースが主流ですが、NoSQL(Not Only SQL)と呼ばれるビッグデータの多様性にあわせた機能を持つデータベースを採用するケースも増えてきていると聞きます。NoSQLデータベースには主要なタイプとして、キーバリュー型、カラム指向型、ドキュメント指向型、最近ではグラフ型と呼ばれるものも登場していますが、それらはリレーショナルデータベースの様に決められた構造に縛られないことや、スケーラビリティを確保しやすいことなど、ビッグデータを取り扱うために最適化した機能を持っていることが特徴です。
そのようにデータの性質や利用目的に合わせてデータベースの選択肢が増えたことは喜ばしいことですが、設計者やデータを利用するユーザにとっては、自分が欲しいデータが一体どの様な形で格納されているのか、ますます悩ましい状態に陥っていることが懸念されます。リレーショナルデータベースはリレーショナルモデルとの親和性が高く、データ構造を理解できればどの様にデータを扱えば良いのかイメージが湧きやすいのですが、様々な形式で管理され、かつ、日々データ構造が変化する可能性があるNoSQLデータベースは、データ構造一つとっても理解することは容易でないことが想像できるからです。
それでは、どの様にNoSQLデータベースのデータ構造を理解して利用すれば良いのでしょうか?その答えは「概念データモデル」にあると考えます。リレーショナルデータベースの場合はデータを蓄積・利用するためにはあらかじめデータ構造を定義しておく必要がありますが、NoSQLデータベースはその必要がありません。そのため、実装方式に依存したデータモデリングではなく、データを利用するという視点でデータモデリングをする必要があるのです。
ビッグデータが企業活動に無くてはならないデータの一つになっている現在では、業務上どの様にデータを見たいのかという視点でデータモデリングすることが重要です。それはつまり、実装方式に依存しない「概念データモデル」をどの様に設計・維持していくべきなのかを考えることに、他ならないのではないでしょうか。
« データマネジメントの知識が共有される日人工知能&ロボット時代のIT人財育成 »