Partitionieren Sie Ihr Data Warehouse!

Größe: px
Ab Seite anzeigen:

Download "Partitionieren Sie Ihr Data Warehouse!"

Transkript

1 Partitionieren Sie Ihr Data Warehouse! Beat Flühmann Trivadis AG Zürich (Schweiz) Schlüsselworte: BI, DWH, Partitionierung, phys. Modellierung Einleitung Die Technik der Partitionierung ist schon seit Oracle8 bekannt. Nach RANGE-, HASH- und LIST-(Sub-)Partitioning sind in Oracle11g auch die REFERENCE-Partitioning sowie weitere Kombinationen von Composite-Partitioning hinzugekommen. Mit diesen Möglichkeiten lassen sich auch grosse Datenmengen einfacher strukturieren, verwalten und vor allem schneller lesen! Im Bereich Business Intelligence/Data Warehouse (BI/DWH) wird Partitionierung zwar schon vielfach angewendet, aber öfters wäre mit kleinem Zusatzaufwand eine Resourcenschonendere Implementation möglich. Wie partitionieren? Partitionierung ist physische Modellierungsoption Die Partitionierung ist eine klassische physische Modellierungsoption, welche für den Endbenutzer transparent und im Normalfall nur durch bessere Performance sichtbar wird. Statt wie bis anhin, besteht eine Tabelle 1 nicht nur aus einem einzigen Segment, sondern aus einem Set von Segmenten, welche je eine Partition der Tabelle bilden. Der Benutzer greift weiterhin auf dieselbe Tabelle zu, während der Optimizer im Hintergrund dann den Zugriff auf die benötigten Partitionen umlenkt. Partitionierungsmethoden Beim Erstellen einer partitionierten Tabelle wird angegeben nach welchem Attribut (= Partitionierungsschlüssel) partitioniert wird. Der Partitionierungsschlüssel kann aus einem oder mehreren (Multicolumn Partitioning) Attributen bestehen 1 Auch wenn hier meist nur Tabellen erwähnt werden: es können auch Materialized Views oder Indexes partitioniert werden

2 welche Art der Begrenzung gewählt wird o RANGE Aufteilung nach Wertebereichen, z.b. Jahr o LIST Aufteilung nach einer Liste von fixen Werten (z.b. Ländercodes) o HASH Gleichmässige Verteilung der Daten (z.b. für Parallelisierung) o REFERENCE Aufteilung analog zur referenzierten Tabelle (via Foreign Key) ob nur einstufig partitioniert wird, oder ob in einer zweiten Stufe subpartitioniert wird (Composite Partitioning) Ab Oracle 11g sind alle sinnvollen Kombinationen des Composite Partitioning möglich: Beispiel: SUBPARTITION - (none) CREATE TABLE fact( country VARCHAR2(3) NOT NULL, product_id NUMBER(6) NOT NULL, salesdate DATE NOT NULL, amount NUMBER(8,2) NOT NULL) PARTITION BY RANGE (salesdate) SUBPARTITION BY LIST (country) SUBPARTITION TEMPLATE ( SUBPARTITION west VALUES ('F', 'E'), SUBPARTITION east VALUES ('A'), SUBPARTITION cent VALUES ('D', 'CH')) > Subpartition BY LIST ( PARTITION p_2005 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY')), PARTITION p_2006 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY')), PARTITION p_2007 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY')), PARTITION p_2008 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY')), PARTITION p_2009 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY'))); CREATE BITMAP INDEX bix_fact_product_id ON fact(product_id) LOCAL; Die Partitionierungsmethode ist hier RANGE gemäss Schlüssel SALESDATE und auf Subpartitionsebene LIST mit Schlüssel COUNTRY. Weiter könnte für jede (Sub-)Partition die Storage Clause wie z. B. TABLESPACE oder COMPRESS (siehe unten) einzeln angegeben werden. Partitionsoperationen PARTITION RANGE LIST HASH REFERENCE RANGE LIST HASH RANGE - - LIST - - HASH - - REFERENCE Operationen auf ganzen Partitionen (ADD, SPLIT, MERGE, DROP, TRUNCATE) ermöglichen es Tabellen so zu strukturieren, dass Teile davon weiterhin in handhabbaren Grössen manipulierbar sind.

3 Nachdem eine Tabelle mit Partitionen 2 angelegt wurde können Partitionen hinzugefügt (ADD), existierende aufgeteilt (SPLIT) oder zusammengefügt (MERGE) oder einzeln gelöscht (DROP) werden. ALTER TABLE fact ADD PARTITION p_2010 VALUES LESS THAN (TO_DATE(' ', 'DD-MM-YYYY'))); In einer solch neu hinzugefügten Partition sind definitionsgemäss noch keinerlei Daten vorhanden, weshalb diese Operation in Millisekunden beendet ist, da dabei nur das Data Dictionary nachgeführt wird. Ebenso schnell wird ein DROP ausgeführt, jedoch ist hier zu berücksichtigen, dass Globale Indizes auf INVALID gesetzt werden (siehe weiter unten), und allenfalls neu gebildet werden müssen. Bei SPLIT und MERGE werden Daten physisch reorganisiert und darauf basierende Indizes aktualisiert. Deshalb können diese Operationen in Abhängigkeit der Datenmenge auch länger dauern. Warum partitionieren? Wie erwähnt ist die Partitionierung eine physische Datenmodellierungsoption. Bei sinnvoller Anwendung kann dadurch die Performance einer DML-Operation beschleunigt werden, ohne dass ein Benutzer seine Befehle ändern muss. Partition Elimination (Pruning) Sofern in der WHERE-Bedingung der Partitionierungsschlüssel eingegrenzt wird, kann alleine aus den Metadaten (Partitionsgrenzen) die effektiv benötigten Partitionen ermittelt werden, bevor auch nur ein einziger Datensatz gelesen wurde. Damit alleine kann ein erheblicher Performancegewinn erreicht werden, da deutlich weniger I/O notwendig wird. Im Execution Plan wird das Partition Pruning in den Spalten P(artition)start und P(artition)stop sichtbar. SELECT * FROM fact WHERE salesdate >= TO_DATE('1-JAN-2007','DD-MON-YYYY') AND salesdate < TO_DATE('1-JAN-2009','DD-MON-YYYY') AND country = 'A' Id Operation Name Pstart Pstop SELECT STATEMENT 1 PARTITION RANGE ITERATOR PARTITION LIST SINGLE 2 2 * 3 TABLE ACCESS FULL FACT Die beiden Subpartitionen P_2007_EAST und P_2008_EAST werden mit einem Full Subpartition Scan gelesen. 2 Eine Umwandlung einer nicht partitionierten in eine partitionierte Tabelle ist weiterhin mit Aufwand verbunden

4 Partition-Wise Joins Bei einem Partition-Wise Join wird der Join aufgeteilt in mehrere kleinere Joins auf einzelnen Partitionen. Full partition-wise Joins Beide Tabellen werden nach dem gleichem Partition Key partitioniert und der Partition Key entspricht dem Join-Attribut. Die Ausführung kann seriell oder parallel vonstatten gehen. Partial partition-wise Joins Nur eine Tabelle ist partitioniert. Deshalb kommt auch nur die parallele Ausführung zum Tragen. Partitionierung im DWH Die Ausführungen bis anhin haben grundsätzlich Gültigkeit sowohl in OLTP- wie auch in DWH-Systemen. Gerade in DWHs, wo oft mit Millionen von Datensätzen und dementsprechend grossen Datenmengen gearbeitet wird, ist es aber von zentraler Bedeutung, dass Partitionierung richtig eingesetzt wird. Fakten-Tabellen In einem DWH sind vor allem Leseoperationen aus den Faktentabellen die grossen I/O- Konsumenten. Da sind durch sinnvolle Anwendung der Partitionierung vielfach grosse Performancegewinne zu erzielen. Partitionierungsschlüssel passt zu den häufigen Abfragen Entgegen dem öfters gesehenen Ansatz, Faktentabellen nach dem Lade-Schlüssel zu partitionieren (LOAD_ID), sollte der Partition Key direkten Bezug zu den (häufigsten) Abfragen haben. Eine Bestellungstabelle sollte deshalb mit dem Schlüssel Buchungsdatum partitioniert werden (= Eingrenzungsmerkmal) und nicht nach dem Ladedatum! Auch wenn es für das Undo eines Ladeprozesses einfacher wäre, wenn mit TRUNCATE PARTITION einfach eine ganze Partition zurückgefahren werden könnte, steht das in keinem Verhältnis zum x-fachen Lesen derselben Tabelle für Auswertungen. Als Lösung käme folgende Variante in Frage: Vielfach ist das Ladedatum direkt korreliert zum abgefragten Buchungsdatum, d.h. das Ladedatum ist zu mehr als 99% dasselbe, wie das Buchungsdatum plus 1 Tag. Vergessene Buchungen kommen in seltenen Fällen vor und können Tage oder sogar Wochen zurückliegen, sind aber von der Anzahl her vernachlässigbar. Eine Ladetabelle wird aufgebaut, welche gleich partitioniert ist, wie die Zieltabelle, welche ihrerseits mit der Ladefrequenz (täglich) partitioniert ist. Nachdem der Ladeprozess als Ganzes okay ist, wird diejenige Partition, mit 99% der Daten, mit Partition Exchange mit der Zieltabelle ausgetauscht. Anschliessend werden die verbleibenden 1% mit einem INSERT AS SELECT geladen.

5 Nur LOCAL Indexes auf partitionierten Tabellen Der einzige Grund in DWH-Systemen, weshalb globale Indizes erstellt werden, ist, um Eindeutigkeit (Primary Key oder Unique Constraints) zu überprüfen. Dies kann aber auch durch geeignete Implementation des ETL-Prozesses realisiert werden. Für die Partitioning-Maintenance mit DROP oder TRUNCATE, wären globale Indexes äusserst hinderlich, da dadurch der gesamte Index INVALID wird. Typischerweise werden auf den Fakten keine Primary oder Unique Key Constraints erstellt. Partition Exchange Eine elegante Variante, um die Daten einer ganzen Partition einer Tabelle hinzuzufügen, existiert mit Partition Exchange. Diese ist ein klassisches DWH-Feature, da der Austausch selber nur eine Metadatenoperation ist und sehr schnell erledigt wird. 1) Aufbau einer unpartitionierten Tabelle (A) mit exakt gleicher Struktur einer partitionierten Tabelle (B) (inkl. Indexes, etc.) CREATE TABLE fact_tmp( country VARCHAR2(3) NOT NULL, product_id NUMBER(6) NOT NULL, salesdate DATE NOT NULL, amount NUMBER(8,2) NOT NULL); 2) Laden von der Datensätze in A (B ist davon nicht betroffen) INSERT INTO fact_tmp AS SELECT FROM CREATE BITMAP INDEX bix_fact_product_id ON fact(product_id); 3) Austausch der Metadaten (!) von A mit einer Partition von B ALTER TABLE fact EXCHANGE PARTITION p_2008 WITH TABLE fact_tmp INCLUDING INDEXES WITHOUT VALIDATION; Sollten Daten vor dem Exchange in p_2008 vorhanden gewesen sein, so sind sie nachher in fact_tmp sichtbar. Verwendung hat das Partition Exchange nicht nur beim Laden der Daten, sondern unter Umständen auch bei der Archivierung von Daten (Rolling History) oder bei Reorganisationen und Datenmigrationen. Statistiken auf partitionierten Tabellen Mit dem DBMS_STATS-Package können bekanntlich Statistiken berechnet werden. Für Tabellen ist der Mechanismus bekannt. Wie verhält sich aber Oracle mit partitionierten Tabellen? Der Parameter GRANULARITY bestimmt, auf welchem Level in partitionierten Tabellen die Statistiken berechnet werden. Fehlen dem Optimizer Statistiken auf Partitionen oder der Tabelle, so werden diese hochaggregiert! Sobald aber einmal globale Statistiken berechnet wurden, so wird dieser Mechanismus nicht mehr angewendet.

6 Dies führt zum Teil zur grotesken Situation, dass die geschätzte Anzahl Records auf Tabellenebene deutlich von der Summe der Records aller Partitionen abweichen kann. Deshalb sollte auf partitionierten Tabellen die Statistiken entweder auf unterster Stufe berechnet werden und auf globale Statistiken verzichtet werden - mit dem Nachteil, dass NUM_DISTINCT nicht nachgeführt sind, oder globale Statistiken periodisch (z.b. am Wochenende) aktualisieren. Bei Partition Exchange ist zu berücksichtigen, dass Statistiken auch ausgetauscht werden. Diese müssen daher entweder vorher auf der Temp-Tabelle (vorzugsweise, denn das DWH ist davon kaum betroffen), oder nachher auf der Partition berechnet werden. Datenarchivierung Da sich Fakten nicht mehr ändern, können am Monatsende die gespeicherten Fakten archiviert werden. Werden die dazu notwenigen Monatspartitionen mit der COMPRESS 3 Option reorganisiert, so lassen sich Platzreduktionen um Faktoren 4 erreichen. Der CPU-Mehraufwand bei der Dekomprimierung wird durch die Reduktion des I/O um ein mehrfaches kompensiert. Wenn zudem diese Partitionen auf separaten Tablespaces liegen, so spricht kaum etwas dagegen, diese Tablespaces anschliessend auf READONLY zu setzen, und so ein effizienteres Backup zu erreichen. Der Nachteil der Komprimierung liegt aber wie immer im Detail. Wenn später die Struktur der Tabelle geändert werden soll (z. B. zusätzliches Attribut), müssen die komprimierten Partitionen vorgängig zuerst dekomprimiert werden. Sollen die Daten nach einer bestimmten Zeit gar nicht mehr online gehalten werden, so können ganze Monate mit TRUNCATE PARTITION einfach auch ganz gelöscht werden. Dimensionen Normalerweise enthält eine Dimension wenige bis einige tausend Datensätze. Hier lohnt sich eine Partitionierung selten, da bei Datenblöcken von 16K, mindestens 5 Datenblöcken pro Segment und einen DB_FILE_MULTIBLOCK_READ_COUNT von typischerweise 64 diese Dimension sowieso immer ein Full Table Scan gemacht wird 5. Mit der Einführung der REFERENCE-Partitioning in Oracle11g kann es aber durchaus sinnvoll sein, auch Kleinstdimensionen zu partitionieren, da gemäss Definition die referenzierende (Fakten-)Tabelle nach dem selben Schlüssel partitioniert wird. Bei häufiger Eingrenzung auf diesem Attribut kann sofort auf der Faktentabelle vom Partition Pruning profitiert werden. 3 komprimierte Tabellen oder Partitionen mit aktualisierten Statistiken - können andere Execution Plans bewirken, mit tendenziell mehr Full Table/Partition Scans 4 Erfahrungswert an aktuellen Projekten: 3-8! 5 Aus demselben Grund sind Nonunique Indexes auf kleinen Dimensionen kaum sinnvoll

7 Beispiel: CREATE TABLE product ( product_id NUMBER NOT NULL, /* Surrogate Key */ product_code VARCHAR2(4) NOT NULL, /* Business Key */ product_group VARCHAR2(20) NOT NULL, /* Desc Attribut */ valid_from DATE NOT NULL, /* SCD II, Gültigkeitsanfang */ valid_to DATE NOT NULL, /* SCD II, Gültigkeitsende */ CONSTRAINT product_pk PRIMARY KEY (product_id)) PARTITION BY LIST (product_group) ( partition group_a VALUES ('A'), partition group_b VALUES ('B')); CREATE TABLE fact ( product_id NUMBER NOT NULL, salesdate DATE NOT NULL, amount NUMBER NOT NULL, CONSTRAINT fk_product FOREIGN KEY (product_id) REFERENCES product (product_id)) PARTITION BY REFERENCE (fk_product); Monster Dimension Leider weicht die Theorie öfters von der Praxis ab, wenn Dimensionen plötzlich Millionen von Datensätzen aufweisen. Dies kommt öfters vor, wenn eine volle Historie (Slowly Changing Dimension, SCD II) einer Dimension verlangt wird, die beschreibenden Attribute häufig wechseln und die Anzahl der Dimensionsausprägungen als Basis schon sehr hoch ist. Bei einem Produktestamm mit 500'000 Produkten und 20% Änderungen pro Monat 6 ergibt das in 5 Jahren 6.4 Mio Datensätze. Aber auch Dimensionen mit 50 Mio Datensätzen sind bekannt. Solche Dimensionen sind dann nicht mehr SCD, sondern tendieren zu Rapidly changing Monster Dimensions. Der Surrogate Key eignet sich kaum als Partitionierunsgschlüssel, der Business Key im seltenen Fall, wenn es sich zu 100% um einen sprechenden Schlüssel handelt, und auch beschreibende Attribute sind selten dafür geeignet. Von der Partitionierung nach Auditing-ID ist sowieso abzusehen. Allenfalls könnten noch Gruppierungsattribute (z.b. Kundenhauptsegmente) für eine (List-) Partitionierung benutzt werden, je nachdem wie oft danach bei den Abfragen eingeschränkt wird. Als Kandidaten für den Partitionierungsschlüssel verbleiben also meist nur die beiden Gültigkeitsattribute VALID_FROM und/oder VALID_TO. Ein RANGE Partitioning auf VALID_FROM bringt auch selten einen grossen Gewinn, da einzelne Datensätze seit weit aus der Vergangenheit weiterhin Gültigkeit haben, und deshalb bei einer Abfrage nicht ausgeschlossen werden dürfen. Als Variante bleibt da die RANGE-Partitioning nach VALID_TO. Aus Erfahrung in laufenden Projekten zeigt sich, dass ein Grossteil der Abfragen auf den Faktentabelle zeitnah sind, betreffen also den aktuellen Monat oder einige Vormonate. D.h. 6 ob in einem solchen Fall das dimensionale Modell ideal ist?

8 die Abfragen grenzen meist auf der Zeitachse die letzten paar Monate ein (z. B. Verkaufsdatum zwischen 1. August und 31. Oktober). Implizit ist darin enthalten, dass Dimensionssätze mit VALID_TO vor dem 1. August ausser acht gelassen werden können, da Fakten nur auf aktuell gültige Dimensionswerte referenzieren dürfen. Mit anderen Worten: Dimensionswerte vor dem Abfragezeitraum sind nicht von Bedeutung. Wenn nun Monster Dimensionen nach VALID_TO (monats-)partitioniert sind, so können dank Partition Pruning ein Grossteil der Dimension eliminiert und damit Ressourcen geschont werden. Ganz gratis ist dieser Gewinn nicht zu erhalten. Abfragen müssen erweitert werden, da dieses implizite Wissen der Datenbank nicht bekannt ist. SELECT FROM fact JOIN dim ON (fact.dim_id = dim.dim_id) WHERE fact.salesdate BETWEEN TO_DATE(' ', 'DD-MM-YYYY') AND TO_DATE(' ', 'DD-MM-YYYY') AND dim.valid_to >= TO_DATE('01-AUG-2009'', 'DD-MM-YYYY') <-- zusätzlich! Row Movement Typischerweise wird bei SCD II bei einer Änderung die Vorversion terminiert, d.h. VALID_TO von 31-DEC-9999 auf heute geändert, und ein neue Version mit VALID_FROM = heute eingefügt (VALID_TO = 31-DEC-9999). Dies würde in den allermeisten Fällen ein Row Movement 7 in eine andere Partition bewirken. Um dies zu vermeiden wird der Mechanismus umgekehrt: Die alte Version wird dupliziert, ausser dem Attribut VALID_TO= heute, und die alten Attribute mit den neuen Werten updated, ausser eben VALID_TO. Der Business Key ist Objekt-Identifikator und bleibt logischerweise bestehen. Surrogate Key Business Key Description Valid_From Valid_To 1 2 ABC Desc Change 01-JAN MAY DEC-99 <-- UPDATE 1 ABC Desc 01-JAN MAY-09 <-- INSERT Man könnte nun einwenden, dass dafür alle existierenden Indexes nachgeführt werden müssen. Korrekt, aber dies ist auch bei einem Row Movement der Fall. 7 da ein Update auf dem Partitionierungsschlüssel gemacht wird

9 Aus diesen Ausführungen wird ersichtlich, dass im Bereich DWH-Partitionierung ein beinahe unendliches Feld von Möglichkeiten bietet. Einige davon wurden hier aufgezeigt, einzelne Themen konnten nur am Rand erwähnt werden, und viele blieben immer noch unerwähnt. Klar ist auf jeden Fall: Partitionieren Sie Ihr Data Warehouse! Kontaktadresse: Beat Flühmann Trivadis AG Europastr. 5 CH-8152 Glattbrugg/Zürich Telefon: +41(0) Fax: +41(0) beat.fluehmann@trivadis.com Internet:

Partitionierungsstrategien für Data Vault

Partitionierungsstrategien für Data Vault ierungsstrategien für Data Vault Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Während das Laden von Tabellen in Data Vault in der Regel nicht zeitkritisch ist, stellt uns das effiziente

Mehr

Globale Statistiken im Oracle Data Warehhouse

Globale Statistiken im Oracle Data Warehhouse Globale Statistiken im Oracle Data Warehhouse Dani Schnider Principal Consultant 29. Januar 2012 Aktuelle und vollständige Optimizer-Statistiken sind Voraussetzung für die Ermittlung von guten Execution

Mehr

Indexstrategien im Data Warehouse

Indexstrategien im Data Warehouse Indexstrategien im Data Warehouse Reinhard Mense areto consulting gmbh Köln Schlüsselworte Business Intelligence, Data Warehouse, Bitmap Index, B*Tree Index, Partial Index, Star Schema, Snowflake Schema,

Mehr

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z

Mehr

Laden von Data Marts auch mal komplex DOAG BI, 9. Juni 2016 Dani Schnider, Trivadis AG

Laden von Data Marts auch mal komplex DOAG BI, 9. Juni 2016 Dani Schnider, Trivadis AG Laden von Data Marts auch mal komplex DOAG BI, 9. Juni 2016 Dani Schnider, Trivadis AG BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA

Mehr

Nützliche Oracle 12c Features für Data Warehousing DOAG BI, 8. Juni 2016 Dani Schnider, Trivadis AG

Nützliche Oracle 12c Features für Data Warehousing DOAG BI, 8. Juni 2016 Dani Schnider, Trivadis AG Nützliche Oracle 12c Features für Data Warehousing DOAG BI, 8. Juni 2016 Dani Schnider, Trivadis AG BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART

Mehr

Partitionierung Indizes und Statistiken

Partitionierung Indizes und Statistiken Partitionierung Indizes und Statistiken DOAG Konferenz + Ausstellung 18.11.2014 Nürnberg Klaus Reimers info@ordix.de www.ordix.de Agenda Einführung Arten der Partitionierung Fragestellungen Indizes Indextypen

Mehr

Partitioning Technik und Anwendungsbeispiele

Partitioning Technik und Anwendungsbeispiele Partitioning Technik und Anwendungsbeispiele Klaus Reimers ORDIX AG Köln Schlüsselworte: Range Partitioning, Hash Partitioning, List partitioning, System Partitioning, Interval Partitioning, Virtual Column

Mehr

Partitionierung Indizes und Statistiken

Partitionierung Indizes und Statistiken Partitionierung Indizes und Statistiken Klaus Reimers ORDIX AG Paderborn Schlüsselworte Local index, global index, prefixed index, nonprefix index, hash partitioned index, unusable index, orphaned index,

Mehr

Oracle In-Memory & Data Warehouse: Die perfekte Kombination?

Oracle In-Memory & Data Warehouse: Die perfekte Kombination? Oracle In-Memory & Data Warehouse: Die perfekte Kombination? Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Einleitung Als Larry Ellison in einer Keynote im Juni 2014 die Oracle In-Memory Option

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 3 Der Optimizer Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. auf Tabellen 2. 3. Optimizer 4. Optimizer RBO 5. Optimizer CBO 6.

Mehr

Optimiertes Laden in die F-Fakten-Tabelle des SAP BW

Optimiertes Laden in die F-Fakten-Tabelle des SAP BW Optimiertes Laden in die F-Fakten-Tabelle des SAP BW Schlüsselworte SAP BW Index unusable. Einleitung Jörn Bartels Oracle München Mit Oracle Database 11g Release 2 kann das Laden der F-Fakten Tabelle in

Mehr

Wie die Datenbank ILM unterstützt

Wie die Datenbank ILM unterstützt Wie die Datenbank ILM unterstützt Oracle Data Warehouse Detlef Schröder, Leitender Systemberater BI & DWH Oracle Deutschland B.V.&Co. KG Information Lifecycle Die neuesten Daten stehen

Mehr

Partitioning mit Oracle Text 9i

Partitioning mit Oracle Text 9i Partitioning mit Oracle Text 9i Autor: Andreas Habl, msg systems ag DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks,

Mehr

Nutzung der Oracle Database InMemory Option für SAP BW

Nutzung der Oracle Database InMemory Option für SAP BW Nutzung der Oracle Database InMemory Option für SAP BW Schlüsselworte Oracle, SAP-BW, InMemory, Star-Schema. Jörn Bartels Oracle München Einleitung In SAP BW wurde bisher ein erweitertes Snow Flake Schema

Mehr

Fehlertoleranz und Robustheit von ETL-Prozessen Wie gestalten wir Abläufe möglichst widerstandsfähig. Christian Borghardt I BI Consultant

Fehlertoleranz und Robustheit von ETL-Prozessen Wie gestalten wir Abläufe möglichst widerstandsfähig. Christian Borghardt I BI Consultant Fehlertoleranz und Robustheit von ETL-Prozessen Wie gestalten wir Abläufe möglichst widerstandsfähig Christian Borghardt I BI Consultant Über uns areto consulting gmbh Echter Business Intelligence Spezialist

Mehr

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen Andrea Held Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken Partitionierung Komprimierung ILM Assistant Flashback Data Archive Empfehlungen 1 Datenwachstum Wachsende Kosten Schlechtere

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Performance by Design Wie werden performante ETL-Prozesse erstellt?

Performance by Design Wie werden performante ETL-Prozesse erstellt? Performance by Design Wie werden performante ETL-Prozesse erstellt? Reinhard Mense ARETO Consulting Bergisch Gladbach Schlüsselworte: DWH, Data Warehouse, ETL-Prozesse, Performance, Laufzeiten, Partitionierung,

Mehr

Automatisierte Datenmigration mit dynamischen SQL

Automatisierte Datenmigration mit dynamischen SQL Automatisierte Datenmigration mit dynamischen SQL Rolf Wesp Consultant Rolf.Wesp@trivadis.com Düsseldorf, 27. Oktober 2009 Baden Basel Bern Brugg Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br.

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn

DOAG Regionaltreffen TABLE REORG. Klaus Reimers. Leiter Beratung & Entwicklung, ORDIX AG, Paderborn DOAG Regionaltreffen TABLE REORG Klaus Reimers Leiter Beratung & Entwicklung, ORDIX AG, Paderborn kr@ordix.de Agenda Reorganisationsgründe - Extents - Blockfüllgrad - Migrated Rows Workarounds - Storage

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Physische Datenbankdefinition in. Arthur Bauer

Physische Datenbankdefinition in. Arthur Bauer Physische Datenbankdefinition in Arthur Bauer Inhalt Cluster Index-Cluster Hash-Cluster Vor- und Nachteile Index-Organisierte Tabelle (IOT) Partitionierung STORAGE-Klausel in DDL Indexstrukturen Oracle

Mehr

Indexierungsstrategie im Data Warehouse Zwischen Albtraum und optimaler Performance

Indexierungsstrategie im Data Warehouse Zwischen Albtraum und optimaler Performance Indexierungsstrategie im Data Warehouse Zwischen Albtraum und optimaler Performance Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Schlüsselworte: Data Warehouse, Indexierung, Staging Area, Cleansing

Mehr

Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author

Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur Subject New Features Oracle 9i Tuning Author Edo Bezemer Oracle Engineering Date August 2002 INHALTSVERZEICHNIS PERFORMANCE UND TUNING...3 TABELLEN ONLINE

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

FEHLERTOLERANTE LADEPROZESSE IN ORACLE

FEHLERTOLERANTE LADEPROZESSE IN ORACLE FEHLERTOLERANTE LADEPROZESSE IN ORACLE GEGEN SCHLAFLOSE NÄCHTE DOAG BI Konferenz 2012 Dani Schnider Trivadis AG München, BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN

Mehr

Partitioning in der Datenbank 12c: Was ist neu?

Partitioning in der Datenbank 12c: Was ist neu? Partitioning in der Datenbank 12c: Was ist neu? Jan Ott, Trivadis AG Die neuen Features sollen die tägliche Wartung der Datenbank vereinfachen, die Verfügbarkeit erhöhen und die Performance verbessern

Mehr

DOAG Konferenz Was Sie bei modernen Datenbank-Systemen anders machen müssen!

DOAG Konferenz Was Sie bei modernen Datenbank-Systemen anders machen müssen! oracledeli.wordpress.com DOAG Konferenz 2015 Was Sie bei modernen Datenbank-Systemen anders machen müssen! Matthias Schulz Selbständiger Software- und Datenbankentwickler: Consulting Schulungen Workshops

Mehr

Optimale Performance durch Constraints im Data Warehouse

Optimale Performance durch Constraints im Data Warehouse Optimale Performance durch Constraints im Data Warehouse DOAG Konferenz, 17. November 2016 Dani Schnider, Trivadis AG @dani_schnider BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG

Mehr

Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH

Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH Dani Schnider Principal Consultant Business Intelligence BI Trilogie, Zürich/Basel 25./26. November 2009 Basel Baden Bern Lausanne Zürich

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 14 Index-Organized Tables Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 13 Seite 1 von 13 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3.

Mehr

Systematische Rasterfahndung nach Performance-Antipattern

Systematische Rasterfahndung nach Performance-Antipattern Systematische Rasterfahndung nach Performance-Antipattern Peter Ramm, OSP Dresden November 2016 Otto Group Solution Provider Dresden GmbH www.osp.de Gründung: März 1991 Muttergesellschaft: OTTO Group Standorte:

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Index Rebuild. DOAG Konferenz , Nürnberg. Martin Hoermann

Index Rebuild. DOAG Konferenz , Nürnberg. Martin Hoermann Index Rebuild DOAG Konferenz 17.11.2011, Nürnberg Martin Hoermann info@ordix.de www.ordix.de asktom.oracle.com Quelle: asktom.oracle.com/pls/asktom/f?p=100:11:745954239666467::::p11_question_id:2913600659112

Mehr

Wie modelliere ich mein Core Data Warehouse?

Wie modelliere ich mein Core Data Warehouse? Wie modelliere ich mein Core Data Warehouse? Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Schlüsselworte: Data Warehouse, Datenmodellierung, Historisierung Einleitung Das Core dient im Data Warehouse

Mehr

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Schlüsselworte: Data Warehouse, Data Mart, Star Schema, Dimensionale Modellierung, Zeitdimension

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 Effiziente Speicherung für SAP Jörn Bartels Architect Oracle Database Server Technologies 2 Oracle 12c Jörn Bartels Architect Oracle Database Server Technologies 3 1997 Effiziente Speicherung für SAP

Mehr

Aufbau einer Oracle Datenbank

Aufbau einer Oracle Datenbank Aufbau einer Oracle Datenbank Eike Florian Petersen 29. Juni 2015 Inhaltsverzeichnis 1. Tablespaces 1.1 Konzept, Arten 1.2 Operationen 2. Arten von Dateien 2.1 Datendateien 2.2 Redolog-Dateien 2.3 Control-Dateien

Mehr

Index Rebuild. DOAG Konferenz , Nürnberg DOAG Konferenz , Nürnberg Martin Hoermann Martin Hoermann

Index Rebuild. DOAG Konferenz , Nürnberg DOAG Konferenz , Nürnberg Martin Hoermann Martin Hoermann Index Rebuild DOAG Konferenz 17.01.2011, Nürnberg DOAG Konferenz 17.11.2011, Nürnberg Martin Hoermann info@ordix.de Martin Hoermann www.ordix.de info@ordix.de www.ordix.de Eine kurze Geschichte der Zeit

Mehr

Datenbanken Implementierungstechniken SS2015

Datenbanken Implementierungstechniken SS2015 Hochschule für Technik, Wirtschaft und Kultur Leipzig Leipzig University of Applied Sciences Parallele DBMS Datenbanken Implementierungstechniken SS2015 Alexander Müller Fakultät Informatik, Mathematik

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Oracle Index Tuning &Admin

Oracle Index Tuning &Admin Oracle Index Tuning &Admin Marco Patzwahl MuniQSoft GmbH München-Unterhaching Schlüsselworte: SQL, PL/SQL, DBA Zusammenfassung Indizes sind ein erprobtes Mittel, um SQL-Abfragen zu beschleunigen. Aber

Mehr

Die View von der View von der View PERFORMANTES SQL SCHREIBEN

Die View von der View von der View PERFORMANTES SQL SCHREIBEN Die View von der View von der View PERFORMANTES SQL SCHREIBEN Schlüsselworte SQL, Performance, Optimizer Uwe Embshoff Airpas Aviation AG Braunschweig Einleitung Es gibt viel Literatur zum Thema Oracle

Mehr

Oracle Old Features. Vortrag für die DOAG-Konferenz Uwe M. Küchler, Valentia GmbH

Oracle Old Features. Vortrag für die DOAG-Konferenz Uwe M. Küchler, Valentia GmbH Oracle Old Features Vortrag für die DOAG-Konferenz 2011 17.11.2011 Uwe M. Küchler, Valentia GmbH Zur Person Generation C=64 Seit über 25 Jahren in der IT tätig 1997-2000 bei Oracle Seither durchgehend

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

SCD2 mal anders. Andrej Pashchenko Trivadis GmbH Düsseldorf

SCD2 mal anders. Andrej Pashchenko Trivadis GmbH Düsseldorf SCD2 mal anders Andrej Pashchenko Trivadis GmbH Düsseldorf Schlüsselworte Slowly Changing Dimensions Type 2, Historisierung. Einleitung Die Historisierung der Daten ist eine übliche, aber auch komplexe

Mehr

Reference Partitioning in der Praxis

Reference Partitioning in der Praxis Reference Partitioning in der Praxis Dr. Frank Haney Consultant Jena Schlüsselworte: Oracle Database, Manageability, Partitionierung Partitionierung von Tabellen Die Partitionierung gehört zur physischen

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Modellierung agiler Data Warehouses mit Data Vault

Modellierung agiler Data Warehouses mit Data Vault Modellierung agiler Data Warehouses mit Data Vault Dani Schnider Trivadis AG Zürich/Glattbrugg, Schweiz Schlüsselworte: Data Warehouse, Data Vault, Datenmodellierung, Agile Projektentwicklung, Historisierung,

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1 1997 Effiziente Speicherung für SAP 8.0 Jörn Bartels Architect Oracle Database Server Technologies 2 Effiziente Speicherungsformen Ziele Index Komprimierung Index Organized Tables Ergebnisse 3 Ziele

Mehr

Datenbank Objekte (Tabellen, Segemente, Extents, Blöcke)

Datenbank Objekte (Tabellen, Segemente, Extents, Blöcke) Datenbank Objekte (, Segemente,, Blöcke) 5. Juni 2007 Datenbank Objekte (, Segemente,, Blöcke) Datenbank Objekte (, Segemente,, Blöcke) Aufbau eines Datenblocks Zeilenverkettung und -verschiebung Freispeicherverwaltung

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Partitionierung im Data Warehouse mit ORACLE 11g und 12c. Reinhard Wahl DOAG Konferenz Nürnberg, 18.-20. November 2014

Partitionierung im Data Warehouse mit ORACLE 11g und 12c. Reinhard Wahl DOAG Konferenz Nürnberg, 18.-20. November 2014 Partitionierung im Data Warehouse mit ORACLE 11g und 12c Reinhard Wahl DOAG Konferenz Nürnberg, 18.-20. November 2014 Wir fokussieren mit unseren Services die Herausforderungen des Marktes und verbinden

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension

Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension Haben Sie die Zeit im Griff? Designtipps zur Zeitdimension Dani Schnider Principal Consultant 22. November 2012 Abfragen im Data Warehouse haben fast immer einen Zeitbezug. Ob es dabei um die Mitarbeiterauslastung

Mehr

Merge und andere schnelle Statements

Merge und andere schnelle Statements Merge und andere schnelle Statements Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte: Merge, Multitable Insert, Analytische Funktionen, hilfreiche Befehle für DWH und ETL Einleitung

Mehr

Oracle 9i Einführung Performance Tuning

Oracle 9i Einführung Performance Tuning Kurs Oracle 9i Einführung Performance Tuning Teil 13 Cluster Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 14 Seite 1 von 14 1. Anordnung von Zeilen in einer Tabelle 2. Einführung 3. Cluster 4. Typen

Mehr

Sebastian Winkler CarajanDB GmbH CarajanDB GmbH

Sebastian Winkler CarajanDB GmbH CarajanDB GmbH Sebastian Winkler CarajanDB GmbH Experten mit über 20 Jahren Oracle Erfahrung Firmensitz in Erftstadt bei Köln Spezialisten für Oracle Datenbank Administration Hochverfügbarkeit (RAC, Data Guard, Failsafe,

Mehr

Performance-Optimierung bei Datentransformationen. Christian Hellwig Aus unserer Projekt- und Schulungserfahrung

Performance-Optimierung bei Datentransformationen. Christian Hellwig Aus unserer Projekt- und Schulungserfahrung Betrifft Autor: Art der Info Quelle Performance-Optimierung bei Datentransformationen Christian Hellwig (christian.hellwig@trivadis.com) Technische Background Info Aus unserer Projekt- und Schulungserfahrung

Mehr

Partitionierung für mehr Performance

Partitionierung für mehr Performance Partitionierung für mehr Performance Sebastian Winkler CarajanDB GmbH Erftstadt Schlüsselworte Oracle Partitioning, Data Warehouse, VLDB, Archivierung, Zugriffsoptimierung, Range, List, Hash Einleitung

Mehr

Übung 01 Tabellen erstellen

Übung 01 Tabellen erstellen UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Oracle Warehouse Builder 3i

Oracle Warehouse Builder 3i Betrifft Autoren Art der Info Oracle Warehouse Builder 3i Dani Schnider (daniel.schnider@trivadis.com) Thomas Kriemler (thomas.kriemler@trivadis.com) Technische Info Quelle Aus dem Trivadis Technologie

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Schnelle Kurzgeschichten

Schnelle Kurzgeschichten Schnelle Kurzgeschichten Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte: Data Warehousing, Dimensionen, Performance, Slowly Changing Dimensions. Einleitung Unsere Kundin ist im

Mehr

Erstellen und Verwalten von Tabellen

Erstellen und Verwalten von Tabellen Erstellen und Verwalten von Tabellen Als nächstes müssen die Tabellen der Datenbank Personalwesen erzeugt werden. Die Syntax dazu lautet: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(TABELLENDEFINITION,

Mehr

Statistikberechnung in großen Datenbanken mit regelmäßigen Ladevorgängen

Statistikberechnung in großen Datenbanken mit regelmäßigen Ladevorgängen Statistikberechnung in großen Datenbanken mit regelmäßigen Ladevorgängen Autoren: Dr. Alexander Kick, Credit Suisse Financial Services, Daniel Steiger, Trivadis GmbH DOAG News Q2_2005 Dieses Werk ist urheberrechtlich

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Oracle-Statistiken im Data Warehouse effizient nutzen

Oracle-Statistiken im Data Warehouse effizient nutzen Zur performanten Ausführung von Berichten und Ad-hoc-Abfragen eines BI-Systems sind beim Oracle Optimizer aussagekräftige und aktuelle Statistiken für die Tabellen und Indizes von essenzieller Bedeutung.

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Tabellen und Indizes Reorganisieren, aber wann?

Tabellen und Indizes Reorganisieren, aber wann? Tabellen und Indizes Reorganisieren, aber wann? Ernst Leber MT AG Ratingen Schlüsselworte: Performance, Datenbankanalyse, Tabellenreorganisation, Indexreorganisation Einleitung Kernpunkt des Vortrages

Mehr

10 Gründe warum Ihr Index nicht verwendet wird

10 Gründe warum Ihr Index nicht verwendet wird 10 Gründe warum Ihr Index nicht verwendet wird Schlüsselworte Index Benutzung, Index Tuning Einleitung Marco Patzwahl MuniQSoft GmbH München-Unterhaching Ein Index auf einer Tabelle sollte ja eigentlich

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17

Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren zum Data Science-Synchronisationsmodul Datenbanken WS 2016/17 Testklausur 1 Übungsaufgaben aus alten Datenbanken 1 Klausuren Aufgabe 1 10 = 5 + 5 Punkte) DDL Relationenmodell eer-diagramm /10) Gegeben sei das folgende SQL-DDL-Skript zur Generierung eines Oracle-Datenbankschemas:

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Oracle In-Memory & Data Warehouse: Die perfekte Kombination?

Oracle In-Memory & Data Warehouse: Die perfekte Kombination? : Die perfekte Kombination? DOAG Konferenz, 16. November 2016 Dani Schnider, Trivadis AG @dani_schnider BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Fehlerbehandlung mittels DML Error Logging

Fehlerbehandlung mittels DML Error Logging Fehlerbehandlung mittels DML Error Logging Andreas Buckenhofer Daimler TSS GmbH Ulm Schlüsselworte DML Error Logging, DBMS_ERRLOG, LOGGING / NOLOGGING, Direct Path Einleitung Eine satzbasierte Verarbeitung

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Modellierung agiler Data Warehouses mit Data Vault Dani Schnider, Trivadis AG DOAG Konferenz 2015

Modellierung agiler Data Warehouses mit Data Vault Dani Schnider, Trivadis AG DOAG Konferenz 2015 Modellierung agiler Data Warehouses mit Data Vault Dani Schnider, Trivadis AG DOAG Konferenz 2015 BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

Mehr

DWH Automatisierung mit Data Vault 2.0

DWH Automatisierung mit Data Vault 2.0 DWH Automatisierung mit Data Vault 2.0 Andre Dörr Trevisto AG Nürnberg Schlüsselworte Architektur, DWH, Data Vault Einleitung Wenn man die Entwicklung von ETL / ELT Prozessen für eine klassische DWH Architektur

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

MySQL 5.1. Kristian Köhntopp

MySQL 5.1. Kristian Köhntopp MySQL 5.1 Kristian Köhntopp Was ist neu? Neues InnoDB Neue Replikation Neues Logging Event Scheduler Partitions INFORMATION_SCHEMA XML Functions Was ist neu? Neues InnoDB Neue Replikation Neues Logging

Mehr

Die Vielfalt von Bitmap-Indizes im DWH

Die Vielfalt von Bitmap-Indizes im DWH Die Vielfalt von Bitmap-Indizes im DWH Dominik Schuster areto consulting gmbh Köln Schlüsselworte Bitmap Indizes, Data Warehouse, Star-Schema Einleitung Bei großen und stetig wachsenden Datenmengen steigt

Mehr

Performante Verarbeitung großer Datenbanken am praktischem Beispiel

Performante Verarbeitung großer Datenbanken am praktischem Beispiel Performante Verarbeitung großer Datenbanken am praktischem Beispiel Thomas Lehmann 08.09.2015, Dresden Agenda 1. Technische Rahmenbedingungen 2. Theoretische Grundlagen 3. Verschiedene Probleme am praktischen

Mehr

Oracle Old Features. Uwe Küchler Valentia GmbH Frankfurt am Main

Oracle Old Features. Uwe Küchler Valentia GmbH Frankfurt am Main Oracle Old Features Uwe Küchler Valentia GmbH Frankfurt am Main Schlüsselwörter: Datenbank, Performance, Constraints, ANSI SQL, PL/SQL. Einleitung Bereits im vorigen Jahrtausend hat Oracle Features in

Mehr

Historisierung und Versionierung

Historisierung und Versionierung DOAG NRW-Regionaltreffen 7. Juli 2005, Aachen Historisierung und Versionierung für ein bestehendes Datenmodell ohne Änderung der Anwendung Martin Friemel, Martin Kubitza Enterprise Web AG, Duisburg fon

Mehr

SQL Optimizer und SQL Performance

SQL Optimizer und SQL Performance SQL Optimizer und SQL Performance Schlüsselworte SQL, Optimizer, Explain Plan, SQL Trace Marco Mischke Robotron Datenbank Software GmbH Dresden Einleitung Dieser Vortrag beschäftigt sich mit grundlegenden

Mehr