Advanced Data Warehousing: Caching und Chunking



Ähnliche Dokumente
Internet online Update (Mozilla Firefox)

Datenexport aus JS - Software

Aufgabe 1: [Logische Modellierung]

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

GSD-Radionik iradionics Android-App

Die Tabellenvorlage im Katalog für Tabellen speichern... 2 Weiteres zu Schnellbausteinkatalogen EDV + Didaktik - Dr. Viola Vockrodt-Scholz

Webalizer HOWTO. Stand:

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Haben Sie über elektronisches Schließfachmanagement nachgedacht? Ein Schließfach ist ohne ein solides Schloss nicht komplett.

7.3 Einrichtung 13. Monatslohn. Auszahlung Ende Jahr / Ende der Beschäftigung

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

ecaros2 - Accountmanager

StudyDeal Accounts auf

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Ein mobiler Electronic Program Guide

Erfahrungen mit Hartz IV- Empfängern

Lizenzierung von StarMoney 10 bzw. StarMoney Business 7 durchführen

Grundlagen der Theoretischen Informatik, SoSe 2008

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

> Internet Explorer 7

Der/die KursleiterIn kann sowohl die Einträge als auch die geposteten Kommentare in allen drei Blog- Typen bearbeiten, kommentieren und löschen.

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Lehrer: Einschreibemethoden

Informationen zum neuen Studmail häufige Fragen

Word 2010 Schnellbausteine

Seminar C16 - Datenmodellierung für SAP BW

Gezielt über Folien hinweg springen

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Software Survivability

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Primzahlen und RSA-Verschlüsselung

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

A-CERT ADVANCED pdf-signaturprüfung einrichten 2008

Updatehinweise für die Version forma 5.5.5

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

GITS Steckbriefe Tutorial

Adobe Encore Einfaches Erstellen einer DVD

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

Statuten in leichter Sprache

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Neue Zugangsdaten für sg-online erstellen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Pivotieren. Themenblock: Anfragen auf dem Cube. Roll-up und Drill-down. Slicing und Dicing. Praktikum: Data Warehousing und Data Mining. Produkt.

4 Ideen zur Verbesserung des -Marketings!

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Sehr geehrter Herr Pfarrer, sehr geehrte pastorale Mitarbeiterin, sehr geehrter pastoraler Mitarbeiter!

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

teamsync Kurzanleitung

Workshop. Zeitmanagement Hamburg, 24. November 2004

Algorithmische Mathematik

Emnid-Umfrage zur Bürger-Energiewende

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

ECO-Manager - Funktionsbeschreibung

Waimea Phone Monitor. Handbuch. Anzeige von eingehenden Anrufen auf Telefonanlagen mit TAPI-Interface

Internet online Update (Internet Explorer)

Apache HBase. A BigTable Column Store on top of Hadoop

Einführung in die technische Informatik

SHG INVEST DAS SOLLTEN SIE UNBEDINGT. lesen, bevor Sie selbst verkaufen...

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Nützliche Tipps für Einsteiger

Der Gabelstapler: Wie? Was? Wer? Wo?

Etikettendruck mit Works 7.0

SF-RB Die optimale und Preisgünstige CRM, Mid & Backofficelösung für Ihr Reisebüro. Unser Standort ist Ihr Preisvorteil!

BEDIENUNG ABADISCOVER

Laborübung - Verwalten von virtuellem Speicher in Windows 7

SMS/ MMS Multimedia Center

Gruppenrichtlinien und Softwareverteilung

Kurzanleitung für Verkäufer

Nutzung dieser Internetseite

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Ephorus Handbuch für Dozenten und Lehrer

2015/03/12 18:37 1/6 Routingprofile

MARCANT - File Delivery System

So geht s Schritt-für-Schritt-Anleitung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Dokumentation zur Versendung der Statistik Daten

Anleitung Selbststudium

P-touch Transfer Manager verwenden

Menü auf zwei Module verteilt (Joomla 3.4.0)

Installation der Eicon Diva PCI Karte unter Windows XP

Schließsysteme mit Sorglos-Service, einfach, intelligent. Die Evolution der Schließsysteme

Bilder Schärfen und Rauschen entfernen

Internationales Altkatholisches Laienforum

Dazu stellen Sie den Cursor in die Zeile, aus der eine Überschrift werden soll, und klicken auf die gewünschte Überschrift.

Die richtigen Partner finden, Ressourcen finden und zusammenführen

Professionelle Seminare im Bereich MS-Office

COMPUTERIA VOM SERIENBRIEFE UND ETIKETTENDRUCK

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Erstellen und Bearbeiten von Inhalten (Assets)

Voraussetzung für die Nutzung dieses Netzes ist eine Rechnerkennung an der Uni Koblenz.

Transkript:

Advanced Data Warehousing: Caching und Chunking 2.Feb.2004 Christian Becker cbecker@informatik.hu-berlin.de

Übersicht Motivation Caching dynamisch statisch Watchman und der LNC-Algorithmus Chunking Zusammenfassung

Caching: Motivation Antwortzeiten von Datenbanken verbessern: Hauptspeicher schneller als sekundärer Speicher Daten sind grösser als Hauptspeicher schnellere Rechner, mehr schneller Speicher Time == Money oft benutzte Teile zwischenspeichern, Algorithmen: gesuchte Daten im sekundären Speicher finden ist langsam: Indexstrukturen oft wiederholte Daten im Hauptspeicher lange zwischenspeichern

Caching: Arten des Caching Arten des Caching: a) statisches Caching Festlegung im Vornherein materialisierte Sichten denormalisierte Schemata b) dynamisches Caching muss sich auf aktuelle Anfragen anpassen Fragen: Algorithmen und Granularität: Tupel -> Tabellen -> Queries -> Chunks

Caching: Fragen des Caching Wie cache ich etwas? (statisch vs. dynamisch) Unterstützung durch Tools, Erfahrung Wann cache ich etwas? Cache-Admission: selten üblich (technische Gründe) Wann schmeisse ich etwas aus dem Cache? Cache Replace: viele, LRU ist üblich... aber... Wie nutze ich den begrenzten Cache optimal? misses minimal und billig machen Rucksack-Problem Ziel: Trefferquote erhöhen Metrik zur Realitätsmodellierung finden!

Caching: Watchman und LNC Intelligenter Cache Manager für DWHousing cached auf Query-Ebene Problem: Query Reuse nicht unproblematisch nutzt Admission und Replace-Algorithmus Novum: L(east) N(ormalized) C(ost)-R/A Trefferquote und Kosten sind wichtig Trefferquote durch Statistik über vergangene Nutzung erhöhen Kosten durch spätes Ersetzen von kostspielige Queries sparen (Beispiel... join vs. project)

Caching: Metrik Statistische Werte für jedes set RS i : i - durchschnittliche Referenzrate: Durchschnitt der mittlere Referenzrate K über die Zeit i = K / (t-t K ) s i - Größe des Query-sets ist trivial c i - Kosten der Ausführung für die Query via Query-Optimizer oder DB-Statistik Metrik: profit(rs i )=( i *c i )/s i

Caching: LNC-R LNC-R soll unprofitable Queries zuerst entfernen um Cache-Nutzung zu optimieren: 1.Query wird eingefügt, ist grösser als freier Platz 2.LNC-R sortiert nach profit selektiert sets mit geringstem profit preferiert beim Löschen: größere mit gleichem profit weniger referierte vor mehr referierten

Caching: LNC-A LNC-A soll für Cache unprofitable Queries aussortieren: 1.Query kann eingefügt werden 2.LNC-R bestimmt Replacement-Kandidatenliste C 3.LNC-A lässt zu, wenn: profit(rs neu )>profit(c) ODER (Neuzugänge) e-profit(rs neu )>e-profit(c) mit e-profit=c i /s i Heuristik

Caching: LNC-A (2) Löschung eines sets beinhaltet Daten (K und i ) neue sets sind automatische Löschkandidaten Lösung: Aufbewahren der Referenzierungsdaten: 5 Minute-Regel unpassend bei Kostenmodell Cachegröße beschränkt Löschung dann, wenn der Profit des aufbewahrten Satzes der kleinste aller aktuell im Cache befindlichen ist.

Caching: Watchman Implementation Watchman in der Realität ist eine Bibliothek cached primär auf Query-Identität auf Äquivalenz anpassbar... NP vollständiges Problem verlässt sich bei Updates auf das DWH kann mit dem Buffermanager zur Redundanzvermeidung interagieren gibt es funktionierende DBMS mit Query Caching?!

Caching: Watchman Tests Tests und Umgebung: TPC/D, 30Mbyte (statt 1 Gbyte) und Set Query, 100Mbyte (statt 200 Mbyte) Oracle 7 auf HP9000/700 Kriterien: Hit-Ratio (HR), Profit (darauf basierend) Test auf Grössen von K (1-4): Verbesserung des gesamten Profits/der HR Test auf Buffer-Manager-Interaktion Test auf Cachespeichernutzung: LNC-RA: 98,5%; >96% LCN-R/LRU: 94,8%; >88%

OLAP: Dimensionen denormalisierte Schemata: Star, Snowflake (hierarchische) Dimensionen eines Würfels Fakten Jahr Quartal Monat Tag Land Region Stadt Stadtviertel Industrie Kategorie Produkt

Chunking: Prinzip Operationen: aggregation, drill down, (screening), slicing gleiche Daten immer wieder und/oder hierarchische Bewegung durch die Daten Zerlegen des Würfels in Subwürfel, die gecached werden können: Zerlegung nach Ordnung: semantisch Zerlegung in Bereiche: uniform inspiriert durch MOLAP (Arrays entsprechend Raumes gespeichert) Ort Zeit Produkt

Chunking: Funktionsweise und Vorteile feste Granularität! gute Nutzung des Cache-Speichers einfaches Query-Reusing: Q3 kann Teile aus Q1und Q2 nutzen uniforme semantische Regionen closure property: Eigenschaften bleiben Aggregationen einfach möglich Q3 Q1 aus drei Ort -Chunks kann ein Zeit -Chunk berechnet werden keine Redundanz Q2 Ort Zeit Produkt

Chunking: Erstellen der Chunks uniforme und semantische Chunks brauchen: diskrete Aufteilung der Bereiche Ordnung innerhalb der Hierarchie: Erstellung Domain Index saubere Abbildung der niedrigeren Hierarchielevels auf höhere Level L2 kann und soll aus L3 zusammengesetzt werden L1 Nonfood Food L2 Spielzeug Küchenzubehör Gemüse Obst L3 Karten Rennauto Roboter Siedler Löffel Pfanne Topf Kartoffeln Apfel Birne

Chunking: Erstellen der Chunks (2) Granularität bestimmen - Dimensionen Verwaltungsaufwand vs. Reuseability (Proportionalität!) Formel für Chunk-ID-Berechnung Chunknummer muss aus Dimensionskoordinaten berechenbar sein Ort Ort Zeit Produkt Zeit Produkt

Chunking: Queries ausführen Queries können auf Chunks im Cache zurückgreifen, wenn: sie ein Star-Join sind (recht grundlegend) sie auf höherer oder gleicher Hierarchieebene aggregieren ihre Projektionslisten ein Subset sind die Selektionen auf non-group BY-Attribute exakt übereinstimmen

Chunking: Queries ausführen 1. Bereich der Query wird festgestellt 2. nötige Chunks werden im Cache gesucht 3. nicht gefundene Chunks müssen berechnet werden 4. neue Chunks werden dem Cache beigefügt Replace-Algorithmus: Gewinn=Basistabellengrösse/Chunkanzahl auf dem Hierarchielevel (des gerade berechneten Chunks) initiales Gewicht=Gewinn wird bei jedem neuen Cache-Eintrag um dessen Gewinn gesenkt wird bei jedem Zugriff auf das ursprüngliche Gewinn gesetzt 5. Antwortset wird zusammengefügt

Chunking: Erweiterung Dateisystem Idee basiert auf Three-Tier-System: DW-Tools -> Multidimensional View -> RDBMS Dateisystem des RDBMS wird in Chunks organisiert: Chunk Index, Angabe von Chunks holt fehlende Chunks multidimensionales Clustering der Chunks zusammengehörige Daten liegen beieinander grosse Dimensionsanzahlen verhindern effizientes Clustern und Indizieren! (siehe MOLAP)

Chunking: Tests Tests und Umgebung: eigene Tests auf 4-dimensionalem Cube 1500 Queries, Hot Region (69%, 80%, 100%), Proximity modifiziertes PARADISE auf HP9000/700 Kriterien: Profit (Watchman) Durchschnittszeit der letzten 100 Queries Test: veränderte Cachegrösse Verbesserung, rapide ab 10% des Cube (reuse) Test: Lokalität, Range-Ratio, Replacement-Algorithmus

Caching und Chunking: Fazit Cache Replace- und Cache-Admission-Algorithmen verbessern Effizienz werf ich etwas zu früh/spät aus dem Cache, verursache ich Extrakosten Ansatz unabhängig von Cache-Level (gut!) semantische Caches haben interessante Ansätze Chunking unterstützt DWHousing enorm chunked Dateisysteme: können das unterstützen zu welchen Kosten? funktioniert MOLAP?

Fragen?

Literatur: WATCHMAN: A Data Warehouse Intelligent Cache Manager Peter Scheuermann, Junho Shim, Radek Vingralek; The VLDB Journal 1996 Caching Multidimensional Queries Using Chunks Prasad Deshpande, Karthikeyan Ramasamy, Amit Shukla, Jeffrey F. Naughton; 1998 Fundamentals of Data Warehouses Matthias Jarke, Maurizio Lenzerini, Yannis Vassiliou, Panos Vassiliadis; 2003 Springer-Verlag