データベース応用

このページでは、データウェアハウスとETL、OLAPの操作とスタースキーマ、データマイニング、NoSQLとBASE特性、データレイクなどのデータ活用の仕組みがわかります。

  • 一言で言うと:
    • ためたデータを分析して役立てるための仕組みの話
    • 分析用の倉庫(データウェアハウス)と、そこでの多次元分析(OLAP)、データから法則を掘り出すデータマイニング、ビッグデータ向けのNoSQL、データをそのままためるデータレイクが出てくる

分析用の倉庫(データウェアハウス、ETL、データマート、多次元データベース、OLAP、スタースキーマ)→ 法則を掘り出す(データマイニング、CEP)→ ビッグデータ(NoSQL、BASE特性、データレイク、データサイエンティスト)

覚え方の軸

  • データウェアハウスは「集めて(ETL)、ためて、切り出す(データマート)」
    • 基幹系(毎日の業務、更新が多い)からデータを抽出・変換・ロード(ETL)して、情報系(分析、参照のみ)にためる
  • OLAPは「切る・掘る・まとめる・回す」
    • スライス(切る)、ドリルダウン(詳しく掘る)、ロールアップ(まとめる)、ダイス(回す)
    • OLAPは「見る」まで。法則や因果関係を見つけるのはデータマイニング
  • NoSQLは4種類、合言葉は「キー・カラム・ドキュメント・グラフ」
    • 一貫性はBASE特性(結果整合性)。ACIDの「いつも厳密」に対して、「最後に合えばよい」
  • ビッグデータは「3V」
    • Variety(多様)・Volume(大量)・Velocity(速い)。さらにValue・Veracityで5V

データウェアハウス:分析用の倉庫(★)

① データウェアハウスとは

  • データウェアハウス:
    • 企業のいろいろな活動で得られた大量のデータを整理・統合して蓄積しておき、意思決定支援などに使うデータベース、あるいはその管理システム
  • ETL(Extract/Transform/Load):
    • データウェアハウスは、「基幹系データベースからのデータ抽出、変換、データウェアハウスへのロード(書出し)」という一連の処理を経て作られる。この一連の処理
  • データクレンジング:
    • 業務システムごとに違っているデータ属性やコード体系を統一する処理
    • ETLツールは、このクレンジング機能を持つ
  • データリネージ:
    • データがどこから取得され、どのようなETLを経て、今の形になったのかを示す情報
    • これを活用したデータマネジメントが、近年注目されている
  • データマート:
    • データウェアハウスに入っているデータの一部を、特定の用途や部門用に切り出したデータベース

基幹系とデータウェアハウスの違い

基幹系システム 情報系システム(データウェアハウス)
データ リアルタイムデータ。一定期間保存 時系列/履歴データ、大規模/大容量
重視すること 処理効率重視 1回の分析で多量のデータを扱う
更新 多い 少ない(参照のみ)
  • データの流れ:
    • 基幹系データベース・外部データベース → 統合 → データウェアハウス → 目的別・部門単位にダウンロード → データマート
  • データウェアハウスの例え:
    • 各店のレジの記録(基幹系)を毎晩本部の大倉庫(データウェアハウス)に集め、形をそろえて(クレンジング)年単位でためておく。営業部用、仕入部用に、必要な分だけ小分けした棚(データマート)も作る

② 多次元データベース

  • 多次元データベース(MDB:multi-dimensional database):
    • 複数の属性項目(次元)でデータを集約したデータベース
    • 2つの属性項目を選んで表形式で見るなら2次元、3つ選んで立体的に見るなら3次元で集約する
  • 多次元データベースが使われる理由:
    • ユーザは、データウェアハウスのデータを、例えば“時間”“地域”“製品”など、いろいろな視点から多次元的に分析する
    • だから、複数の属性項目を軸(次元)にして、いろいろな分析が簡単にできる多次元データベースが使われる
  • 多次元データベースの構成:
    • 分析の対象となるデータ(集約データ)と、分析の軸となる属性項目(次元)でできた、キューブ(立方体)型のデータベース
  • キューブの例え:
    • ルービックキューブの縦が「製品」、横が「地域」、奥行きが「時間」。1つ1つの小さな立方体に「売上」が入っている

③ OLAP

  • OLAP(Online Analytical Processing:オンライン分析処理):
    • 多次元データを、いろいろな視点から対話的に分析する処理形態、あるいはその技術
  • OLAPツール:
    • OLAPを行うツール

OLAPの機能(★)

機能 中身 例
スライス 1つの属性項目の特定の値を指定して、データを水平面で切り出す 「近畿」だけの製品×時間の表を取り出す
ドリルダウン 任意の切り口で取り出したデータを、より深いレベルのデータに詳細化する 「九州」→「福岡・熊本・鹿児島」、「2025年」→「第1〜第4四半期」
ロールアップ ドリルダウンの逆(集約する) 「福岡・熊本・鹿児島」→「九州」
ダイス 「時間別/地域別/製品別」「地域別/製品別/時間別」のように、立方体の面を回転させる 見る軸を入れ替える
  • OLAPでわかること:
    • ユーザは、現状分析や今後の動向など、いろいろな分析ができる
  • OLAPの限界:
    • OLAPはデータ分析には適しているが、データの法則性や因果関係までは発見できない
    • データの法則性や因果関係の発見には、データマイニングを使う
  • OLAPの例え:
    • スライスは、キューブを包丁で1枚切り取る
    • ドリルダウンは、地図を拡大する(都道府県 → 市区町村)
    • ロールアップは、地図を縮小する
    • ダイスは、キューブをくるっと回して別の面から見る
  • 注意(用語の使い方):
    • 一般のOLAPの解説では、「ダイス」を「複数の軸で範囲を絞って小さな立方体を切り出す操作」、面の回転を「ピボット」と呼ぶこともある
    • 試験では「ダイス(ダイシング)=立方体を回転させて見る視点を変える」と覚えておけばよい

④ MOLAPとROLAP

  • 多次元データベースの2つの形:
    • データを多次元そのままの形(独自形式)で管理する専用のデータベース
    • 関係データベースを利用して、スタースキーマ構造で管理するデータベース
  • MOLAP(Multi-dimensional OLAP):
    • 多次元そのままの形(専用データベース)に対応したOLAP
  • ROLAP(Relational OLAP):
    • 関係データベース(スタースキーマ)に対応したOLAP

⑤ スタースキーマ

  • スタースキーマ:
    • 多次元構造に適合したリレーショナルスキーマ
    • 中央に分析の対象となるデータを入れるファクトテーブル(事実テーブル)を置き、その周りに分析の切り口となるディメンションテーブル(次元テーブル)を配置する
    • ファクトテーブルとディメンションテーブルは、外部キーで関連付けられている
  • スタースキーマの例:
    • 中央のファクトテーブル(製品、地域、時間、売上…)の周りに、製品・地域・時間のディメンションテーブルが星形に並ぶ
  • スタースキーマの例え:
    • 中央に「売上明細」、周りに「商品マスタ」「店舗マスタ」「カレンダー」を置いた星形。売上明細には、それぞれのマスタの番号が書いてある

データマイニング:データから法則を掘り出す(★)

  • データマイニング:
    • 蓄積された膨大なデータの有効活用の1つ
    • 大量のデータから、統計的・数学的手法を使って、データの法則性や因果関係を見つけ出す手法
    • マイニングは「採掘」という意味

代表的なデータマイニングの手法(★)

手法 中身
マーケットバスケット分析 POSデータやeコマースの取引ログなどを分析して、顧客が一緒に購入している商品の組合せを発見する。1人の顧客の1回の購入データをマーケットバスケットデータといい、これを週や月単位に集計したデータベースを基にマイニングする
決定木分析(デシジョンツリー、意思決定ツリー) ツリー(樹形図)でデータを分析する。予測やデータ分類、データの持つルールの抽出・生成などに使う。例えば、顧客を性別・年齢層・年収など複数の属性で段階的にセグメント化し、購買履歴に照らして、商品の購入可能性が最も高いセグメントを予測する
ニューラルネットワーク 人間の脳や神経系の仕組みをモデル化した数学モデル。データマイニングでは数値予測に使われる
クラスタ分析 異質なものが混ざった調査対象の中から、互いに似たものを集めた集団(クラスタ)を作り、調査対象を分類する
  • 手法の例え:
    • マーケットバスケット分析は、「おむつを買う人はビールも買う」のような、買い物かごの中身の組合せを見つける
    • 決定木分析は、「男性?→30代?→年収○○以上?→買う確率80%」と、質問を分かれ道にして分類する
    • クラスタ分析は、正解のないまま、似た客どうしをグループに分ける

リアルタイム分析を行うCEP

  • データマイニングの弱点:
    • 発生したデータをデータベースに蓄積した後に集計・分析するので、リアルタイム性に欠ける
  • CEP(Complex Event Processing:複合イベント処理):
    • 刻々と発生する膨大なデータを、リアルタイムで分析し処理する技術
    • データの処理条件や分析シナリオを、あらかじめCEPエンジンに設定しておく
    • メモリ上に取り込んだデータが条件に合ったら、対応するアクションを即座に実行する
  • CEPの例え:
    • 監視カメラの映像をあとで録画を見直すのではなく、「不審な動きがあったら即アラーム」と決めておき、その場で鳴らす

NoSQL:SQLだけにしばられないデータベース(★)

① NoSQL

  • NoSQL(Not only SQL):
    • ビッグデータの中心的な技術基盤
    • データへのアクセス方法をSQLに限定しないデータベースの総称
  • NoSQLが使われる理由:
    • 従来のSQLを使った表形式のデータ操作では、大規模データや、頻繁に発生するトランザクションデータの処理、分散データベース環境のデータの処理で、性能が落ちる可能性がある
    • そこで、スキーマレスで柔軟性が高く、大量のデータを扱うのに適したNoSQLデータベースを使うことが多くなっている
  • ビッグデータの3つのV(特徴):
    • Variety:
      • データの種類が多様
    • Volume:
      • データ量が膨大
    • Velocity:
      • データの発生速度、発生頻度が高い
    • 3Vに「Value:価値」と「Veracity:正確さ・信頼性」を加えて5Vとすることもある
  • 非構造化データ:
    • ビッグデータの8割は非構造化データ
    • 今、非構造化データを構造化データに変えるパターン認識やデータマイニングの技術が注目されている

② NoSQLデータベース

NoSQLデータベース(★)

種類 中身
キーバリューDB 1つのデータを1つのキーに対応付けて管理する。キーバリューストア(KVS:Key-Value Store)とも呼ばれる
カラム指向DB(列指向DB) キーバリューDBにカラム(列)の概念を持たせたもの。キーに対して、動的に追加できる複数のカラム(データ)を対応付けて管理できる
ドキュメント指向DB キーバリューDBの考え方を拡張したもの。データを“ドキュメント”単位で管理する。個々のドキュメントのデータ構造(XMLやJSONなど)は自由
グラフ指向DB グラフ理論に基づき、ノードと、ノード間のエッジ(データ間のリレーションシップ)、ノードとエッジの属性(プロパティ)で、全体を構造化して管理する
  • 4つの例え:
    • キーバリューDBは、ロッカー。番号(キー)を言えば中身(バリュー)が出てくる
    • カラム指向DBは、ロッカーの中に、あとから仕切り(列)をいくつでも足せる
    • ドキュメント指向DBは、1人分の情報を1枚の自由形式の書類(JSON)にまとめてファイルする
    • グラフ指向DBは、SNSの友だち関係図。人(ノード)と「友だち」の線(エッジ)でつながりをたどる

③ BASE特性

  • 結果整合性:
    • NoSQLでは、ビッグデータなど膨大なデータを高速に処理する必要がある
    • そのため、一時的なデータの不整合を許容して、整合性保証のための処理負担を減らし、最終的に一貫性が保たれていればよいという考えを採っている
  • BASE特性:
    • 結果整合性を保証する特性

BASE特性(3つの特性)(★)

  • Basically Available:

    • 高可用性で、基本的にいつでも利用可能
  • Soft state:

    • 厳密な状態を要求しない(常に整合性を保つ必要はない)
  • Eventually consistent:

    • 最終的には一貫性が保たれる(結果整合性)
  • ACIDとBASEの例え:

    • ACIDは、銀行の通帳。どの瞬間に見ても、残高は1円も狂わない
    • BASEは、SNSの「いいね」の数。見る人によって一瞬ずれていても、しばらくすれば同じ数に落ち着く
  • 覚え方:

    • 化学の「ACID(酸)」と「BASE(塩基)」で対になっている

④ ビッグデータに関連する用語

データレイク

  • データレイク:
    • ビッグデータのデータ貯蔵場所
    • あらゆるデータを必要に応じて加工できるように、発生した元のままの形式や構造で格納できるリポジトリ
  • データレイクが必要な理由:
    • ビジネスで活用すべきデータには、業務システムデータやIoTデータ、オープンデータ、SNSのログなど、いろいろなものがあり、形式や構造も多様
    • データレイクは、このような多種多様なデータを管理し、活用するためのデータマネジメント基盤
  • データレイクとデータウェアハウスの例え:
    • データウェアハウスは、きれいに加工して棚に並べた「倉庫」
    • データレイクは、川から流れ込む水をそのままためる「湖」。使うときに必要な分をくんで加工する

オープンデータ

  • オープンデータ:
    • 国、地方公共団体及び事業者が持つ官民データのうち、国民の誰もがインターネットなどを通じて加工、編集、再配布できるように、二次利用や機械判読に適した形で無償公開されたデータ
  • オープンデータバイデザイン:
    • 行政が持つデータをオープンデータ化することを前提に、情報システムや業務プロセスの企画、整備及び運用を行うという考え方

データサイエンティスト

  • データサイエンティスト:
    • ビッグデータを有効活用し、事業価値を生み出す役割を担う専門人材、あるいはその職種
    • 情報科学の知識を持ち、ビジネス課題を解決するためにビッグデータを意味ある形で使えるように、分析システムを実装・運用し、ビジネス上の課題の解決を支援する

データサイエンティストに求められるスキルセット(★)

スキル 中身 例
ビジネス力 課題の背景を理解したうえで、ビジネス課題を整理・分析し、解決する力 事業モデル、バリューチェーンなどの特徴や事業の主な課題を、自力で構造的に理解でき、問題の大枠を整理できる
データサイエンス力 人工知能や統計学などの情報科学の知識を使って、予測、検定、関係性の把握、データ加工・可視化をする力 分析要件に応じて、決定木分析、ニューラルネットワークなどのモデリング手法の選択、パラメタの設定、分析結果の評価ができる
データエンジニアリング力 データ分析で作ったモデルを使えるように、分析システムを実装、運用する力 扱うデータの規模や機密性を理解したうえで、分析システムをオンプレミスで作るかクラウドサービスで作るかを判断し、設計できる
  • 3つのスキルの例え:
    • ビジネス力は「何を解くべきか決める力」、データサイエンス力は「解き方を考える力」、データエンジニアリング力は「解き方を実際に動く仕組みにする力」
  • Jupyter Lab:
    • データサイエンティストが使っている、ビッグデータ分析や機械学習に欠かせないツール
    • ブラウザ上で動く対話型のPythonプログラム実行環境
    • 実行結果を逐次確認しながら、データ分析を進められる

混同しやすいペア

  • 基幹系システム / 情報系システム
    • 基幹系は、日々の業務。リアルタイムデータ、処理効率重視、更新が多い
    • 情報系(データウェアハウス)は、分析・意思決定支援。履歴データ、大容量、参照のみ
  • データウェアハウス / データマート
    • データウェアハウスは、全社のデータを統合して蓄積したもの
    • データマートは、その一部を特定の用途や部門用に切り出したもの
  • ETL / データクレンジング
    • ETLは、抽出・変換・ロードの一連の処理
    • データクレンジングは、その中で、データ属性やコード体系を統一する処理
  • データクレンジング / データリネージ
    • データクレンジングは、データの形をそろえる処理
    • データリネージは、データの出どころと、どんなETLを経たかを示す情報
  • スライス / ダイス
    • スライスは、特定の値でデータを水平面で切り出す
    • ダイスは、立方体の面を回転させて、見る軸を入れ替える
  • ドリルダウン / ロールアップ
    • ドリルダウンは、より深いレベルに詳細化する(九州 → 福岡・熊本・鹿児島)
    • ロールアップは、その逆で集約する
  • MOLAP / ROLAP
    • MOLAPは、多次元そのままの形(専用データベース)で管理するOLAP
    • ROLAPは、関係データベース(スタースキーマ)で管理するOLAP
  • ファクトテーブル / ディメンションテーブル
    • ファクトテーブル(事実テーブル)は、中央に置く、分析の対象データ(売上など)
    • ディメンションテーブル(次元テーブル)は、周りに置く、分析の切り口(製品、地域、時間)
  • OLAP / データマイニング
    • OLAPは、多次元データを対話的に分析する(法則や因果関係までは見つけられない)
    • データマイニングは、統計的・数学的手法で法則性や因果関係を見つける
  • マーケットバスケット分析 / 決定木分析
    • マーケットバスケット分析は、一緒に買われる商品の組合せを見つける
    • 決定木分析は、ツリーで段階的に分類・予測する
  • ニューラルネットワーク / クラスタ分析
    • ニューラルネットワークは、脳の仕組みをまねたモデル。数値予測に使う
    • クラスタ分析は、似たもの同士を集めて分類する
  • データマイニング / CEP
    • データマイニングは、蓄積した後に分析する(リアルタイム性に欠ける)
    • CEPは、メモリ上で、発生したデータをリアルタイムに分析・処理する
  • キーバリューDB / カラム指向DB
    • キーバリューDBは、1つのキーに1つのデータ(KVS)
    • カラム指向DBは、1つのキーに、動的に追加できる複数のカラム
  • ドキュメント指向DB / グラフ指向DB
    • ドキュメント指向DBは、ドキュメント単位(XML、JSON)で自由な構造
    • グラフ指向DBは、ノード、エッジ、プロパティで関係を管理する
  • ACID特性 / BASE特性
    • ACID特性は、厳密な一貫性(RDB)
    • BASE特性は、結果整合性(NoSQL。Basically Available、Soft state、Eventually consistent)
  • 3V / 5V
    • 3Vは、Variety、Volume、Velocity
    • 5Vは、3VにValue、Veracityを加えたもの
  • データウェアハウス / データレイク
    • データウェアハウスは、整理・統合・加工して蓄積する
    • データレイクは、元のままの形式や構造で蓄積する
  • オープンデータ / オープンデータバイデザイン
    • オープンデータは、誰もが二次利用できるよう無償公開されたデータ
    • オープンデータバイデザインは、オープンデータ化を前提にシステムや業務を作る考え方
  • ビジネス力 / データサイエンス力 / データエンジニアリング力
    • ビジネス力は、ビジネス課題を整理・分析し、解決する力
    • データサイエンス力は、AIや統計学で予測・検定・可視化する力
    • データエンジニアリング力は、分析システムを実装・運用する力

← 06 データベースの目次に戻る

タイトルとURLをコピーしました