Komprimierung 
in der Datenbank 
Strukturierte und unstrukturierte Daten, 
Backup, Data Pump, Netzwerk, etc. 
Ulrike Schwi...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Komprimierung in der Datenbank 
• Einsatzgebiete 
– DWH-Anwendungen und für „Mixed Operations“ 
– Content Management Anwen...
COMPRESSION TYP Verwendung Lizenzierung 
Basic Compression Bulk Load/Direct Path 
Operationen 
Enterprise Edition 
Advance...
Features im Überblick II 
COMPRESSION TYP Verwendung Lizenzierung 
Index Key Compression Indizes auf Tabellen für 
OLTP un...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Komprimierung von strukturierten Daten 
Vorteile 
• Komprimierung der Daten auf Datenblock Ebene 
• Mehr Performance für A...
Komprimierung von strukturierten Daten 
Tabellendaten 
• Komprimierung einstellbar auf … 
Tabellen, Partition, Tablespace ...
Direct Load Operationen 
Stand 11g 
• Direct Load Operationen 
– Direct Path Load beim SQL*Loader, CREATE TABLE AS SELECT,...
Direct Load Operationen 
Stand 11g Release 2: Neuer Hint 
• Hint APPEND_VALUES nun auch für INSERT Statements mit 
VALUES-...
Empty Compressed Block 
Uncompressed Block 
Compressed Block teilweise 
Compressed Block 
Für alle DML Operationen mit ACO...
Syntax – OLTP Compression 
Stand 11g Release 2 
•Möglich auf Table, Partition und Tablespace Ebene 
• Beispiele (Achtung S...
Eigenschaften 
• System-Anforderungen 
– Redo Size (UPDATE, INSERT) 
– CPU Anforderungen (UPDATE, INSERT) 
– Buffer Cache ...
Administration und Monitoring 
• Komprimierungseinstellung ändern mit ALTER TABLE COMPRESS 
oder MOVE COMPRESS (Unterschie...
Monitoring Speicherplatzverbrauch 
: 
Unformatted Blocks = 0 
F_25 Blocks = 0 
F_50 Bytes = 0 
F_50 Blocks = 0 
(*) Analys...
Tipps 
• Anwendung der Komprimierung 
– bei Tabellen mit grösstem Speicherplatzverbrauch 
• Speicherplatzeinsparung immer ...
Hybrid Columnar Compression (kurz HCC) 
BLOCK HEADER 
CU HEADER 
C1 
BLOCK HEADER BLOCK HEADER BLOCK HEADER 
C2 
Logical C...
Hybrid Columnar Compression (HCC) 
• COMPRESS FOR QUERY für DWH 
CREATE TABLE mass(...) COMPRESS FOR QUERY [LOW|HIGH] 
• C...
Compression Advisor 
• Einsatz des Package DBMS_COMPRESSION ab 11gR2 
• Ohne zusätzliche Installation für alle Editionen 
...
Compressiontyp 
• Mit Tabellenname und ROWID 
SELECT dbms_compression.get_compression_type('SH', 
'NOCOMP','AAASOVAAEAAADD...
Release2 Compression Advisor: Kompressiontyp 
declare 
b_cmp PLS_INTEGER; 
: 
begin 
DBMS_COMPRESSION.GET_COMPRESSION_RATI...
Ergebnis 
: 
BLKCNT_CMP => 115 
BLKCNT_UNCMP => 306 
RATIO => 2,6 
CMPTYPE => „Compress For OLTP“ 
: 
Copyright © 2014, Or...
Compression Advisor für HCC 
• Kein HCC Storage notwendig 
• Nutzung der Prozedur DBMS_COMPRESSION. 
GET_COMPRESSION_RATIO...
• Änderungen für Basic, OLTP und HCC Compression 
• BASIC CREATE TABLE sales_history(…) 
ROW STORE COMPRESS BASIC; 
Neue S...
Erweiterungen in 12c 
• Aufhebung des 255 Spalten Limits für OLTP Compression 
• DBMS_COMPRESSION Advisor jetzt auch für S...
Neue Online Operationen in 12c 
• Online Operationen für MOVE PARTITION 
• Weniger Sperren 
• Grundlage für ILM Operatione...
Compression Advisor in 12c 
• Geänderte Parameternamen und Konstanten bzw. Werte 
(siehe Handbuch PL/SQL Users Guide) 
Cop...
Konstanten in 12c für Compression Advisor 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Beispiel: Compression Advisor Ratio für Partition 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | ...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Index Komprimierung allgemein 
• Out of the Box Komprimierung bei Bitmap Indizes 
• Normale B*Tree Indizes mit Index Key C...
Index Key Compression - Beispiel 
Arzt Zahnarzt AAAPvCAAFAAAAFaAAa 
Restaurant Italienisch AAAPvCAAFAAAAFaAAa 
Arzt Intern...
Index Analyse 
• Güte des Index 
ANALYZE INDEX basic_lob_kat_ort VALIDATE STRUCTURE; 
– ANALYZE INDEX Kommando weder ONLIN...
Advanced Index Compression 
• Neu in 12c mit ACO 
• Speziell für Indizes, die keine guten Kandidaten für Index Key 
Compre...
Advanced Index Compression 
• Index mit Eigenschaft anlegen über CREATE oder ALTER INDEX 
CREATE INDEX hr.emp_mndp_ix ON h...
Compression Advisor und Advanced Index Compression 
BEGIN 
dbms_compression.get_compression_ratio ( 
scratchtbsname => 'US...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Data Pump 
• Bisher: Metadata Komprimierung (Default) mit 
expdp compression = METADATA_ONLY ... 
• Neu: Advanced Compress...
Testergebnisse 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Quelle: 
An Oracle White Paper May...
Neuerung in 12c: Data Pump 
• Import gibt Komprimierung vor - unabhängig von der 
Komprimierungseigenschaft der Tabelle im...
Neuerungen in 12c: External Table Compression 
• Seit 10g können mit External Tables Daten aus der Datenbank in eine 
binä...
RMAN Komprimierung 
• Vor 11g 
– RMAN Backup mit und ohne Komprimierung möglich 
– Syntax für komprimiertes Backup 
RMAN> ...
RMAN Komprimierung 
• Komprimierung des Backupsets, bevor auf Platte geschrieben wird 
• Funktioniert mit komprimierten un...
RMAN Tests 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 
Quelle: 
An Oracle White Paper May 201...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Unstrukturierte Daten 
• Ab 11g Komprimierung für SecureFiles möglich 
• Keine Programmierung notwendig 
• Speicherplatzei...
Beispiele 
• Aktivierung durch Storage-Klausel und/oder Parameter 
DB_SECUREFILE[PERMITTED,NEVER,FORCE,ALWAYS,IGNORE] 
CRE...
Tipps 
• Monitoring der Einstellungen in USER_/DBA_LOBS 
TABLE_NAME COMPRE DEDUPLICATION 
------------------------ ------ ...
Unterschiedliche Formate 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Tipps 
• Separater Tablespace für LOB Speicherung mag sinnvoll sein 
• Platzeinsparung durch Komprimierung bei Blockwahl b...
Compression Advisor und Securefile Compression 
begin 
DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( 
SCRATCHTBSNAME => 'USERS'...
Weitere Themen 
• Was ist mit UTL_COMPRESS Package? 
– Geeignet für LOBs, RAW und BFILEs 
– Programmierung nötig 
• Was si...
Noch mehr Speicherplatz einsparen ... 
• Deferred Segment Creation 
• Zero Size UNUSABLE Index 
• External Tables mit Pre-...
Agenda 
Komprimierung in der Datenbank - Vorteile 
Strukturierte Daten 
Index Key Compression, Advanced Index Compression ...
Netzwerk Compression 
• Bisher: Redo Compression beim Data Guard Transport 
• Erweiterung der Komprimierung in Netzwerk Um...
ILM in der Oracle Database 
• ILM Integration in den Datenbank Kern 
– Heat Map: automatisches Monitoring und Klassifikati...
Das Konzept: Heat Map Tracking 
• Eine Heat Map liefert Zugriffsinformationen auf die 
Daten 
• Ebenen 
Segment: Welche Ta...
Grundsätzliches 
• Dynamisch einschaltbar über einen Parameter 
ALTER SYSTEM SET heat_map=on scope=both; 
• Administration...
ORDERS 
Überwachen über … 
• DBA_HEATMAP_TOP_TABLESPACES 
• DBA_HEATMAP_TOP_OBJECTS 
• DBA_HEAT_MAP_SEGMENT 
• DBA_HEAT_MA...
Heat Map im Enterprise Manager 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Automatische Datenoptimierungen 
• Vor: Aktivierung der Heat Map 
• Umfassen folgende Aktionen 
– Komprimieren von Daten 
...
Automatische Segment Komprimierung 
• Für Tabellen (Vererbung auf Partitionen) 
ALTER TABLE sh.sales 
ILM ADD POLICY 
row ...
Automatische ROW Komprimierung 
• Ein Block wird komprimiert, wenn alle Zeilen im 
Block die Bedingung erfüllen 
ALTER TAB...
Ausführung der Policies 
• Ausführung 
– automatisch im Maintenance Window oder manuell 
declare 
execution_mode => dbms_i...
Automatische Verlagerung (Storage Tiering) 
SOURCE 
Tablespace 
TARGET 
Tablespace 
SOURCE 
Tablespace 
T1 Zugriff letzte ...
1. Tabellen wachsen => Policiy 
komprimiert die Daten 
2. Tablespace mit Partitionen erreicht 
ORDERS 
ALTER TABLE EMPLOYE...
Automatische Verlagerung am Beispiel 
 Policy anlegen 
ALTER TABLE scott.employee 
ILM ADD POLICY 
TIER TO low_cost_store;...
Zusammenfassung 
Daten Klassifikation Automatische Erkennung 
Automatisches Durchführen 
WHAT IF and WHEN Then AUTOMATICAL...
Weitere Neuerungen für Compression Advisor in 12c 
• Graphische Implementierung im Enterprise Manager 
• Unterstützung von...
Compression Advisor in Cloud Control 
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Weitere Informationen 
• OTN mit White Paper etc. 
http://www.oracle.com/us/products/database/options/advanced-compression...
Nächste SlideShare
Wird geladen in …5
×

Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)

1.889 Aufrufe

Veröffentlicht am

Schon seit vielen Jahren ist die Komprimierung von Daten ein wichtiger Bestandteil der Oracle Datenbank und wird beständig weiterentwickelt. Dies zeigte sich besonders auch im Datenbankrelease 11g mit der Einführung von neuen Techniken im Zusammenhang mit der neuen Option Advanced Compression. Die Komprimierung ist nun beispielsweise unabhängig vom Anwendungs– Workload und zusätzlich um die Bereiche unstrukturierte Daten, Backup Daten und Netzwerk (im Data Guard Umfeld) Komprimierung erweitert worden.
In Oracle Database 12c sind sogar Eigenschaften zur Verbesserung des Storage Management ergänzt worden. DieSlides geben einen Übernlick über den Stand der Komorimierung in der Oracle datenabnk bis zum aktuellen Release Stand

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.889
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
11
Aktionen
Geteilt
0
Downloads
12
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)

  1. 1. Komprimierung in der Datenbank Strukturierte und unstrukturierte Daten, Backup, Data Pump, Netzwerk, etc. Ulrike Schwinn Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Business Unit Database Oracle Deutschland B.V. & Co KG Dezember 2014 Oracle Confidential – Internal/Restricted/Highly Restricted
  2. 2. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 2 6
  3. 3. Komprimierung in der Datenbank • Einsatzgebiete – DWH-Anwendungen und für „Mixed Operations“ – Content Management Anwendungen – Backup-Szenarien Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Netzwerk Engpässe • Vorteile – Einsparung von Plattenplatz (Storage) –Weniger I/Os – Effiziente Memory Nutzung und Nutzung der Netzwerkbandbreite
  4. 4. COMPRESSION TYP Verwendung Lizenzierung Basic Compression Bulk Load/Direct Path Operationen Enterprise Edition Advanced Row Compression OLTP Applikationen d.h. jegliche DML Operationen Enterprise Edition mit Advanced Compression Option (kurz ACO) Features im Überblick I Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Hybrid Columnar Compression – Warehouse Level Bulk Load in Warehouse Umgebungen Nur auf spezieller Storage: Exadata, ZFS, Pillar Hybrid Columnar Compression – Archive Level Inaktive Daten/ Partitionen Nur auf spezieller Storage: Exadata, ZFS, Pillar Advanced LOB Compression/ Deduplication Nicht relationale Daten im OLTP oder DWH Umfeld Enterprise Edition mit ACO
  5. 5. Features im Überblick II COMPRESSION TYP Verwendung Lizenzierung Index Key Compression Indizes auf Tabellen für OLTP und DWH Enterprise Edition Advanced Network (12c) / Data Guard Redo Transport Compression Alle Umgebungen Enterprise Edition mit ACO Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | RMAN/Data Pump Backup Compression Alle Umgebungen Abhängig vom Algorithmus: Enterprise Edition mit/ohne ACO Advanced Index Compression neu in 12.1.0.2 Indizes auf Tabellen für OLTP und DWH Enterprise Edition mit ACO
  6. 6. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 6 6
  7. 7. Komprimierung von strukturierten Daten Vorteile • Komprimierung der Daten auf Datenblock Ebene • Mehr Performance für Abfragen auf grossen Datenmengen –Weniger I/Os – Effiziente Buffer Cache Nutzung Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Transparent für Applikationen – Keine Änderungen erforderlich
  8. 8. Komprimierung von strukturierten Daten Tabellendaten • Komprimierung einstellbar auf … Tabellen, Partition, Tablespace Ebene Ab Oracle 9i Release 2 Advanced Compression Option (kurz ACO) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Bulk Loads/Direct Loads • Konventionelles DML wird nicht komprimiert! • Für alle DML-Operationen
  9. 9. Direct Load Operationen Stand 11g • Direct Load Operationen – Direct Path Load beim SQL*Loader, CREATE TABLE AS SELECT, Paralleler INSERT, Serieller INSERT mit APPEND Hint und Subquery Klausel • Vorteile von Direct Loads – Direct Load Compression, Einsatz von NOLOGGING ... • Syntax CREATE TABLE sales_history(…) COMPRESS [BASIC]; • Einschränkungen – Keine Unterstützung für INSERT, UPDATE Operationen, Nicht für Tabellen mit mehr als 255 Spalten, Kein DROP COLUMN möglich Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  10. 10. Direct Load Operationen Stand 11g Release 2: Neuer Hint • Hint APPEND_VALUES nun auch für INSERT Statements mit VALUES-Klausel : prod_ids NumList; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | BEGIN FOR i IN 1..1000 LOOP prod_ids(i) := i; END LOOP; FORALL j IN 200..1000 INSERT /*+ APPEND_VALUES */ INTO comp_tab VALUES (prod_ids(j),sysdate,...); :
  11. 11. Empty Compressed Block Uncompressed Block Compressed Block teilweise Compressed Block Für alle DML Operationen mit ACO Ablauf Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Block Legend Header Data Free Space Uncompressed Data Compressed Data
  12. 12. Syntax – OLTP Compression Stand 11g Release 2 •Möglich auf Table, Partition und Tablespace Ebene • Beispiele (Achtung Syntaxänderung in 12c) CREATE TABLE sales_history(…) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | COMPRESS FOR OLTP CREATE TABLE sales_part (saleskey number,…, region varchar2(10)) PARTITION BY LIST (region) (PARTITION northwest VALUES ('NORTHWEST'), PARTITION southwest VALUES ('SOUTHWEST'), PARTITION northeast VALUES ('NORTHEAST') COMPRESS FOR OLTP, …)
  13. 13. Eigenschaften • System-Anforderungen – Redo Size (UPDATE, INSERT) – CPU Anforderungen (UPDATE, INSERT) – Buffer Cache Reduktion • Performance-Steigerung für Queries • Performance von DML Statements variiert • Änderungen an Ausführungsplänen (Statistiken) möglich !!! • Einschränkungen: Spaltenanzahl (in 11g), IOTs, Cluster Table, External Tables, Chained Rows (Fix ab 11.2.0.3 mit MOS 9707965.8) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  14. 14. Administration und Monitoring • Komprimierungseinstellung ändern mit ALTER TABLE COMPRESS oder MOVE COMPRESS (Unterschied!) • Beispiel: ALTER TABLE MOVE PARTITION COMPRESS • DBA_TABLES TABLE_NAME COMPRESS COMPRESS_FOR ----------------------- -------- ------------ CUSTOMERS DISABLED CUST_COMP ENABLED BASIC CUST_OLTP ENABLED OLTP • DBA_SEGMENTS SEGMENT_NAME MB -------------------- ---------- CUST_OLTP 14 CUST_COMP 21 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  15. 15. Monitoring Speicherplatzverbrauch : Unformatted Blocks = 0 F_25 Blocks = 0 F_50 Bytes = 0 F_50 Blocks = 0 (*) Analyse mit DBMS_SPACE.SPACE_USAGE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | F_75 Blocks = 2 F_100 Blocks= 122 Full Blocks = 750 :
  16. 16. Tipps • Anwendung der Komprimierung – bei Tabellen mit grösstem Speicherplatzverbrauch • Speicherplatzeinsparung immer abhängig von – den Daten und dem Ladevorgang • Komprimierungsratio (unkomprimierten/komprimierten Daten) variiert • Bessere Ratio durch: – Verwendung von größeren DB Blöcken – Erhöhung der Daten-Redundanz z.B. durch Laden von sortierten Daten • Performance ist abhängig von den Abfragen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  17. 17. Hybrid Columnar Compression (kurz HCC) BLOCK HEADER CU HEADER C1 BLOCK HEADER BLOCK HEADER BLOCK HEADER C2 Logical Compression Unit (CU) C3 C4 C5 C5 C6 C7 C8 • Neue Kombination der Anordnung nach Spalten und Zeilen ⇒höhere Compression Ratio möglich • Verschiedene Level • Designed für Daten, die nicht häufig verändert werden und Low Concurrency • Komprimierung nur während Bulk Loads! • Verfügbar für Storage wie Exadata, ZFS oder Pillar Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  18. 18. Hybrid Columnar Compression (HCC) • COMPRESS FOR QUERY für DWH CREATE TABLE mass(...) COMPRESS FOR QUERY [LOW|HIGH] • COMPRESS FOR ARCHIVE für Langzeitspeicherung und Daten, CREATE TABLE mass(...) COMPRESS FOR ARCHIVE [LOW|HIGH] Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | die nicht mehr verändert werden • Verwendung von unterschiedlichen Komprimierungs-Algorithmen und unterschiedlichen CU Größen pro Level • Ratio ist höher bei Archive als bei Query • Unterschiedliche Partitionen mit unterschiedlichen Compression
  19. 19. Compression Advisor • Einsatz des Package DBMS_COMPRESSION ab 11gR2 • Ohne zusätzliche Installation für alle Editionen • Unterstützt partitionierte/nicht partitionierte Tabellen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Funktionen: – Erstellt temporäre Objekte um Komprimierungsratio zu berechnen – Analysiert Zeilen auf Komprimierungstyp – Einsatz auch für HCC Komprimierung • Vor 11gR2: Download DBMS_COMP_ADVISOR von OTN – http://www.oracle.com/technetwork/database/options/compression/compression-advisor-095705.html
  20. 20. Compressiontyp • Mit Tabellenname und ROWID SELECT dbms_compression.get_compression_type('SH', 'NOCOMP','AAASOVAAEAAADDoAB8') Rate FROM dual; RATE Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | ---- 1 • wobei – 1: No compression – 2: OLTP Compression
  21. 21. Release2 Compression Advisor: Kompressiontyp declare b_cmp PLS_INTEGER; : begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME=> 'USERS', OWNNAME => 'SH', TABNAME => 'SALES', PARTNAME => 'SALES_Q1_1999', COMPTYPE => 2, Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | BLKCNT_CMP => b_cmp, BLKCNT_UNCMP => b_uncmp, ROW_CMP => row_cmp, ROW_UNCMP => row_uncmp, CMP_RATIO => cmp_ratio, COMPTYPE_STR => cmp_str); : dbms_output.put_line('RATIO => '|| cmp_ratio); dbms_output.put_line('CMPTYPE => '|| cmp_str); :
  22. 22. Ergebnis : BLKCNT_CMP => 115 BLKCNT_UNCMP => 306 RATIO => 2,6 CMPTYPE => „Compress For OLTP“ : Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  23. 23. Compression Advisor für HCC • Kein HCC Storage notwendig • Nutzung der Prozedur DBMS_COMPRESSION. GET_COMPRESSION_RATIO mit – 4: High compression level for query operations – 8: Low compression level for query operations – 16: High compression level for archive operations – 32: Low compression level for archive operations • Voraussetzungen: – 11g Release 2, Mindestgröße der Tabelle: 1 000000 Zeilen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  24. 24. • Änderungen für Basic, OLTP und HCC Compression • BASIC CREATE TABLE sales_history(…) ROW STORE COMPRESS BASIC; Neue Syntax in 12c CREATE TABLE sales_history(…) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • OLTP • Beispiel für HCC ROW STORE COMPRESS ADVANCED; CREATE TABLE sales_history(…) COLUMN STORE COMPRESS FOR QUERY HIGH;
  25. 25. Erweiterungen in 12c • Aufhebung des 255 Spalten Limits für OLTP Compression • DBMS_COMPRESSION Advisor jetzt auch für Securefile LOBs begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME => 'USERS', TABOWNER => 'SH', TABNAME => 'BASIC_LOB', LOBNAME => 'TEXT', PARTNAME => '', COMPTYPE => 128, … Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  26. 26. Neue Online Operationen in 12c • Online Operationen für MOVE PARTITION • Weniger Sperren • Grundlage für ILM Operationen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Beispiele ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 ROW STORE COMPRESS ADVANCED ONLINE; ALTER TABLE sales_big MOVE PARTITION sales_q4_2001 TABLESPACE example ONLINE;
  27. 27. Compression Advisor in 12c • Geänderte Parameternamen und Konstanten bzw. Werte (siehe Handbuch PL/SQL Users Guide) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  28. 28. Konstanten in 12c für Compression Advisor Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  29. 29. Beispiel: Compression Advisor Ratio für Partition Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted 29
  30. 30. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 30 6
  31. 31. Index Komprimierung allgemein • Out of the Box Komprimierung bei Bitmap Indizes • Normale B*Tree Indizes mit Index Key Compression seit jeher – Nutzbar für nonunique Single Column oder unique Multi Column – Indexschlüssel: Aufteilung in Suffix – eindeutigen Teil Präfix – wiederholende Anteile CREATE INDEX ON t1(col1, col2, col3, col4) COMPRESS integer zahl; ALTER INDEX REBUILD [ONLINE] COMPRESS integer zahl; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Starke Reduzierung der Index Leaves • "COMPRESS integer zahl" ist die Anzahl der Präfixspalten
  32. 32. Index Key Compression - Beispiel Arzt Zahnarzt AAAPvCAAFAAAAFaAAa Restaurant Italienisch AAAPvCAAFAAAAFaAAa Arzt Internist AAAPvCAAFAAAAFaAAl Restaurant Bayerisch AAAPvCAAFAAAAFaAAm Restaurant Indisch AAAPvCAAFAAAAFaAAq Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | P0 Restaurant P1 Arzt P1 Zahnarzt AAAPvCAAFAAAAFaAAa P0 Italienisch AAAPvCAAFAAAAFaAAa P1 Internist AAAPvCAAFAAAAFaAAl P0 Bayerisch AAAPvCAAFAAAAFaAAm P0 Indisch AAAPvCAAFAAAAFaAAq
  33. 33. Index Analyse • Güte des Index ANALYZE INDEX basic_lob_kat_ort VALIDATE STRUCTURE; – ANALYZE INDEX Kommando weder ONLINE noch PARALLEL SELECT name, blocks, br_blks,lf_blks, opt_cmpr_pctsave as save, opt_cmpr_count as key FROM index_stats; NAME BLOCKS BR_BLKS LF_BLKS SAVE KEY ----------------- ---------- ---------- ---------- ----- -------- BASIC_LOB_KAT_ORT 768 3 643 46 2 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Resultat • Alternative: MOS Note 989186.1
  34. 34. Advanced Index Compression • Neu in 12c mit ACO • Speziell für Indizes, die keine guten Kandidaten für Index Key Compression sind –Wie z.B. Indizes mit keinen oder nur wenigen doppelten Werten • Kann Partitionsweise verwendet werden • Komprimierung auf Blockebene • Nicht supported für: Bitmap indexes, IOTs und Single Column Unique Indizes • Compression Advisor Erweiterung Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  35. 35. Advanced Index Compression • Index mit Eigenschaft anlegen über CREATE oder ALTER INDEX CREATE INDEX hr.emp_mndp_ix ON hr.employees(manager_id, department_id) COMPRESS ADVANCED LOW; ALTER INDEX hr.emp_mndp_ix COMPRESS ADVANCED LOW; • Monitoren SQL> select index_name, compression from user_indexes; INDEX_NAME COMPRESSION ------------------------------ ------------- EMP_NAME_IX DISABLED EMP_MNDP_IX ADVANCED LOW …. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  36. 36. Compression Advisor und Advanced Index Compression BEGIN dbms_compression.get_compression_ratio ( scratchtbsname => 'USERS', ownname => 'SH', objname => 'B_CUST_POSTAL', subobjname => '', comptype => dbms_compression.COMP_INDEX_ADVANCED_LOW, blkcnt_cmp => l_blkcnt_cmp, blkcnt_uncmp => l_blkcnt_uncmp, row_cmp => l_row_cmp, row_uncmp => l_row_uncmp, cmp_ratio => l_cmp_ratio, comptype_str => l_comptype_str, subset_numrows => dbms_compression.COMP_RATIO_MINROWS, objtype => dbms_compression.OBJTYPE_INDEX); ... Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  37. 37. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 37 6
  38. 38. Data Pump • Bisher: Metadata Komprimierung (Default) mit expdp compression = METADATA_ONLY ... • Neu: Advanced Compression expdp compression = ALL | DATA_ONLY ... – Tabellendaten-Komprimierung während des Data Pump Exports – Vollständige Inline Operation bei Export und Import – Funktioniert mit komprimierten und unkomprimierten Daten – Applikationstransparent: keine Einschränkung der Data Pump Funktionen – Größenreduzierung bis zu 75% Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  39. 39. Testergebnisse Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Quelle: An Oracle White Paper May 2011 Case Study Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative
  40. 40. Neuerung in 12c: Data Pump • Import gibt Komprimierung vor - unabhängig von der Komprimierungseigenschaft der Tabelle im Export bzw. des Ziel Tablespaces • Beispiel: Tabelle mit COMPRESS BASIC Einstellung impdp dumpfile=sh.dmp directory=home tables=sh.cust_copy TRANSFORM = TABLE_COMPRESSION_CLAUSE:"COMPRESS BASIC" Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  41. 41. Neuerungen in 12c: External Table Compression • Seit 10g können mit External Tables Daten aus der Datenbank in eine binäre Datei geschrieben werden. • Neu ist die Verwendung von Compression Syntax um Daten zu komprimieren, bevor sie in der binären Datei abgelegt werden. CREATE TABLE sh.ext_sales_products_basic ORGANIZATION EXTERNAL ( TYPE oracle_datapump DEFAULT DIRECTORY home ACCESS PARAMETERS (compression enabled basic) LOCATION ('sales_prod.exp_low')) REJECT LIMIT UNLIMITED AS SELECT p.prod_name, s.quantity_sold, s.cust_id FROM sh.sales s JOIN sh.products p USING (prod_id); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  42. 42. RMAN Komprimierung • Vor 11g – RMAN Backup mit und ohne Komprimierung möglich – Syntax für komprimiertes Backup RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE; • Mit Advanced Compression Option stehen weitere Algorithmen zur Verfügung RMAN> CONFIGURE COMPRESSION ALGORITHM 'BASIC|LOW|MEDIUM|HIGH'; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  43. 43. RMAN Komprimierung • Komprimierung des Backupsets, bevor auf Platte geschrieben wird • Funktioniert mit komprimierten und unkomprimierten Daten • 3 neue Algorithmen mit Advanced Compression Option NAME ALGORITHM_DESCRIPTION COMPATIBILITY ------ -------------------------------------------- ------------ BASIC good compression ratio 9.2.0.0.0 LOW maximum possible compression speed 11.2.0.0.0 MEDIUM balance between speed and compression ratio 11.0.0.0.0 HIGH maximum possible compression ratio 11.2.0.0.0 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  44. 44. RMAN Tests Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Quelle: An Oracle White Paper May 2011 Case Study Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative
  45. 45. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 45 6
  46. 46. Unstrukturierte Daten • Ab 11g Komprimierung für SecureFiles möglich • Keine Programmierung notwendig • Speicherplatzeinsparungen abhängig von Datenformaten (Word,HTML,XML,JPEG etc.) • Performancegewinn abhängig von Queries • Nutzbar auch im 11gR2 Database Filesystem • Unabhängig von Table Compression • Wichtig: Alle Programmierschnittstellen bleiben gleich! Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  47. 47. Beispiele • Aktivierung durch Storage-Klausel und/oder Parameter DB_SECUREFILE[PERMITTED,NEVER,FORCE,ALWAYS,IGNORE] CREATE TABLE bilder (...bild BLOB) LOB (bild) STORE AS SECUREFILE (COMPRESS HIGH|MEDIUM|LOW ...) CREATE TABLE media_secure (id NUMBER,... lob1 BLOB) LOB (lob1) STORE AS SECUREFILE (DEDUPLICATE COMPRESS HIGH) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Secure hash
  48. 48. Tipps • Monitoring der Einstellungen in USER_/DBA_LOBS TABLE_NAME COMPRE DEDUPLICATION ------------------------ ------ --------------- COMP_LOB HIGH NO UNCOMP_LOB NO NO • Größe bestimmen in – DBA_SEGMENTS oder DBMS_SPACE (auch für SecureFiles) – Kein Compression Advisor • Ergebnis ist abhängig von der Größe und dem eingesetzten Format • Bereits vorkomprimiertes Format ja/nein? • Z.B. .doc (unkomp) : hoch .docx (komp) : niedrig Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  49. 49. Unterschiedliche Formate Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  50. 50. Tipps • Separater Tablespace für LOB Speicherung mag sinnvoll sein • Platzeinsparung durch Komprimierung bei Blockwahl beachten • LOB-Speicherparameter wie STORAGE IN ROW beachten • Migration über Neuladen oder mit DBMS_REDEFINITION Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  51. 51. Compression Advisor und Securefile Compression begin DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( SCRATCHTBSNAME => 'USERS', TABOWNER => 'SH', TABNAME => 'BASIC_LOB', LOBNAME => 'TEXT', Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | PARTNAME => '', COMPTYPE => 128, BLKCNT_CMP => b_cmp, BLKCNT_UNCMP => b_uncmp, LOBCNT => lob_cnt, CMP_RATIO => cmp_ratio, COMPTYPE_STR => cmp_str); ...
  52. 52. Weitere Themen • Was ist mit UTL_COMPRESS Package? – Geeignet für LOBs, RAW und BFILEs – Programmierung nötig • Was sind die Unterschiede zu Hardware Storage Compression? – Nicht „Database Aware“ – Komprimierung auf Datei Ebene – Nicht „Buffer Cache Aware“ – Queries müssen vorher Dekomprimierung durchführen Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  53. 53. Noch mehr Speicherplatz einsparen ... • Deferred Segment Creation • Zero Size UNUSABLE Index • External Tables mit Pre-Processing • Dictionary-Only Add Column mit Default Wert (12c) Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  54. 54. Agenda Komprimierung in der Datenbank - Vorteile Strukturierte Daten Index Key Compression, Advanced Index Compression 1 2 3 Backup Unstrukturierte Daten Noch mehr Features in 12c Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 4 5 Oracle Confidential – Internal/Restricted/Highly Restricted 54 6
  55. 55. Netzwerk Compression • Bisher: Redo Compression beim Data Guard Transport • Erweiterung der Komprimierung in Netzwerk Umfeld • Vorteil –Verminderung des Datenvolumens –Erhöhung der Netzwerk Performance • Neuer SQLNET Parameter zur Einstellung SQLNET.COMPRESSION = on SQLNET.COMPRESSION_LEVELS =(high) SQLNET.COMPRESSION_THRESHOLD = 1024 Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  56. 56. ILM in der Oracle Database • ILM Integration in den Datenbank Kern – Heat Map: automatisches Monitoring und Klassifikation (Hot/Cold Data) – Automatic Data Placement /Optimization: Policies, automatisiert in der Datenbank ausgeführt • ... zusätzlich Erweiterungen in Bereichen wie ... Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – Kompression – Partitionierung
  57. 57. Das Konzept: Heat Map Tracking • Eine Heat Map liefert Zugriffsinformationen auf die Daten • Ebenen Segment: Welche Tabellen/Partitionen werden wie Active Frequent HOT Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | – verwendet? – Block: Welche Blöcke wurden wann verändert? • Umfassend – Überwacht Reads ,Writes, Index und Full Table Scans – Ausschluss der Operationen Statistics Gathering, DDLs usw. • Performant Access Occasional Access Dormant COLD
  58. 58. Grundsätzliches • Dynamisch einschaltbar über einen Parameter ALTER SYSTEM SET heat_map=on scope=both; • Administration und Monitoring über – V$View und Data Dictionary Views – Packages – Enterprise Manager Cloud Control 12c • Lizenzierung: EE mit Advanced Compression Option Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  59. 59. ORDERS Überwachen über … • DBA_HEATMAP_TOP_TABLESPACES • DBA_HEATMAP_TOP_OBJECTS • DBA_HEAT_MAP_SEGMENT • DBA_HEAT_MAP_SEGMENT_HISTOGRAM Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • V$HEAT_MAP_SEGMENT • DBMS_HEAT_MAP
  60. 60. Heat Map im Enterprise Manager Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  61. 61. Automatische Datenoptimierungen • Vor: Aktivierung der Heat Map • Umfassen folgende Aktionen – Komprimieren von Daten Bewegen von Daten (auch Storage Tiering ) Less Active Active Historical – • Komprimieren in Abhängigkeit von Bedingungen wie – Zeit nach Erzeugung (CREATION), Zugriffsverhalten (ACCESS), Änderung an Daten (MODIFICATION) oder eigene Bedingung • Implementierung über Policies mit CREATE/ALTER Befehlen • Lizenzierung: EE mit Advanced Compression Option Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  62. 62. Automatische Segment Komprimierung • Für Tabellen (Vererbung auf Partitionen) ALTER TABLE sh.sales ILM ADD POLICY row store compress advanced SEGMENT ORDERS AFTER 1 DAY OF NO MODIFICATION; Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Für einzelne Partitionen ALTER TABLE sh.sales MODIFY PARTITION sales_q4_2000 ILM ADD POLICY row store compress advanced SEGMENT AFTER 1 DAY OF NO MODIFICATION;
  63. 63. Automatische ROW Komprimierung • Ein Block wird komprimiert, wenn alle Zeilen im Block die Bedingung erfüllen ALTER TABLE sh.products ILM ADD POLICY ORDERS row store compress advanced ROW AFTER 30 DAYS OF NO MODIFICATION; • Nur für ADVANCED ROW oder BASIC Compression Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  64. 64. Ausführung der Policies • Ausführung – automatisch im Maintenance Window oder manuell declare execution_mode => dbms_ilm.ilm_execution_offline, task_id => v_executionid); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | v_executionid number; begin dbms_ilm.execute_ilm( end; • Online oder Offline möglich
  65. 65. Automatische Verlagerung (Storage Tiering) SOURCE Tablespace TARGET Tablespace SOURCE Tablespace T1 Zugriff letzte Woche T2 Zugriff heute MOVE 55% T1 60% 55% Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | T3 Zugriff gestern T2 T3 SELECT * FROM dba_ilmparameters; NAME VALUE ------------------------------ ---------- TBS PERCENT USED 55 TBS PERCENT FREE 45 ...
  66. 66. 1. Tabellen wachsen => Policiy komprimiert die Daten 2. Tablespace mit Partitionen erreicht ORDERS ALTER TABLE EMPLOYEE ILM ADD POLICY TIER TO <LOW_COST_TABLESPACE> Storage Tiering Tablespace Tierung Grenze 3. Partitionen werden in einen anderen Tablespace verlagert Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  67. 67. Automatische Verlagerung am Beispiel Policy anlegen ALTER TABLE scott.employee ILM ADD POLICY TIER TO low_cost_store; ORDERS • Tablespace Threshold setzen/prüfen SELECT * FROM dba_ilmparameters; dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_used,85); dbms_ilm_admin.customize_ilm(dbms_ilm_admin.tbs_percent_free,25); Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  68. 68. Zusammenfassung Daten Klassifikation Automatische Erkennung Automatisches Durchführen WHAT IF and WHEN Then AUTOMATICALLY do Bereiche(Scope) Aktionen Bedingungen •Welche Operationen? Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | • Tablespace • Segment • Row/Block Voraussetzung: Heat Map • Komprimieren • Verlagern nach Storage Tier • Beides – Erzeugen – Keine Daten-Änderung – Kein Daten-Zugriff – Business Regel •Wann? – Nach 3 Tagen – Nach 1 Monat – Falls Tablespace voll
  69. 69. Weitere Neuerungen für Compression Advisor in 12c • Graphische Implementierung im Enterprise Manager • Unterstützung von In-Memory Compression – Neue Konstanten • COMP_INMEMORY_NOCOMPRESS • COMP_INMEMORY_DML • COMP_INMEMORY_QUERY_LOW • COMP_INMEMORY_QUERY_HIGH • COMP_INMEMORY_CAPACITY_LOW • COMP_INMEMORY_CAPACITY_HIGH – Vor: In memory ColumnStore muss konfiguriert sein Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  70. 70. Compression Advisor in Cloud Control Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  71. 71. Weitere Informationen • OTN mit White Paper etc. http://www.oracle.com/us/products/database/options/advanced-compression/ overview/index.html • Weiteres White Paper: Oracle Advanced Compression Helps Global Fortune 500 Company Meet Storage Savings Initiative • Deutschsprachiges Dojo: Komprimierung in der Datenbank http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html • Veranstaltungen: tinyurl.com/oraclebudb Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

×