Data Mining: Concepts and Techniques データウエアハウスと OLAP Jiawei Han Department of Computer Science University of Illinois at Urbana-Champaign Data Mining: Concepts and Techniques 1 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 2 デ タウエアハウスとは? データウエアハウスとは? 様々な定義, でも厳密なものはない 意思決定支援データベース 業務データベースとは別個に存在 業務デ タベ スとは別個に存在 情報処理を支援、分析に統合・履歴データを用いる機能を提供 “デ タウエア ウ(DW)とは 意思決定支援のための 目的指向, “データウエアハウ(DW)とは, 目的指向 統合さ れた, 時間依存的な, でも 変更のない データの集合”—W. H. Inmon データウエアハウス処理 DW の構築と利用のプロセス Data Mining: Concepts and Techniques 3 DW — 目的指向 Subject Subject-Oriented Oriented 主たる目的 顧客customer, 製品product, 販売sales 意思決定のためのデータのモデル化と分析 日常業務の支援ではない データベースシステムではトランザクション管理 目的に沿った単純で簡潔なビューを提示 意思決定支援に関係しないデータを除去 意思決定支援に関係しないデ タを除去 Data Mining: Concepts and Techniques 4 DW - 統合 Integrated 複数の異種デ タソ スを統合 複数の異種データソースを統合 関係DB, テキストファイル, エクセルフファイル, オンライ ン取引情報, ・・・ データクリーニングと統合 矛盾除去:名前付け, 矛盾除去:名前付け デ データ構成 タ構成, 属性値単位 属性値単位・尺度 尺度 etc. etc ホテル価格: 通貨, 税金, 朝食込, etc. データを デ タを DW に移動するときに変換 Data Mining: Concepts and Techniques 5 DW — 時間依存 Time Variant DW データが対象とする時間幅の大きさ 業務DB: 現在値が中心 DW: 履歴データの視点 (過去 past 5-10 年など) DW のデータ構成 明示的・暗黙的に 時間 time 要素を含む 業務データにはなくてもよい 業務デ タにはなくてもよい Data Mining: Concepts and Techniques 6 DW — 非更新 Nonvolatile 業務環境から変換され 別媒体に記憶保存 業務環境から変換され、別媒体に記憶保存 DW データは業務データの変更の影響を受けない DB基本機能(トランザクション処理・回復機能、同時制 御)不要 必要となる基本機能 デ タ初期ロ ド と データアクセス データ初期ロード デ タアクセス Data Mining: Concepts and Techniques 7 DW vs vs. 分散異種 DBMS 従来の 分散異種 heterogeneous DB の統合環境: 質問指向、整合性 質問指向 整合性 異種データベース上で wrappers/mediators を構築 質問がでると (1) meta-dictionary を使って当該サイトに向けた質問を変換 (2) 解を共通形式に変換 情報フィルタリング, 資源の競合が発生 DW: 更新指向, 高性能 予めデータを統合しておく 予めデ タを統合しておく DWに格納し、質問処理・分析に直接使用 Data Mining: Concepts and Techniques 8 分散データベース Di t ib t d Databases Distributed D t b データが複数サイトに配置、各々を管理 DBMSが独立に動作している 分散型データ独立 利用者はデータは位置場所を知らない (物理 (物理・論理データ独立を拡張) 論理デ タ独立を拡張) 分散型トランザクション管理、特に原子性 利用者は複数の WRITE トランザクションを複数サ トランザクシ ンを複数サ イトに実行できる 法政大学データベース入門 分散DBの研究対象 利用者はデータの配置場所を知っている データ独立性, 原子性などに疑問 効率よく管理する手法 広域的分散性の必要性(インターネット) 管理者さえも配置場所を知りたくない 法政大学データベース入門 分散デ タベ スの種類 分散データベースの種類 同種 Homogeneous: どのサイトも同じ種類のDBMSが実行 異種 Heterogeneous: サイト毎に異なるDBMSが稼動 (異なる関係DBMS、あるいは非関係 DBMS) 法政大学データベース入門 分散DBMS の方式 Client- Server - Client は質問をマスタサ イトに送り すべての処理 イトに送り,すべての処理 はマスタサイトで行なう Thin vs. Fat clients. 集合型の通信 - client サイドキャッシ ュなどが問題 などが問題 協調型 (Collaborating) Server 質問は複数のサイトで実 行 法政大学データベース入門 DW vs. 業務 DBMS OLTP (on-line transaction processing) 従来 DBMS の主要な業務, 100MB – 1GB 日々の業務処理: 購買, 在庫管理, 金融, 製造, 給与処理, 登録業務, 会計 etc. 会計, t OLAP (on-line analytical processing) DW の主要な業務, の主要な業務 100GB – 1TB データ分析と意思決定 特徴 (OLTP vs. OLAP): 利用者・システム: 顧客志向 vs. マーケット志向 データ内容: 現状・細部 vs. 履歴・統合概要的 DB 設計: ER + 応用依存 vs. スター型 + 目的別 ビュー: 現状・局所的 vs. 時系列的・統合概要的 利用パターン: 修正・おなじパターン vs. 読込み・複雑大規模・アドホック Data Mining: Concepts and Techniques 13 個別DWの必要性 高性能システム DBMS— OLTPむけ: アクセス方式, 索引, 同時制御, 回復管理 Warehouse—OLAPむけ: 複雑なOLAP 質問, 多次元ビュー,統合化 個別機能・個別データ デ 欠損値: 意思決定支援では履歴データが重要 データ統合化: デ タ統合化 DWでは統合化が必須(汎化aggregation,要約 DWでは統合化が必須(汎化 ti 要約 summarization), 異種データソース デ タの品質: 異なるデ データの品質: 異なるデータがあれば通常別個のデータ表現(コード・ タがあれば通常別個のデ タ表現(コ ド 書式)形式なので統合が必要 OLAP 分析を DBMS 上で直接行うシステムが増えている Data Mining: Concepts and Techniques 15 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル(データ記述) データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 16 テーブル・スプレッドシートとキューブ テ ブル スプレッドシ トとキュ ブ Cube DW デ データは タは 多次元デ 多次元データモデル タモデル multidimensional data model を想定 データキューブ data cube 多次元でデ タのモデル化 操作可能 多次元でデータのモデル化・操作可能 次元テーブル it item (it (item_name, brand, b d type) t ) time(day, week, month, quarter, year) Fact テ テーブル:measures ブル:measures (dollars (dollars_sold) sold) , 各次元テ 各次元テーブルへのキー ブルへのキ Base cuboid : n-次元キューブ 0 D cuboid :apex 0-D apex cuboid Data Mining: Concepts and Techniques 17 多次元デ タ 多次元データ S l データは Sales デ タは product, d t month, th region i の関数 次元: Product, Product Location, Location Time 階層集約パス: I d t Industry R Region i Y Year Category Country Quarter P Product t Product City Office Month Week Day Month Data Mining: Concepts and Techniques 18 Data Cube 例 2Qtr Date 3Qtr 4Qtr sum USA U.S.A C Canada Mexico Coun ntry TV PC VCR sum 1Qtr 年間 sales (TV , U.S.A.) sum Data Mining: Concepts and Techniques 19 用語 ファクトテーブル(Fact フ クトテ ブル(F t ttable) bl ) 次元テーブル(Dimension tables) 評価尺度(Measures) product prodId name price sale orderId date custId prodId storeId qty amt store storeId city customer custId name address dd city 20 次元階層 sType store store storeId s5 s7 s9 city cityId sfo sfo la tId t1 t2 t1 mgr joe fred nancy y スノーフレーク 集約集合の配置 region sType tId t1 t2 size small large city pop 1M 5M cityId sfo la location downtown suburbs regId north south region regId nam e north cold region south warm region 21 キュ ブ キューブ ファクトテ ブル ファクトテーブル: sale prodId p1 p2 p1 p2 storeId c1 c1 c3 c2 多次元キューブ: amt 12 11 50 8 p1 p2 c1 12 11 c2 c3 50 8 (2次元) 22 3-D 3 D キュ キューブ ブ ファクトテーブル: sale prodId p1 p2 p p1 p2 p1 p1 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 多次元キューブ: amt 12 11 50 8 44 4 day 2 day 1 p1 p2 c1 p1 12 p2 11 c1 44 c2 4 c2 c3 c3 50 8 (3次元) 23 概念階層: 次元 (location) all all ll Europe region country city office Germany Frankfurt ... ... ... Spain North_America h i Canada Vancouver ... L. Chan ... Data Mining: Concepts and Techniques ... Mexico Toronto M. Wind 24 Cuboids :Cubeに対応して all 0-D(apex) 0 D(apex) cuboid product product,date date country product,country 1-D cuboids date, country 2-D cuboids 3-D(base) cuboid product, d t date, d t country t Data Mining: Concepts and Techniques 25 Cube: Cuboid集合(束) all time 0-D(apex) cuboid item location supplier 1-D cuboids time,location time,item item,location time,supplier location,supplier 2-D cuboids item,supplier time,location,supplier 3-D cuboids time item location time,item,location time,item,supplier item,location,supplier 4-D(base) cuboid time, item, location, supplier Data Mining: Concepts and Techniques 26 DW の概念モデル 次元 尺度 次元と尺度 Star スキーマ: fact テーブルを中心、次元テーブルが接続 Snowflake スキーマ: スキ マ: star スキーマの発展形 スキ マの発展形 次元階層に沿って低次元テーブル集合に正規化 normalized S Snowflake fl k 状 Fact Constellation : 複数の fact テーブルが次元テーブ ルを共有 銀河スキーマ galaxy schema Data Mining: Concepts and Techniques 27 Star スキ Sta スキーマ time item time_key day day_of_the_week y_ _ _ month quarter year Sales Sa es Fact act Table ab e time_key item key item_key item_key item name item_name brand type supplier pp _type yp branch_key location branch l ti location_key k branch_key branch_name branch type branch_type units_sold dollars_sold avg_sales location_key street city state_or_province country Measures Data Mining: Concepts and Techniques 30 Snowflake S o a e スキ スキーマ time time_key day day_of_the_week y_ _ _ month quarter year it item Sales Fact Table time_key item e _key ey item_key item_name brand type supplier_key supplier supplier_key supplier key supplier_type branch_key location branch location key location_key branch_key branch_name branch type branch_type units_sold d ll dollars_sold ld avg_sales M Measures Data Mining: Concepts and Techniques location_key street city_key city city_key city state or province state_or_province country 31 Fact Constellation スキ スキーマ マ time time_key day day_of_the_week month quarter year item Sales Fact Table time_key item_key item_name b d brand type supplier_type item_keyy location_keyy branch_key branch_name branch_type units_sold dollars sold dollars_sold avg_sales time_key item_key shipper_key from_location branch_key branch Shi i Fact Shipping F t Table T bl location to_location location_key street city province_or_state country dollars_cost Measures Data Mining: Concepts and Techniques units_shipped shipper shipper_key shipper key shipper_name location_key shipper_type 32 Cube 定義 (BNF) : DMQL Cube 定義 (Fact テーブル) ブ define cube <cube_name> [<dimension_list>]: < <measure_list> li t> 次元定義 (次元テーブル) d fi dimension define di i <dimension_name> di i as (<attribute_or_subdimension_list>) 共有次元テ ブル 共有次元テーブル まず “cube 定義” define dimension dimen ion <dimension_name> <dimen ion n me> as <dimension_name_first_time> in cube <cube name first time> <cube_name_first_time> Data Mining: Concepts and Techniques 33 Star スキ スキーマ定義: マ定義: DMQL define cube sales_star [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, th quarter, t year)) define dimension item as (item_key, item_name, brand, type supplier type, supplier_type) type) define dimension branch as (branch_key, branch_name, branch type) branch_type) define dimension location as (location_key, street, city, province or state country) province_or_state, Data Mining: Concepts and Techniques 34 Snowflake S o a e スキ スキーマ定義:DMQL 定義 Q define cube sales_snowflake [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales in dollars) units_sold avg(sales_in_dollars), units sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier(supplier_key, supplier_type)) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city(city_key, province_or_state, i t t country)) t )) Data Mining: Concepts and Techniques 35 Fact act Co Constellation ste at o の定義 の定義:DMQL Q define cube sales [[time,, item,, branch,, location]: ] dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as ((time_key, _ y, day, y, day_of_week, y_ _ , month,, quarter, q , year) y ) define dimension item as (item_key, item_name, brand, type, supplier_type) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, (location key, street, city, province province_or_state, or state, country) define cube shipping [time, item, shipper, from_location, to_location]: dollar cost = sum(cost_in_dollars), dollar_cost sum(cost in dollars), unit_shipped unit shipped = count( count(*)) define dimension time as time in cube sales define dimension item as item in cube sales define dimension shipper as (shipper_key, (shipper key shipper shipper_name, name location as location in cube sales, shipper_type) define dimension from_location as location in cube sales define dimension to_location to location as location in cube sales Data Mining: Concepts and Techniques 36 3種類のData Cube尺度 分配的: min({1,2,3,4,5}) min({1 2 3 4 5}) = min(min({1,2,3}),min({4,5})) min(min({1 2 3}) min({4 5})) count(), sum(), min(), max() 代数的: 引数値から代数的に求める関数 各引数値は分配的関数で算出 avg() min_N(), avg(), min N() standard_deviation() standard deviation() 全体的: 結果を示すのに記憶域上の制限がない関数 E g median(), E.g., median() mode(), mode() rank() ank() Data Mining: Concepts and Techniques 37 DWと概念階層 階層記述 day < {month} d { th} < quarter; week < year 階層設定 {1..10} < inexpensive Data Mining: Concepts and Techniques 38 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル(データ操作) データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 39 Data Cubeのブラウジング Data Mining: Concepts and Techniques 視覚化 OLAP 機能 対話操作 40 代表的な O OLAP 操作 Roll up p (drill-up): ( p) データの要約 階層を上昇、つまり次元縮小 Drill down (roll down): roll-up の逆 高水準要約から低水準要約(詳細) Slice and dice: 射影と選択 Pivot (rotate): つまり新たな次元の導入 Cube b の方向付け, 方向付け 視覚化, 視覚化 3D を2D を 平面に分解 分解 そのほか drill d ill across: 1つ以上の fact f t ttable bl を関連付け drill through: 最低レベルデータと関係をSQLで関連付け Data Mining: Concepts and Techniques 41 o s) Toronto Vancouver Q1 395 605 loc on at i un (co Q2 computer home entertainment es) tr i USA Canada time me (quarters) at i t ie time (quarters) loc ci n( item (types) 2000 Q1 1000 Q2 Q3 Q4 security computer home phone entertainment dice for (location = “Toronto” or “Vancouver”) and (time = “Q1” or “Q2”) and (item = “home entertainment” or “computer”) item (types) roll-up on location (from cities to countries) ) ies Chicago 440 cit ( New York 1560 on i t Toronto a 395 loc time (quarters) Vancouver slice for time = “Q1” Q1 605 825 14 400 Q2 Q3 Q4 computer security phone home entertainment drill-down on time (from quarters to months) locatio ation (cities) item (types) Chicago New York Toronto Vancouver 605 825 14 computer home entertainment 400 s) Chicago t ie (ci New York n o Toronto i at security phone loc Vancouver January item (types) 150 100 150 February March April home entertainment 605 computer 825 time (months) item (typ types) pivot July August October November December 400 security June September 14 phone May computer New York Chicago Vancouver Toronto location (cities) Data Mining: Concepts and Techniques home entertainment security phone item (types) 42 集約処理(1) Aggregates • 日ごとの売上合計を求めよ • SQL: SELECT date, sum(amt) FROM SALE GROUP BY date d t sale prodId p1 p2 p1 p p2 p1 p1 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 amt 12 11 50 8 44 4 ans date 1 2 sum 81 48 43 集約処理(2) Aggregates •日と製品ごとに売上合計を求めよ 日と製品ごとに売上合計を求めよ • SQL: SELECT date, sum(amt) FROM SALE GROUP BY date, d t prodId dId sale prodId p1 p2 p1 p2 p p1 p1 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 amt 12 11 50 8 44 4 sale l prodId dId p1 p2 p1 1 date d t 1 1 2 amtt 62 19 48 rollup drill-down drill down 44 集約処理(3) Aggregates 集約関数 sum, count, max, min, median, ave “Having” 条件 次元階層の利用 average by region (店の平均) maximum by month (日の合計) 45 キュ ブ集約 キューブ集約 day 2 day 1 p1 p2 c1 p1 12 p2 11 p1 p2 c1 1 56 11 c1 44 c2 4 c2 c3 Sumsの計算 ... c3 50 8 c2 2 4 8 rollup d ill d drill-down c3 3 50 sum c1 67 c2 12 c3 50 129 p1 p2 sum 110 19 46 キュ ブ操作 キューブ操作 day 2 day 1 p1 p2 c1 p1 12 p2 11 p1 p2 c1 1 56 11 c1 44 c2 4 c2 c3 ... c3 50 sale(c1,*,*) 8 c2 2 4 8 c3 3 50 sale(c2,p2,*) sum c1 67 c2 12 c3 50 129 p1 p2 sum 110 19 sale(*,*,*) 47 キュ ブの拡張 キューブの拡張 c2 4 8 c312 p1 p2 c1 * 12 p1 p2 c1* 44 c1 56 11 c267 4 c2 44 c3 4 50 11 23 8 8 50 * 62 19 81 * day 2 day 1 p1 p2 * c3 50 * 50 48 48 * 110 19 129 sale(*,p2,*) 48 次元階層を用いた集約 day 2 day 1 p1 p2 c1 p p1 12 p2 11 c1 44 c2 4 c2 c3 c3 50 8 customer t region country p1 p2 region A region B 56 54 11 8 (customer c1 in Region A; customers c2, c3 in Region B) •SQL: SELECT prodId, regionId, sum(amt) FROM SALE, REGION WHERE SALE.storeId SALE.storeId=REGION.storeId REGION.storeId GROUP BY prodId, regionId 49 ピボット処理 Pivoting ク ブ ファクトテーブル: sale prodId storeId p1 c1 p2 c1 p1 c3 p2 c2 p1 1 c1 1 p1 c2 date 1 1 1 1 2 2 次元の縮小 多次元キューブ: amt 12 11 50 8 44 4 day 2 day 1 p1 p2 c1 p1 12 p2 11 p1 p2 c1 56 11 c1 44 c2 4 c2 c3 c3 50 8 c2 4 8 c3 50 50 DICE 操作 視点の選択 SELECT Time,Channel,Product FROM Sales ORDERED BY Time 51 SLICE 操作 断面の選択 SELECT * FROM sales WHERE Time=2011Jan 52 Star-Net Star Net Query Model Customer Orders Shipping pp g Method Customer CONTRACTS AIR-EXPRESS ORDER TRUCK PRODUCT LINE Time Product ANNUALY QTRLY DAILY PRODUCT ITEM PRODUCT GROUP CITY SALES PERSON COUNTRY DISTRICT REGION Location DIVISION 各円を footprint Promotion Data Mining: Concepts and Techniques Organization 53 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 54 DWの設計: ビジネス分析のフレームワーク DW設計の4つのビュー DW設計の4つのビュ Top-down ビュー Data source ビュー 業務システムで処理 格納 管理されている情報の開示 業務システムで処理・格納・管理されている情報の開示 Data warehouse ビュー DWに必要な情報の選択 fact tables tables、次元tables 次元tables Business query ビュー 末端利用者ビ 末端利用者ビューからのDWデータの見え方 からのDWデ タの見え方 Data Mining: Concepts and Techniques 55 Data ata Warehouse a e ouse 設計プ 設計プロセス セス アプローチ:次のいずれか、あるいは組み合わせ Top-down: 全体設計・プランから開始 (十分な議論) Bottom-up: 経験とプロトタイプの積み重ねから開始 (急ぐ時) ソフト工学的な観点から Waterfall: 次に進む前に各段階の構造的・体系的分析を完成 Spiral: 機能部分の増分的な開発、 短時間TAT 典型的なDW設計プロセス 対象となる business b i process を選ぶ (orders, ( d invoices, i i など) 処理の grain (対象データの最小単位・粒度) を選ぶ Fact テーブルレコードの dimensions を選ぶ Fact テーブルレコードを構築するための measure を選ぶ Data Mining: Concepts and Techniques 56 データウエアハウス: データウエアハウス デ タウエアハウス: Multiタウエアハウス: Multi-Tiered Architecture 関連デ ータ 業務DBs 業務 Monitor & Integrator eg a o Metadata Extract Transform Load Refresh Data Warehouse OLAP Server Serve Analysis Query Reports Data mining Data Marts データソース 記憶域 OLAP Engine ツール群 Data Mining: Concepts and Techniques 57 Data Warehouse モデル Enterprise warehouse 全域ウ 全域ウエアハウス ア ウス 全組織に関連する情報を収集 Data Mart デ データマート タマ ト 企業情報のうち特定の利用者に有用なデータ集合. グルー プの特定は通常は自明(営業情報 など) DWと独立か連動するか Virtual warehouse 仮想ウエアハウス 業務DB上のビュー集合 要約的な内容(要約ビュー)だけが格納される 要約 容(要約 ) 格納 Data Mining: Concepts and Techniques 58 質問と分析ツ ル 質問と分析ツール 質問の構築 レポートライタ (比較, グラフ,…) 表計算システム Web インターフェイス データ発見手法 59 質問と分析ツ ル(拡張) 質問と分析ツール(拡張) 時間関連処理 e.g., 時間平均 導出属性 e.g., g , commission = sales * rate テキスト(文字列)検索 e.g., e g “X” X と “Y” Y という語を含む文書を検索 e.g., “X”, “Y”, “Z” という語の出現頻度ごとに文書 をランクつけせよ 60 D t W Data Warehouse h 開発 Multi-Tier Data Warehouse 分散 分散Data Marts Data Mart Data Mart Model refinement 企業DW Model refinement 高水準企業データモデルの定義 Data Mining: Concepts and Techniques 61 DW Back Back-End End ツ ツール群 ル群 データ抽出 Data extraction 複数の異種外部ソースから所望データを抽出 データクリーニング Data cleaning エラーを検出し訂正・補正 を検 補 データ変換 Data transformation 個々のデータ形式からDW形式に変換 個々のデ タ形式からDW形式に変換 ロード Load ソート, ソ ト 要約, 要約 統合, 統合 ビュー構築, ビュ 構築 整合性検査, 整合性検査 索引構築・分 索引構築 分 割 同期 Refresh データソースの変更をDWに伝搬 Data Mining: Concepts and Techniques 62 メタデータ辞書 メタデ タ辞書 Metadata Repository メタデータ Meta data 構造記述情報 DWデータを定義するデータ: スキーマ, ビュー, ビ 次元, 階層, 導出データ定義, デ デ データマートの内容・位 置 業務メタデータ データ関連(変換データの履歴と変換経路), データ状況 (active, archived,, purged), p g ), 監視情報 ((利用率統計,, エラー報告,, 追跡)) 要約処理のためのアルゴリズム 業務環境とDWとの対応関係 システム効率に関する情報 ビジネスデータ 用語定義, データ所有者, 変更方針 Data Mining: Concepts and Techniques 63 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 64 OLAP サーバの構成 Relational OLAP (ROLAP) ( ) DBMS Back-End 環境の最適化、DB の要約・検索、関連ツール・サー ビスを含む スケーラビリティ Multidimensional OLAP (MOLAP) 配列方式の多次元記憶域管理機構 高速索引機構で、あらかじめ計算した要約情報を処理 Hybrid y OLAP ((HOLAP)) ((Microsoft SQLServerなど) Q ) 関係DBMSを用いてDWデータを格納・管理し、 OLAP ミドルウエアが これを利用 柔軟性, 関係DBと配列方式の組み合わせ SQL サーバ拡張 (Redbricksなど) 特殊な SQL 質問支援, star/snowflake スキーマに特化 Data Mining: Concepts and Techniques 65 Data Cube の効率よい処理 効率 処 Data cube : cuboids の束 として 最下位: base cuboid 最上位 (apex) ( ) : 1 cellll L レベル n-次元 cube のデータ数 data cube の構築・格納 n T ( L i 1) i1 すべてを格納 (full materialization), すべてを動的に計算 (no materialization), or 一部を格納(partial materialization) 格納範囲を選択 サイズ, 共有範囲, 頻度で Data Mining: Concepts and Techniques 66 Cube 操作 定義と操作 (DMQL) ( Q ) define cube sales[item, city, year]: sum(sales_in_dollars) compute p cube sales SQL-like 言語(cube by, Gray et al.’96) () SELECT item, city, year, SUM (amount) FROM SALES (city) CUBE BY item, item city, city year 計算処理(Group-By) (date, product, customer), (date,product),(date, customer), (product, customer), (d t ) (product), (date), ( d t) (customer) ( t ) (city, item) Data Mining: Concepts and Techniques (item) (city, year) (year) (item, year) (city, item, year) 67 デ タウエアハウスシステムの実現 データウエアハウスシステムの実現 監視 Integrating: ローディング、クリーニング,... デ グ グ 処理 Processing g: 質問処理,, 索引つけ,, ... 管理 Managing: メタデータ, 設計, ... 68 監視 ソース種別: 関係, デ データファイル, タファイル, IMS,, VSAM,, IDMS,, WWW,, news-wire,, … 差分的vs. リフレッシュ custom er id 53 81 111 nam e joe fred sally address 10 main 12 main 80 willow city sfo sfo la new 69 監視手法 周期的なスナップショット デ タベ データベーストリガ トリガ ログデータの伝播 データの伝播 (重複サービス) トランザクションの伝播 ポーリング (ソースサイトへの問いかけ) 仮面の剥ぎ取り (screen ( scraping) i ) 応用レベルでの監視 70 監視手法の問題 頻度 度 周期的: 毎日, , 毎週,, … トリガ: on “大きな変更”, 多数の変更, ... データ変換 デ タ変換 統一形式に変換 項目の追加削除変更 追加削除変 (e.g., 履歴に日付を加える) 標準化 (e.g., ODBC) ゲートウエイ 71 デ タの統合 データの統合 データクリーニング デ グ データローディング 導出データ Client Client Query & Analysis Metadata Warehouse Integration S Source Source Source 72 デ タクリ ニング データクリーニング マイグレーション (e.g., 円 ユーロ) 現実への適用: 現実 適用 応用分野知識の利用 用分野知識 利用 ((e.g., g , SSN)) 統合 fusion (e.g., メールリスト, 顧客統合) billing DB service DB customer1(Joe) merged customer(Joe merged_customer(Joe customer2(Joe) 追跡: 規則や関連の発見(データ発見と類似) 73 デ タの格納 データの格納 差分アプローチ vs. vs リフレッシュ Off-line vs. on-line ローディングの頻度 毎夜, , 毎週、毎月,, 絶え間なく 並列/分割 74 導出デ タ 導出データ 導出情報(2次情報) 索引 集約値 materialized views (後述) ( ) 導出データの修正 差分 vs. vs リフレッシュ 75 ウエアハウス処理 管理情報とメタデータ 何を Materialize? ROLAP サーバ vs. MOLAP サーバ Cli t Client Client Query & Analysis Metadata Warehouse Integration Source Source Source 76 管理 メタデータ デ ウエアハウス設計 ツール Client Client Query & Analysis Metadata W h Warehouse Integration Source Source Source 77 メタデータ メタデ タ Metadata 管理情報 ソース・ツールの定義 ... スキーマ,次元階層, … データ獲得規則, , クリーニング,, … リフレッシュ, 方針の遂行 利用者プロファイル, 利用者プロファイル アクセス権, アクセス権 ... 78 メタデ タ メタデータ ビジネス 用語 & 処理定義 データ所有, 費用 操作 データ系統 データ状態(e.g., データ状態(e g active active, archived archived, purged) 統計, エラーレポート, 追跡調査 79 Materialized Views sale l SQL 式を用いて新たなウエアハウスデータを生成 prodId dId p1 p2 p1 p2 p1 p1 storeId Id c1 c1 c3 c2 c1 c2 joinTb date d 1 1 1 1 2 2 prodId p1 p2 p1 p2 p1 p1 amt 12 11 50 8 44 4 name bolt nut bolt nut bolt bolt product price 10 5 10 5 10 10 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 id p1 p2 amt 12 11 50 8 44 4 nam e price bolt 10 nut 5 どこにもこのような データは無い 80 何を Materialize すべきか 頻出する質問に対する結果を格納 day 2 day 1 p1 p2 c1 p1 12 p2 11 p1 p2 materialize c1 56 11 c1 44 c2 4 c2 total sales c3 ... c3 50 8 c2 4 8 c3 50 p1 c1 67 c2 12 c3 50 129 p1 p p2 c1 110 19 81 Materialize のための条件 質問の種類/頻度 応答時間 記憶域のコスト 更新のコスト/頻度 / 82 ROLAP サ サーバ バ sale Relational OLAP サーバ prodId p1 p2 p1 date 1 1 2 sum 62 19 48 ツール サービス機能 サ ビス機能 ROLAP サーバ バ 専用索引, チューニング 非正規化されたスキーマ 非正規化されたスキ マ 関係データベース 関係デ タベ ス システム 83 MOLAP サ サーバ バ Multi-Dimensional OLAP サーバ Sales B A 多次元ツール Product milk soda eggs soap 1 サ ビス機能 サービス機能 多次元処 理サーバ 2 3 4 Date 関係DBMS でも実現可能 84 Iceberg Cube 集約条件を満たすセルだけを処理したい HAVING COUNT(*) COUNT( ) >= minsup 背景 通常対象となるデータセルはごく一部 興味ある部分だけを探索対象としたい 100 次元の base cell 1 つしかないデータに対して、count >= 1 以 上の集約データはいくつあるか? Data Mining: Concepts and Techniques 85 OLAP デ データの索引つけ: タの索引つけ: Bitmap Index 特定の列の索引つけ 各値にビットベクトルを対応 ベクトル長: base table のレコード数 i-th bit = “1” ⇔ i-th 行データが索引データを含む 行デ タが索 デ タを含む 領域データが大きいと効率低下 Base table Cust C1 C2 C3 C4 C5 Region Asia Europe Asia America Europe 索引(Region) 索引(Type) Type RecID Asia Europe Am erica RecID Retail Dealer Retail 1 1 0 1 1 0 0 Dealer 2 0 1 0 2 0 1 Dealer 3 1 0 0 3 0 1 Retail 4 0 0 1 4 1 0 0 1 0 5 0 1 Dealer 5 Data Mining: Concepts and Techniques 86 OLAP データの索引つけ: Join Index Join index: JI(R-id, S-id) where R (R-id, …) S (S-id, …) 索引により、キー値とレコードid の対応つけ 関係 数 JOIN 結果を JI ファイルに予め作成 関係代数 め作成 join index により 次元値 と fact table行を対応. fact table: Sales on city X product city 上の JOIN INDEX で Sales レコード id と対応 多次元索引でもよい Data Mining: Concepts and Techniques 87 OLAP 質問処理 どの操作が妥当か? drill, roll などを SQL / OLAP 命令に変換 dice = selection + projection OLAP 操作に必要な格納キューブが利用できるか? 項目 {brand, p province_or_state} 上で “year y = 2004” を満たすものを検索 ここで 格納されたcuboids が4種あり、どれを使うべきか? 1)) {year, {y , item_name, _ , city} y} 2) {year, brand, country} 3) {year, {y a , brand, b a d, province po _o or_state} a } 4) {item_name, province_or_state} where year = 2004 索引構造を調べ、密構造・疎配列で判断 索引構造を調 、密構造 疎配列で判断 Data Mining: Concepts and Techniques 88 Essbase (Hyperion) multidimensional database platform analytic applications Essbase (Extended Spread Sheet dataBASE) a p product of Arbor Software merged with Hyperion Software in 1998 Oracle Corporation acquired Hyperion Solutions Corporation in 2007 "Oracle Oracle Essbase Essbase“ in 2009 IBM “DB2 OLAP Server” until late 2005 デ タウ ア ウスとOLAP データウエアハウスとOLAP データウエアハウスとは? 多次元データモデル データウエアハウスの構成 データウエアハウスシステム データウエアハウスとデータマイニング Data Mining: Concepts and Techniques 91 Data ata Warehouse a e ouse 利用 DWの応用分野 情報処理 nformation processing 質問、統計分析、レポ 質問 統計分析 レポート作成 ト作成。統計表(クロス集計), 統計表(クロス集計) チャ チャート・グ ト グ ラフ作成 分析処理 Analytical 分析処 y p processing g 多次元データ分析 OLAP 処 処理,, slice-dice,, drilling, g, pivoting p g データマイニング Data mining 隠れたパターンからの知識獲得 識獲 同時関係 ・解析モデル構築。分類予測・クラスタリング・視覚化 Data Mining: Concepts and Techniques 92 On-Line Analytical Processing (OLAP) と O Line On Li Analytical A l ti l Mining Mi i (OLAM) OLAM の必要性 DWデータは高品質:統合された無矛盾なデータ DW環境 ODBC, OLEDB, Web accessing, 関連サービス機能, レポート作成機能 レポ ト作成機能, OLAP tools OLAP-based データ分析 操作:drilling, 操作:drilling dicing, dicing pivoting, pivoting etc. etc DM機能に必要なオンラインデータ選択 Data Mining: Concepts and Techniques 93 An OLAM System Architecture データマイニング質問 結果 利用者インター フェイス イ User GUI API OLAM Engine Layer4 OLAP Engine Layer3 OLAP/OLAM Data Cube API Layer2 MDDB MDDB Meta Data Filtering&Integration Database API Filtering Layer1 D t cleaning Data l i Databases Data D t Data integration Warehouse Data Mining: Concepts and Techniques データ倉庫 94 要約: Data Warehouse と OLAP 技術 DWの必要性 多次元モデル Star スキーマ, snowflake スキーマ, fact constellations data cube :fact table + 次元/measures OLAP 操作: drilling, rolling, slicing, dicing, pivoting Data warehouse システムの構成 OLAP システム: ROLAP, MOLAP, HOLAP data cubes 操作の効率化 格納(materialization) Partial vs. full vs. none OALP dataの索引: Bitmap index, Join index OLAP 質問処理 OLAP と OLAM (on-line ( li analytical l ti l mining) i i ) Data Mining: Concepts and Techniques 95 References (I) S. Agarwal, R. Agrawal, P. M. Deshpande, A. Gupta, J. F. Naughton, R. Ramakrishnan, and S. Sarawagi. On the computation of multidimensional aggregates. VLDB’96 D. Agrawal, A. E. Abbadi, A. Singh, and T. Yurek. Efficient view maintenance in data warehouses. SIGMOD’97 R. Agrawal, A. Gupta, and S. Sarawagi. Modeling multidimensional databases. ICDE’97 S. Chaudhuri and U. Dayal. An overview of data warehousing and OLAP technology. ACM SIGMOD Record, 26:65-74, 1997 E. F. Codd, S. B. Codd, and C. T. Salley. Beyond decision support. Computer World, 27, July 1993. J. Gray, y, et al. Data cube: A relational aggregation gg g operator p generalizing g g group-by, g p y, cross-tab and sub-totals. Data Mining and Knowledge Discovery, 1:29-54, 1997. A. Gupta and I. S. Mumick. Materialized Views: Techniques, Implementations, and Applications. MIT Press, 1999. J. Han. Towards on-line analytical mining in large databases. ACM SIGMOD Record, 27:97-107, 1998. V. Harinarayan, V Harinarayan A. A Rajaraman, Rajaraman and J. J D. D Ullman. Ullman Implementing data cubes efficiently. efficiently SIGMOD’96 Data Mining: Concepts and Techniques 96 References (II) C. Imhoff, N. Galemmo, and J. G. Geiger. Mastering Data Warehouse Design: Relational and Dimensional Techniques. John Wiley, 2003 W. H. Inmon. Building the Data Warehouse. John Wiley, 1996 R. Kimball and M. Ross. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling. 2ed. John Wiley, 2002 P. O'Neil and D. Quass. Improved query performance with variant indexes. SIGMOD'97 Microsoft. OLEDB for OLAP p programmer's g reference version 1.0. In http://www.microsoft.com/data/oledb/olap, 1998 A. Shoshani. OLAP and statistical databases: Similarities and differences. PODS’00. S. Sarawagi and M. S M Stonebraker. Stonebraker Efficient organization of large multidimensional arrays. arrays ICDE'94 OLAP council. MDAPI specification version 2.0. In http://www olapcouncil org/research/apily htm 1998 http://www.olapcouncil.org/research/apily.htm, E. Thomsen. OLAP Solutions: Building Multidimensional Information Systems. John Wiley, 1997 P Valduriez P. Valduriez. Join indices. indices ACM Trans. Trans Database Systems, Systems 12:218-246, 12:218 246 1987. 1987 J. Widom. Research problems in data warehousing. CIKM’95. Data Mining: Concepts and Techniques 97
© Copyright 2024 ExpyDoc