Microsoft PowerPoint - advanced-2-olap.ppt [互換モード]

Similar documents
PowerPoint プレゼンテーション

BI Whitepaper

標準化 補足資料

Microsoft PowerPoint pptx

PowerPoint プレゼンテーション

スライド 1

Microsoft PowerPoint - db03-5.ppt

データウェアハウス/OLAP分析について

Microsoft PowerPoint - basic-4-fd.ppt [互換モード]

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

FS_handbook.indd

データベースS

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

Chapter Two

はじめに コースの概要と目的 Oracle をより効率的に使用するための SQL のチューニング方法について説明します また 索引の有無 SQL の 記述方法がパフォーマンスにどのように影響するのかを実習を通して理解します 受講対象者 アプリケーション開発者 / データベース管理者の方 前提条件 S

Chapter Two

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

Oracle Database 10gのOLAP Option

Microsoft Office Excel2007(NO4中級後編 エクセルを実務で活用)

Microsoft Word - sample_adv-programming.docx

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

データマートで動作するリレーショナルデータベースとスプレッドシート データマイニング等の分析ツールからなるプラットフォームで構築された統合的なシステム展開により 業務情報や戦略情報の確実な伝達とリアルタイムな業務処理予測と問題追究 ナレッジの活用とコラボレーションによる業務実践といった 一連のマネジ

7-1- 基 RDB に関する基礎知識 1 独立行政法人情報処理推進機構

APEX Spreadsheet ATP HOL JA - Read-Only

Microsoft PowerPoint - system8.ppt

Microsoft Excelを使用したOracle機能の活用

ファイナンスのための数学基礎 第1回 オリエンテーション、ベクトル

Basic descriptive statistics

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

Microsoft Word - 教科書大1b第12週06.doc

データベース 【1:データベースシステムとは】

『赤すぐ』『妊すぐ』<出産・育児トレンド調査2003>

プレポスト【問題】

Excel2013 ピボットテーブル基礎

Microsoft PowerPoint - relationご案内資料.ppt [互換モード]

P01_表紙

Microsoft PowerPoint - 講義補助資料2017.pptx

cmpsys13w14-15_database.ppt

Microsoft PowerPoint - basic-2-er.ppt [互換モード]

Excel2013 シート・ブック間の編集と集計

第 5 章 結合 結合のパフォーマンスに影響を与える結合の種類と 表の結合順序について内部動作を交えて 説明します 1. 結合処理のチューニング概要 2. 結合の種類 3. 結合順序 4. 結合処理のチューニングポイント 5. 結合関連のヒント

H8.6 P

--

関係データベース

Excel2013 データベース1(テーブル機能と並べ替え)

Analysis Services の構築手順

Microsoft PowerPoint - GLMMexample_ver pptx

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

第 12 講データ管理 1 2 / 14 ページ 12-1 データベースソフトの概要 データベースとは集められた様々なデータをテーマや目的に沿って分類 整理したものです データベースソフトでは データベースを作成し その管理を行います 何種類ものファイルや帳簿で管理していたデータをコンピュータ上で互

Oracle BI Administration Tool を利用したリポジトリの作成

Oracle SQL Developer Data Modeler

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

スライド タイトルなし

MxLogonサーバサイドツールキット用UI

テーブルの 関 連 付 け では いよいよバラバラだった 表 を くっつけましょう 基 本 的 に 二 つのテー ブルに 同 じ 列 のデータを 入 れて この 二 つのテーブルを 関 連 付 けます(リン クします 参 照 します) この 例 では 店 舗 情 報 と 販 売 情 報 が 店 舗

Oracle9i

今さら聞けない!? Oracle入門 ~後編~

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

Sequel のすすめ 私が SQL を嫌いな理由 とみたまさひろ RubyHiroba Sequel のすすめ - 私が SQL を嫌いな理由 Powered by Rabbit 2.0.7

第21章 表計算

PowerPoint プレゼンテーション

,, create table drop table alter table

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

データベース機能 EXCEL には簡単なデータベース機能があり 表のデータから条件に合致するレコードを抽出することなどができる 本来がデータベースソフトウェアではないので 専用のソフトと比べるとその機能は劣るが 単なる表引きや計算ではできないことを可能にし 非常に便利な利用をすることができる 1 デ

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 )

情報科学概論 第6回

グラフ 集計表導入前 売り上げ管理アプリ その都度売上状況を Excel で集計してグラフを作成していた 集計に手間がかかってしまう 毎回 最新の情報に更新しなければならない 蓄積されているデータを出力して 手作業で集計していた 2

フォト・ボックス

KTest

変更された状態 同様に価格のセルを書式設定する場合は 金額のセルをすべて選択し 書式 のプルダウンメニューか ら 会計 を選択する すると が追加され 金額としての書式が設定される 金額に と が追加 会計 を設定 2.2. テーブルの設定 ここでは 書式設定された表をテーブルとして Excel に

1 2

untitled

INDEX

INDEX


1002goody_bk_作業用

外為オンライン FX 取引 操作説明書

SHOP99 99 SHOP サイトにデータベースを構築 phpmyadminの設定 1 ー 監修 Yours YoursCompany Company 監修 Yours

ISO 企業識別コード (BIC) に関する国際規格 年 6 月 30 日 ISO/TC68 国内委員会事務局 ISO/TC 68 国内委員会事務局 1

Exam : 日本語版 Title : Enterprise Storage Sales V3 Vendor : IBM Version : DEMO 1 / 5 Get Latest & Valid J Exam's Question and Answers from

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

テキスト中の表記について 画面中に表示される文字の表記ウィンドウ ボタン メニューなど 画面に表示される文字は [] で囲んで表記しています 画面上に表示される選択肢や 入力する文字については で囲んで表記しています ディレクトリの表記本テキストではファイルのパスを表す際 すべてデフォルトのインスト



好きですまえばし

cp-7. 配列

スライド 1

Microsoft Word - MTransㇹㇿㅼㅋ㇬㇤ㅛ+丕苬ㅦㅼㇶㅼ咂ㆂ;_ver1.7_original.docx

内容 第 1 章 - 貴社の情報を必要となる理由? 第 2 章 - サプライヤ安全管理ツールから送信される電子メール通知 電子メールが迷惑メールフォルダに入る場合の処理方法 第 3 章 - サプライヤ安全管理ツール (SVAT) へのアクセス 第 4 章 - サプライヤー更新フォームの記入 サプライ

Excel2013 ピボットテーブルを使った分析

PowerPoint プレゼンテーション

コンピュータリテラシ 第 6 回表計算 2 このスライド 例題 /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx



自治体 BI 指南書 第 2 巻 OLAP データ分析構造の作成 実装のポイント SQL Server 2008 Enterprise with SP1 2009/07/28

Microsoft Excelを使用したOracle機能の活用

PowerPoint Presentation

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

平成20年度成果報告書

Transcription:

データベース特論 Online Analytical Processing 講師 : 福田剛志 fukudat@fukudat.com http://www.fukudat.com/ データベース特論 1

概要 従来のデータベースシステムは, たくさんの単純で小さい問い合わせを, うまく処理するように作られていた. 新しいアプリケーションのなかには, 少数の複雑で時間のかかる問い合わせを使うものが現れた. そこで, 分析的 (analytical) 問い合わせをうまく実行できるような新しいアーキテクチャが開発された. データベース特論 2

データウェアハウス (data warehouse) データを統合するための方法 ひとつのデータベース ( ウェアハウス ) にデータをコピーし, できるだけ最新に保つ. 良くある方法 : 定期的 ( たとえば毎晩夜中に ) にウェアハウスを構築する. 分析的な問い合わせには必須となることが多い. データベース特論 3

オンライントランザクション処理 (online transaction processing or OLTP) ほとんどのデータベース操作は, オンライントランザクション処理 (OLTP) を含む. 少数のレコードが関わる, 短い, 単純で, 頻繁な問い合わせや更新処理 例 ) 銀行の振込み チケットの予約 株のオンライン取引 データベース特論 4

オンライン分析処理 (online analytical processing or OLAP) オンラインの分析的な処理が重要になってきた 少数だが何時間もかかる様な複雑な問い合わせ 必ずしも, 最新のデータが対象でなくても良い 場合によっては, データマイニングとも呼ばれる 例えば オンライン書店 (e.g., アマゾン ) は顧客の購買履歴を分析して, 顧客それぞれが興味を持つページを作るために利用している. スーパーマーケットは地域ごとに異なる顧客の趣向を調べて, 売り上げを伸ばそうとする. データベース特論 5

共通のアーキテクチャ 各支店のデータベースが OLTP 処理を行う. 支店のデータベースの内容を中央のウェアハウスに毎晩コピーする. 分析処理には中央のウェアハウスを用いる. データベース特論 6

スタースキーマ (star schema) ウェアハウスで良く用いられるスキーマ ( データの整理方法 ) 以下の 2 種類の表 (table) からなる ファクトテーブル (fact table) 大量の 事実 の集まり. 例えば, 販売情報 ( 何時, 誰が, 何を, 幾らで買った ) 追加されるだけ ( のことが多い ) 次元テーブル (dimension table) 事実に含まれている情報を修飾する, 小さな ( 通常静的な ) 情報 データベース特論 7

スタースキーマの例 ウェアハウスでお酒の販売情報 ( 店, 酒の銘柄, 酒を購入した客, 日時, 値段 ) を管理したい ファクトテーブル 販売 ( 店名, 酒名, 客名, 日時, 値段 ) 次元テーブル 店 ( 店名, 住所, 種類 ) 酒 ( 酒名, 製造元 ) 客 ( 客名, 住所, 性別 ) データベース特論 8

次元属性 (dimension attribute) と従属属性 (dependent attribute) ファクトテーブルの属性には 2 種類ある 次元属性 : 次元テーブルのキー 従属属性 : 次元属性の値によって値が決まる属性 例 : 酒の販売ウェアハウス 値段 属性は従属属性, その他の属性は次元属性 酒を購入した金額は, 店名, 酒名, 客名, 日時の組み合わせで決まる. データベース特論 9

ウェアハウスを作る 2 つの方法 ROLAP = 関係 (relational) OLAP 関係データベースを, スタースキーマがうまく扱えるようにする. MOLAP = 多次元 (multidimensional) OLAP データキューブ をモデル化することに特化したデータベースを用いる. データベース特論 10

ROLAP の技法 ビットマップインデックス (bitmap index) 次元テーブルのキー (e.g., 酒テーブルの 名前 属性 ) のとりうる値それぞれについて, ファクトテーブルのどのタプルがその値をとるかをビットベクトルで表現する. マテリアライズドビュー (materialized view) ウェアハウス内に, いろいろな問い合わせに役立ちそうな途中結果を計算し, ビューとしてとっておく. データベース特論 11

典型的な OLAP の問い合わせ (1/2) OLAP の問い合わせは普通, スタージョイン (star join) で始まる ファクトテーブルと次元テーブルのナチュラルジョイン (natural join) 例えば SELECT * FROM 販売, 店, 酒, 客 WHERE 販売. 店名 = 店. 店名 AND 販売. 酒名 = 酒. 酒名 AND 販売. 客名 = 客. 客名 データベース特論 12

典型的な OLAP の問い合わせ (2/2) スタージョインで始まり 注目しているタプルを次元データを用いて選択し いくつかの次元でグルーピングして ある属性について集計する 例えば, 早稲田界隈でキリンの製造するお酒の売上げを, 店舗ごと, 銘柄ごとに集計したい SELECT 店名, 酒名, SUM( 値段 ) FROM 販売 NATURAL JOIN 酒 NATURAL JOIN 店 WHERE 住所 = 早稲田 AND 製造元 = キリン GROUP BY 店名, 酒名 データベース特論 13

マテリアライズドビュー (materialized view) 毎回, ファクトテーブルと次元テーブルを使ってはじめから計算し直すと, 時間がかかりすぎてしまう. もし十分な情報を持つビューを事前に計算しておけば, ずっと速く計算できるかもしれない. では, どんなビューがあれば例題の問い合わせに役立つだろうか? 少なくとも 販売 酒 客 テーブルを含むジョイン 少なくとも 店名 酒名 を含む属性リストでのグルーピング 早稲田にある店やキリンが製造した酒を捨てない 住所 製造元 店名 酒名 属性を捨てない データベース特論 14

役に立つビューの例 : マテリアライズドビューの例 CREATE VIEW 販店酒 ( 店名, 住所, 酒名, 製造元, 売上 ) AS SELECT 店名, 住所, 酒名, 製造元, SUM( 値段 ) AS 売上 FROM 販売 NATURAL JOIN 店 NATURAL JOIN 酒 GROUP BY 店名, 住所, 酒名, 製造元 関数依存性 ( 店名 住所, 酒名 製造元 ) があるので, これらは本当のグルーピングではない. このビューを使って例題に答えると : SELECT 店名, 酒名, SUM( 売上 ) FROM 販店酒 WHERE 住所 = 早稲田 AND 製造元 = キリン GROUP BY 店名, 酒名 データベース特論 15

MOLAP とデータキューブ (data cube) 次元テーブルのキーはハイパーキューブ (hypercube) の次元 例えば, 販売テーブルは 4 次元 ( 店名, 酒名, 客名, 日時 ) 依存属性 (e.g., 値段 ) はキューブの格子点に現れる. 店 1, 酒 3, 客 2 店 2, 酒 3, 客 2 店 3, 酒 3, 客 2 客 次元 店 1, 酒 2, 客 2 店 2, 酒 2, 客 2 店 3, 酒 2, 客 2 店 3, 3, 酒 3, 3客 1 店 2, 2, 酒 3, 3客 1 店 2, 酒 1, 客 2 店 1, 1, 酒 3, 3客 1 店 1, 酒 1, 客 2 店 3, 酒 1, 客 2 酒 次元 店 1, 1, 酒 2, 2客 1 店 2, 2, 酒 2, 2客 1 店 1, 1, 店酒 11, 1客 1 店 3, 3, 酒 2, 2客 1 店 2, 2 店酒, 21, 1客 1 店 次元 日時 次元店 3, 3 店酒, 31, 1客 1 データベース特論 16

周辺 (marginals) データキューブは集計 (aggregation) を周辺に持つ 1 次元の周辺,2 次元の周辺... 例えば, 1 次元 : 店ごとの売上高, 酒ごとの売上高, 客ごとの売上高 2 次元 : ( 店と酒 ) のペアごとの売上高,...... データベース特論 17

データキューブの構造 特別な値 * を各次元に導入する * に相当する格子点は, その属性の集計値をとるものとする 例えば, 売上 ( 魚民, 八海山, *, *) は店 魚民 における. 酒 八海山 の, すべての客とすべての日時にわたる売上の合計を表す. データベース特論 18

ドリルダウン (drill-down) とロールアップ (roll-up) ドリルダウン = 逆集計 集計された結果を, ある次元に対して分解して細かく見ていく操作 例えば, 魚民 の売上高が与えられたとき, お酒の銘柄ごとの売上高に分けて詳細化する ロールアップ = 集計 ある次元に沿って集計する操作 例えば, 八海山 の各店舗の客ごとの売上高を集計して, 八海山 の店ごとの売上高を求める データベース特論 19

データキューブのマテリアライズドビュー データキューブに対する問い合わせには, 次元に沿って集計したマテリアライズドビューが役に立つ. 完全に集計してしまわずに, 次元テーブルの値によってグルーピングして集計してもよい. 例えば, 客については完全に集計してしまう 酒についてはまったく集計しない 日時については, 週単位にグルーピングして集計する 店については, 街ごとにグルーピングして集計する データベース特論 20