New Features in der Oracle Datenbank für das Data Warehouse

Ähnliche Dokumente
Analytic Views: Einsatzgebiete im Data Warehouse

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

Globale Statistiken im Oracle Data Warehhouse

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Berechnung von Kennzahlen mit der SQL Model Clause

Summarization-based Aggregation

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

Partitionierung im DWH mit ORACLE 11g und 12c

Partitioning mit Oracle Text 9i

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

ZWISCHEN ALBTRAUM UND OPTIMALER PERFORMANCE

Data Dictionary for Oracle

Nutzung der Oracle Database InMemory Option für SAP BW

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

SAP Business Information Warehouse mit Oracle Database

Indexstrategien im Data Warehouse

Exadata und In-Memory Datenbewirtschaftung und Analyse Extrem mit Exadata und InMemory (Erfahrungsbericht)

Oracle Tuning - Theorie und Interpretation

Zellenbasierende Berechnungen und Spreadsheets in Oracle 10g

XML-Datenaustausch in der Praxis Projekt TOMIS bei der ThyssenKrupp Stahl AG

VIEWS UND WEITERE TABELLEN-OPERATIONEN

Oracle 10g Einführung

Performante Verarbeitung großer Datenbanken am praktischem Beispiel

Performance in der Oracle Datenbank von Anfang an

Partitionierung Indizes und Statistiken

Neue Features Oracle Database 12.2 Wann denn endlich?

Optimale Performance durch Constraints im Data Warehouse

INDEXIERUNGS- STRATEGIE IM DATA WAREHOUSE

Oracle 9i Einführung Performance Tuning

Data Warehouse schnell gemacht Performanceaspekte im Oracle DWH

mit konventionellen Datenbanksystemen konventionellen Datenbanksystemen

SQL Data Manipulation Language (DML) und Query Language (QL)

Oracle Database 12c In-Memory Option 7/18/2014. Eckart Mader Oracle Deutschland B.V. & Co. KG. Karlsruhe, den

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

Partitioning Technik und Anwendungsbeispiele

Oracle OLAP 11g: Performance für das Oracle Data Warehouse

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

Erfolg mit Oracle BI?

Aggregatfunktionen in SQL

Es geht also im die SQL Data Manipulation Language.

Einführung in Hauptspeicherdatenbanken

Anfragen an multidimensionale Daten

Die InnoDB Storage Engine. Handy aus?

Erzeugung und Veränderung von Tabellen

Teil II: Architektur eines Data-Warehouse-Systems... 57

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

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

DOAG SIG Data Warehouse & Business Intelligence. Praxisbericht DWH mit 5 Milliarden Fakten

Oracle In-Memory Option und die Folgen für das Data Warehouse

Datenschutz: Zugriffsrechte in SQL

! Partitionieren Sie Ihr Data Warehouse?

1 Vorstellung Kursbeispiel

Partitionieren Sie Ihr Data Warehouse!

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

Wie die Datenbank ILM unterstützt

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Erfahrungen aus dem Betatest Oracle Database 11g

Objekt-relationales Datenbanksystem Oracle

Development auf der Plattform SAP HANA

Data Warehouse in der Telekommunikation

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

In-Memory wird viele Data Warehouse Systeme verändern! Oracle Database In-Memory Option und die Folgen für das Data Warehouse

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Themenblock: Erstellung eines Cube

Warum wird mein Index nicht benutzt?

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

Materialized Views. Jan-Peter Timmermann. DOAG Regiotreffen Hamburg: Materialized Views Seite 1

Die View von der View von der View PERFORMANTES SQL SCHREIBEN

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Die Datawarehouseinstanz ETL in der Datenbank

Performance Tuning mit Oracle 12c

Partitionierungsstrategien für Data Vault

Big Data & Analytics. Ausgewählte Oracle Datenbank Features im Data Warehouse Umfeld. Ulrike Schwinn

Relationales Datenbanksystem Oracle

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

Data Warehouse Grundlagen

Oracle Database 12c Release 2 - Application Container Mandantenfähigkeit für Applikationen

Oracle Data Warehouse In Memory Database Option 1/6

Oracle 12cR1 In-Memory Real World POC and what s coming up with 12cR2 Christian Pfundtner DB Masters GmbH Stammersdorfer Str Gerasdorf

Oracle DB 12c: Die In-Memory-Option Oliver Zandner System-Berater für Oracle-DB-Technologien Oracle Hannover. Available July 2014

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Multidimensionale Modellierung

Oracle Core für Einsteiger: Datenbank I/O

Business Intelligence & Reporting. Michael Cordes Holger Oehring Matthias Rein

Physischer DB-Entwurf

MySQL New Features 5.6

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

Oracle SQL Developer Data Modeling

Optimierung von Datenbanken

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle Art der Info Technische Background Info (April 2002)

Oracle In-Memory Database Option und die Folgend für das Data Warehouse

Online Kurse Modulbeschreibungen

ACCESS SQL ACCESS SQL

Transkript:

New Features Oracle 12.2 für das DWH 1/7 New Features in der Oracle Datenbank für das Data Warehouse Die folgende Auswahl aus den vielen neuen Funktionen von Oracle 12.2 ist aus der Perspektive von Data Warehouse-Anforderungen zusammengestellt. Reihenfolge und Umfang der Beschreibung ist eher zufällig und sagt nichts über die Wichtigkeit der Features aus. Es muss nicht immer so genau Manchmal reicht s auch ungefähr - Approximate Query Processing Obwohl viele analytische Abfragen nur aggregierte Informationen nutzen, verursachen sie damit eine besonders intensive Ressourcennutzung. Diese teuren Abfragen lesen komplette Datenbestände über den Hauptspeicher, schreiben bei Erreichen der Bufferpool-Grenze in den Temp-Tablespace und liefern ein 100% korrektes Ergebnis, auch wenn Detailinformationen durch die Aggregation nicht mehr sichtbar sind und nur wenige trendanzeigende Zeilen am Bildschirm erscheinen. Das schon in 12.1 in Teilen eingeführte Approximate Query Processing minimiert diese Aufwände. Vergleichbar mit dem Sampling von Statistiken, schätzt die Software den wahrscheinlichen Wert eines Ergebnisses. Die Genauigkeit von mehr als 97% in 95% aller Fälle reicht für die meisten Anforderungen aus. Es sind Funktionen wie approx_count_distinct (seit 12.1), approx_percentile, approx_median (12.2) als SQL-Erweiterungen, die dies ermöglichen. Das folgende Beispiel gibt den Median der Umsatzspalte einer großen Fakten-Tabelle aus und qualifiziert gleichzeitig das Ergebnis in dem es die Fehlerrate und die Wahrscheinlichkeit des richtigen Ergebnisses mit ausgibt SELECT APPROX_MEDIAN (umsatz) AS median_umsatz, APPROX_MEDIAN (umsatz, 'ERROR_RATE') AS error_rate, APPROX_MEDIAN (umsatz, 'CONFIDENCE') as confidence FROM F_UMSATZ Die Abfrage ist schneller. Den Grund hierfür zeigt der Plan, der wesentlich weniger Temp- Space ausweist.

New Features Oracle 12.2 für das DWH 2/7 In dem zweiten Ausführungsplan erkennt man weniger benötigten Temp-Space und damit ist die Abfrage schneller Online-Fähigkeit von Partition-Management Bzgl. Partitioning, eine der wichtigsten Einrichtungen für das Oracle-basierte Data Warehouse, gibt es eine ganze Menge Erweiterungen in 12.2 Wer sich technische Warehouse Architekturen genauer anschaut, der weiß, dass Partitioning neben dem Partition Pruning, besonders auch für die Verwaltung und Bereitstellung von Datenbereichen und im Rahmen des ETL genutzt wird. Das sind u. a. verschieden hohe Komprimierungen, verschieden schnelle Datenträger, Trennung zwischen Read Only und Update-Bereichen, inkrementelles Aktualisieren von Indexen, Statistiken und Materialized Views, partitionsbezogene Ladesteps. Da auch Warehouse-Systeme zunehmend rund um die Uhr und an 7 Tage zur Verfügung stehen müssen, hat Oracle schon im 12.1 er Release viele Verwaltungstätigkeiten online-fähig gemacht. Gemeinsam mit den Erweiterungen unter 12.2 können jetzt Partitionen online gesplittet, gemerged und von einem Tablespace zu einem anderen gemoved werden, ohne die Warehouse-Datenbank für die Anwender zu sperren. Auch das nachträgliche Partitionieren einer noch nicht partitionierten Tabelle ist online möglich. Filter-Möglichkeit bei Partition-Management Neu ist auch die Möglichkeit der Filter-Setzung bei Move-, Merge- und Split-Operationen. Bislang musste man abwarten, bis z. B. alle Sätze einer aktuellen Monats- oder Tagespartition gemeinsam einen bestimmten Bearbeitungszustand erreicht hatten, um die Partition dann als Ganzes in einen endgültigen Zustand zu überführen. Jetzt sind Konzepte möglich, nach denen man eine fixe Partition für laufende Datenmanipulationen, ETL etc. vorhält, und fertig bearbeitete Sätze in regelmäßigen, automatisierten Move- Jobs in ihre endgültige Zielpartition überführt. Das jetzt mögliche Verfahren kann eine Alternative zu dem oft praktizierten Partition-Exchange-And-Load Verfahren sein, bei dem man immer ganze Partitionen austauscht und bei dem es eine Abhängigkeit zwischen der Ladefrequenz des ETL-Prozesses und der Art der Partitionierung gibt.

New Features Oracle 12.2 für das DWH 3/7 Das Statement in dem folgenden Beispiel bewegt nur Sätze die in dem Feld bearbeitungs_status einen entsprechenden Wert eingetragen haben. Man findet auch das Schlüsselwort ONLINE, das jetzt bei nahezu allen Verwaltungsaktionen möglich ist. ALTER TABLE f_umsatz MOVE PARTITION sammelpartition TABLESPACE mai_2017 COMPRESS ONLINE INCLUDING ROWS WHERE bearbeitungs_status = 'fix'; Multi-Column und Automatic List-Partitioning Oracle 12.2 erweitert auch das List-Partitioning. Da die meisten Partitionierungen in Data Warehouse-Systemen Range- und Zeit-basiert sind, verbleibt über das Sub-Partitioning nur noch eine einzige Option für ein zusätzliches, nicht Zeit-bezogenes Partitionierungskriterium. D. h. man hatte zunächst z. B. Monatspartitionen eingerichtet und dann über ein fachliches Kriterium List-Partitionen gewählt. Durch die Einführung des Multi-Column-Partitioning kann man jetzt eine Kombination mehrerer Tabellenspalten als Partitionierungskriterium wählen und kommt somit den fachlichen Anforderungen näher. Das Schlüsselwort AUTOMATIC erlaubt zudem das automatische Anlegen neuer List-Partitionen, wenn neue Werte in der ursprünglichen CREATE TABLE Definitionen noch nicht erfasst waren. Read-Only-Partitions Von einem gewissen Verarbeitungsstand an werden in Warehouse-Systemen Daten nicht mehr modifiziert und sie gelten als historisch. U. U. muss sogar dokumentiert werden, dass Daten von einem bestimmten Datum an nicht mehr verändert wurden. Um unerwünschte Änderungen an historischen Daten, z. B. durch fehlerhafte ETL-Prozesse, zu verhindern kann man Partitionen jetzt auch unabhängig von ihrer Tablespace-Zugehörigkeit auf Read-Only setzen. ALTER TABLE f_umsatz partition-name READ ONLY External Tables sind jetzt partitionierbar External Tables sind mit 12.2 partitionierbar. Auch heute noch füttern viele Firmen ihre Warehouse Systeme mit Textdateien, die sie mit External Tables in die Datenbank laden. Erhält man gleich-strukturierte Dateien von mehreren Stellen, so muss man diese jetzt nicht mehr in eine Datei überführen oder gar mehrere Lesevorgänge starten, weil mehrere Dateien vorliegen. Mit 12.2 kopiert man alle Files mit unterschiedlichen oder gleichen Namen in ein oder mehrere Directories und kann mit einem einzigen SELECT auf alle Files gleichzeitig zugreifen. CREATE TABLE ex_umsatz (Region_nr number, prod_id number, cust_id number, amount_sold number, quantity_sold number) ORGANIZATION EXTERNAL (TYPE oracle_loader DEFAULT DIRECTORY load_d1 ACCESS PARAMETERS (.) REJECT LIMIT UNLIMITED

New Features Oracle 12.2 für das DWH 4/7 PARTITION BY RANGE (Region_nr) (PARTITION west VALUES LESS THAN (2) LOCATION ('westregion.txt'), PARTITION nord VALUES LESS THAN (3) DEFAULT DIRECTORY load_d2 LOCATION ('nordregion.txt'), PARTITION rest VALUES LESS THAN (4)); In-Memory Column Store Join Groups und In-Memory Expressions Auch der In-Memory-Column Store gehört mittlerweile zu den wichtigen Hilfsmitteln im Oracle basierten Data Warehouse, denn die Column-orientierte Speicherung unterstützt das Lesen von zusammenhängenden Datenbereichen, so dass Abfragen selbst gegenüber bereits im Buffer Pool Cache liegenden Tabellendaten um Faktoren schneller sind. Dies begünstigt zunächst jedoch nur das Lesen von Daten, also die IO-Operationen, hier das Lesen aus dem Column-Store. Analytische Abfragen müssen darüber hinaus oft noch mehr als 40 % Rechenaufwand für Aggregationen ähnlich hohe Aufwände für Joins auf große Tabellen leisten. Oracle 12.2 unterstützt diese besonderen Anforderungen durch In-Memory-Expressions und Join-Groups. Gerade die Joins in Star-Modellen in den Data Marts haben es in sich. Einerseits sind es wenige aber immer wieder gleiche Joins andererseits ist mindestens eine Tabelle oft extrem groß. Das ist ein ideales Anwendungsfeld für die neuen Join-Groups, die als zusätzliche Objekte in dem Column-Store Join-Verbindungen zwischen Dimensions- und Faktentabellen fest in sich verdrahtet haben. Der Aufwand zur Bildung des Joins wird zum Zeitpunkt der Definition eines Join-Group-Objektes geleistet und nicht mehr während der späteren Benutzerabfrage. Eine Performanceoptimierungen von Faktor 2-3 gegenüber den eh schon schnellen In-Memory-Joins ist möglich. In-Memory-Join-Group Ähnlich funktionieren auch die In-Memory Expressions. Damit lassen sich immer wiederkehrende analytische Berechnungen im Vorwege durchführen und müssen nicht

New Features Oracle 12.2 für das DWH 5/7 mehr zum Abfragezeitpunkt gebildet werden. Bis zu 20 solcher Vorabberechnungen lassen sich pro Tabelle definieren. In-Memory-Expressions praktisch für bis zu 20 zusätzliche Berechnungen pro Tabelle auf nicht-aggregiertem Level Analytical Views Ein letztes besonderes Highlight in 12.2 aus analytischer Sicht sind die Analytical Views. Star-Modelle sind als multidimensionale Konstruktion mehr als nur eine über Joins verbundene Ansammlung von Tabellen. In den Faktentabellen finden sich die Kennzahlen wieder. Das sind entweder einfache Spalten oder berechnete Ausdrücke. In den Dimensionen sind mehrere Columns zu Attributgruppen den sog. Levels zusammengefasst und die Level sind untereinander entweder horizontal oder vertikal in Level-Hierarchien (bekannt als Drillpfade) geordnet. Diese logischen Zusammenhänge, die das multidimensionale Modell ausmachen, können mit 12.2 in der Oracle Datenbank als Analytical Views dokumentiert werden. Analytical Views sind Metadatenobjekten in dem Dictionary der Datenbank, die sich in ihrer Definition auf die Tabellen eines Star- Schemas beziehen. Es gibt Dimension-Objekte zur Beschreibung der benötigten Dimensionsattribute und den Attributgruppierungen, die die Levels ergeben. Es gibt die Hierarchy-Objekte, die die Level-Definition in den Dimensionsobjekten in Hierarchien ordnen. Und es gibt die Analytic-View-Objekte in denen man die Kennzahlen und die zugehörigen Dimensionsobjekte festlegt. --- Beispiel: Dimension-Objekt create force attribute dimension Att_dim_artikel dimension type STANDARD USING D_ARTIKEL

New Features Oracle 12.2 für das DWH 6/7 Attributes ( ARTIKEL_NAME AS ARTIKEL_NAME, ARTIKEL_ID AS ARTIKEL_ID, GRUPPE_NR AS GRUPPE_NR, GRUPPE_NAME AS GRUPPE_NAME, SPARTE_NAME AS SPARTE_NAME, SPARTE_NR AS SPARTE_NR) LEVEL Artikel KEY ARTIKEL_ID DETERMINES (ARTIKEL_NAME) LEVEL Artikel_Gruppe KEY GRUPPE_NR DETERMINES (GRUPPE_NAME ) LEVEL Artikel_Sparte KEY SPARTE_NR DETERMINES (SPARTE_NAME) --- Beispiel: Hierarchy-Objekt CREATE OR REPLACE HIERARCHY REGION_hier USING Att_dim_REGION (ORT CHILD OF KREIS CHILD OF LAND CHILD OF REGION) --- Beispiel: Analytic View Objekt CREATE OR REPLACE ANALYTIC VIEW AV_Umsatz using f_umsatz dimension by (ATT_DIM_ZEIT KEY Zeit_ID REFERENCES zeit_id HIERARCHIES ( ZEIT_MONAT_QUARTAL_JAHR default, ZEIT_WOCHE_JAHR), ATT_DIM_ARTIKEL KEY ARTIKEL_ID REFERENCES ARTIKEL_ID HIERARCHIES ( ARTIKEL_HIER), ATT_DIM_REGION KEY REGION_ID REFERENCES REGION_ID HIERARCHIES ( REGION_HIER) ) MEASURES ( UMSATZ FACT UMSATZ CLASSIFICATION format_string VALUE '9,999.99', MENGE CLASSIFICATION format_string VALUE '9,999', UMSATZ_GESAMT CLASSIFICATION format_string VALUE '9,999.99' ) Worin liegt aber jetzt der Nutzen des Ganzen? Ganz einfach: SQL-Abfragen kann man jetzt auf einer eher fachlichen Ebene formulieren, die Hierarchie-Level, und damit Drillpfade lassen sich über ihre Namen abfragen. Neben den in der Faktentabelle bereits vorkommenden Kennzahlenspalten kann man in der Analytic-View-Definition zusätzliche

New Features Oracle 12.2 für das DWH 7/7 Kennzahlen über Ableitungen und Formeln definieren. Auch diese sind direkt ansprechbar. Abfragen auf ein Star Schema mit multidimensionaler Struktur Alfred Schlaucher, Oracle, Januar 2017