データベース応用
データウェアハウスとOLAP・データマイニング、ETL、分散データベースとレプリケーション、データレイクなどのデータ資源管理を理解できるようになります。
ねらい
データベースを分析や大規模データの活用へ応用する技術を学びます。このレッスンを終えると、業務処理と分析処理の違い、データウェアハウスを中心とした分析の流れ、分散データベースの仕組み、データ資源管理の考え方を説明できるようになります。
ストーリー
経営会議で「先月の売れ筋を地域別に見たい」と言われました。売上を記録する業務システムはあるのに、なぜかすぐには答えられません。業務システムは1件ずつの取引を速く確実に処理する作りで、大量の集計や分析には向かないからです。記録する仕組みと分析する仕組み。この分業が、データ活用の出発点です。
OLTPとデータウェアハウス
日々の取引を1件ずつ処理する形態をOLTP(オンライントランザクション処理)といいます。前のレッスンまでのDBMSの話は、主にこの世界のものです。
一方、分析のために、複数の業務システムから集めたデータを時系列で蓄積した大きなデータベースをデータウェアハウスといいます。部門ごとの分析用に切り出した小さなものはデータマートです。業務システムからデータウェアハウスへは、データを抽出(Extract)し、形式を変換(Transform)し、格納(Load)するETLという処理で運びます。先に格納してから変換するELTという順序もあります。誤記や表記の揺れを整える作業はデータクレンジングといいます。
分析の技術:OLAPとデータマイニング
蓄積したデータを分析する代表的な技術が2つあります。
- OLAP(オンライン分析処理)は、地域別、期間別、商品別のように、さまざまな切り口でデータを対話的に集計・分析します。冒頭の「地域別の売れ筋」に答えるのはこの技術です。
- データマイニングは、大量のデータの中から、人が気づいていなかった規則性や関連を統計や機械学習の手法で掘り出します。「おむつとビールが一緒に買われやすい」といった発見の逸話が有名です。
これらは企業会計システムや在庫管理システム、文書管理システム、営業支援システムなどの業務の現場で使われています。事業やセンサーから生まれる膨大で多様なデータはビッグデータと呼ばれ、分析技術の主戦場になっています。
分散データベース
データベースを複数のサイトに分けて配置したものが分散データベースです。利用者が、データがどこにあるかを意識せずに使える性質を透過性といい、分散データベースの理想です。
サイト間でデータの複製を持ち合い、同期させる仕組みをレプリケーションといいます。複数のサイトにまたがる更新の整合性は、前のレッスンで学んだ2相コミットメントなどのコミットメント制御で守ります。
データ資源管理
データそのものに加えて、「データについての情報」を管理することもデータ活用の土台です。データの属性、意味、格納場所などのメタデータを集めた辞書がデータディクショナリで、その標準的な枠組みにIRDS(情報資源辞書システム)があります。ソフトウェア開発と保守のさまざまな情報を一元管理する仕組みはリポジトリと呼ばれます。
扱うデータは形の整い方で分類できます。表形式の構造化データ、JSONやXMLのようにある程度の構造を持つ半構造化データ、文書や画像のような非構造化データ、絶え間なく流れ込むストリーミングデータです。これらを加工前のまま大量に蓄えておく置き場をデータレイクといい、整形済みのデータを蓄えるデータウェアハウスと対比されます。大規模なデータの格納には、複数のコンピュータにまたがる分散ファイルシステムが使われます。
例題
次の問いに答えてください。
問1 大量のデータの中から、統計や機械学習の手法で隠れた規則性や関連を見つけ出す技術を何といいますか。
問2 分散データベースで、サイト間にデータの複製を持ち、同期させる仕組みを何といいますか。
解答と解説
問1の答えはデータマイニングです。さまざまな切り口で対話的に集計するOLAPが「見たい軸で見る」技術であるのに対し、データマイニングは「気づいていなかった規則を掘り出す」技術です。
問2の答えはレプリケーションです。複製を近くのサイトに置くことで、参照を速くし、障害にも強くなります。
応用
本試験を意識した問題を解いてみましょう。
問 複数の業務システムからデータを抽出し、分析に適した形式に変換して、データウェアハウスに格納する一連の処理はどれでしょうか。次の中から選んでください。
- ETL
- OLAP
- OLTP
- データクレンジング
解答と解説
答えは1のETLです。抽出(Extract)、変換(Transform)、格納(Load)の頭文字で、業務システムからデータウェアハウスへデータを運ぶ工程を指します。2のOLAPは、格納されたあとのデータをさまざまな切り口で集計・分析する技術であり、運ぶ工程ではありません。3のOLTPは日々の取引を1件ずつ処理するオンライントランザクション処理のことで、分析基盤への格納処理とは別の世界です。4のデータクレンジングは誤記や表記の揺れを整える作業のことで、ETLの変換の一部として行われることはありますが、抽出から格納までの一連の処理全体を指す用語ではありません。
分からなかった点・気になった点
読み込み中です。