Скачать презентацию Compressing Very Large Data Sets in Oracle Luca Скачать презентацию Compressing Very Large Data Sets in Oracle Luca

fc106d553eb790121c2b86dd8c7da493.ppt

  • Количество слайдов: 46

Compressing Very Large Data Sets in Oracle Luca Canali, CERN UKOUG Conference Birmingham, December Compressing Very Large Data Sets in Oracle Luca Canali, CERN UKOUG Conference Birmingham, December 1 st, 2009

Outline § Physics databases at CERN and compression Use cases for compression and archive Outline § Physics databases at CERN and compression Use cases for compression and archive for Physics DBs @ CERN § Current experience with 10 g § Advanced compression tests with 11 g § § Oracle and compression internals A closer look on how compression is implemented in Oracle § BASIC, OLTP, Columnar compression § Appendix: how to play with hybrid columnar without exadata § Compressing Very Large Data Sets in Oracle, Luca Canali 2

CERN and LHC Compressing Very Large Data Sets in Oracle, Luca Canali 3 CERN and LHC Compressing Very Large Data Sets in Oracle, Luca Canali 3

LHC data Balloon (30 Km) CD stack with 1 year LHC data! (~ 20 LHC data Balloon (30 Km) CD stack with 1 year LHC data! (~ 20 Km) LHC data correspond to about 20 million CDs each year! Concorde (15 Km) RDBMS play a key role for the analysis of LHC data Mt. Blanc (4. 8 Km) Compressing Very Large Data Sets in Oracle, Luca Canali 4

Why Compression? § The ‘high level’ view: § § § Databases are growing fast, Why Compression? § The ‘high level’ view: § § § Databases are growing fast, beyond TB scale CPUs are becoming faster There is a opportunity to reduce storage cost by using compression techniques Gaining in performance while doing that too Oracle provides compression in the RDBMS Compressing Very Large Data Sets in Oracle, Luca Canali 5

Making it Work in Real World § Evaluate gains case by case Not all Making it Work in Real World § Evaluate gains case by case Not all applications can profit § Not all data models can allow for it § Compression can give significant gains for some applications § In some other cases applications can be modified to take advantage of compression § § Comment: Our experience of deploying partitioning goes on the same track § Implementation involves developers and DBAs § Compressing Very Large Data Sets in Oracle, Luca Canali 6

Evaluating Compression Benefits § Compressing segments in Oracle § Save disk space • Can Evaluating Compression Benefits § Compressing segments in Oracle § Save disk space • Can save cost in HW • Beware that capacity in often not as important as number of disks, which determine max IOPS § Compressed segments need less blocks so • Less physical IO required for full scan • Less logical IO / space occupied in buffer cache • Beware compressed segments will make you consume more CPU Compressing Very Large Data Sets in Oracle, Luca Canali 7

Compression and Expectations § A 10 TB DB can be shrunk to 1 TB Compression and Expectations § A 10 TB DB can be shrunk to 1 TB of storage with a 10 x compression? Not really unless one can get rid of indexes § Data ware house like with only FULL SCAN operations § Data very rarely read (data on demand, almost taken offline) § § Licensing costs Advanced compression option required for anything but basic compression § Exadata storage required for hybrid columnar § Compressing Very Large Data Sets in Oracle, Luca Canali 8

Use Case 1: Data Life Cycle § Transactional application with historical data Data has Use Case 1: Data Life Cycle § Transactional application with historical data Data has an active part (high DML activity) § Older data is made read-only (or read-mostly) § As data ages, becomes less and less used § Compressing Very Large Data Sets in Oracle, Luca Canali 9

Example of Archiving and Partitioning for Physics Applications § Separation of active and the Example of Archiving and Partitioning for Physics Applications § Separation of active and the read-mostly part Data is inserted with a timestamp (log-like) § Most queries will specify a timestamp value or a time interval § Range/interval partitioning, by time comes natural § • Example: Atlas’ PANDA, DASHBOARD § Other option: application takes care of using multiple tables • Example: PVSS • More flexible but need app to maintain metadata § Alternative: archiving as post-processing This steps allow to add modifications § Ex: changing index structure (Atlas’ PANDA) § Compressing Very Large Data Sets in Oracle, Luca Canali 10

Archive DB and Compression § Non-active data can be compressed To save storage space Archive DB and Compression § Non-active data can be compressed To save storage space § In some cases speed up queries for full scans § Compression can be applied as post-processing § • On read-mostly data partitions – (Ex: Atlas’ PVSS, Atlas MDT DCS, LCG’s SAME) • With alter table move or online redefinition § Active data § Non compressed or compressed for OLTP (11 g) Compressing Very Large Data Sets in Oracle, Luca Canali 11

Data Archive and Indexes § Indexes do not compress well Drop indexes in archive Data Archive and Indexes § Indexes do not compress well Drop indexes in archive when possible § Risk archive compression factor dominated by index segments § § Important details when using partitioning § Local partitioned indexes preferred • for ease of maintenance and performance • Note limitation: columns in unique indexes need be superset of partitioning key • May require some index change for the archive – Disable PKs in the archive table (Ex: Atlas PANDA) – Or change PK to add partitioning key Compressing Very Large Data Sets in Oracle, Luca Canali 12

Use Case 2: Archive DB § Move data from production to a separate archive Use Case 2: Archive DB § Move data from production to a separate archive DB Cost reduction: archive DB is sized for capacity instead of IOPS § Maintenance: reduces impact of production DB growth § Operations: archive DB is less critical for HA than production § Compressing Very Large Data Sets in Oracle, Luca Canali 13

Archive DB in Practice § Detach ‘old’ partitions form prod and load them on Archive DB in Practice § Detach ‘old’ partitions form prod and load them on the archive DB Can use partition exchange to table § Also transportablespace is a tool that can help § Archive DB post-move jobs can implement compression for archive (exadata 11 g. R 2) § Post-move jobs may be implemented to drop indexes § § Difficult point: One needs to move a consistent set of data § Applications need to be developed to support this move § • Access to data of archive need to be validated with application owners/developers • New releases of software need to be able to read archived data Compressing Very Large Data Sets in Oracle, Luca Canali 14

Example of Data Movement Compressing Very Large Data Sets in Oracle, Luca Canali 15 Example of Data Movement Compressing Very Large Data Sets in Oracle, Luca Canali 15

Use Case 3: Read-Only Large Fact Table § Data warehouse like Data is loaded Use Case 3: Read-Only Large Fact Table § Data warehouse like Data is loaded once and queried many times § Table access has many full scans § § Compression Save space § Reduces physical IO § • Can be beneficial for performance Compressing Very Large Data Sets in Oracle, Luca Canali 16

Is There Value in the Available Compression Technology? § Measured compression factors for tables: Is There Value in the Available Compression Technology? § Measured compression factors for tables: § About 3 x for BASIC and OLTP • In prod at CERN, example: PVSS, LCG SAME, Atlas TAGs, Atlas MDT DCS 10 -20 x for hybrid columnar (archive) § more details in the following § § Compression can be of help for the use cases described above Worth investigating more the technology § Compression for archive is very promising § Compressing Very Large Data Sets in Oracle, Luca Canali 17

Compression for Archive – Some Tests and Results § Tests of hybrid columnar compression Compression for Archive – Some Tests and Results § Tests of hybrid columnar compression § Exadata V 1, ½ rack § Oracle 11 g. R 2 § Courtesy of Oracle § Remote access to a test machine in Reading Compressing Very Large Data Sets in Oracle, Luca Canali 18

Advanced Compression Tests § Representative subsets of data from production exported to Exadata V Advanced Compression Tests § Representative subsets of data from production exported to Exadata V 1 Machine: § § § Applications: PVSS (slow control system for the detector and accelerator) GRID monitoring applications File transfer applications (PANDA) Log application for ATLAS Exadata machine accessed remotely to Reading, UK for a 2 -week test § Tests focused on : OLTP and Hybrid columnar compression factors § Query speedup § Compressing Very Large Data Sets in Oracle, Luca Canali 19

Hybrid Columnar Compression on Oracle 11 g. R 2 and Exadata Compression factor Measured Hybrid Columnar Compression on Oracle 11 g. R 2 and Exadata Compression factor Measured Compression factor for selected Physics Apps. 70 60 50 40 Column ar for Column Archive ar for High Column Archive ar for Low Column Query ar for High OLTP Query compre Low ssion 30 20 10 0 PVSS (261 M rows, 18 GB) No compre ssion LCG GRID Monitoring (275 M rows, 7 GB) LCG TESTDATA 2007 (103 M rows, 75 GB) ATLAS PANDA FILESTABLE (381 M rows, 120 GB) ATLAS LOG MESSAGES (323 M rows, 66 GB) Data from Svetozar Kapusta – Openlab (CERN). Compressing Very Large Data Sets in Oracle, Luca Canali 20

Full Scan Speedup – a Basic Test Compressing Very Large Data Sets in Oracle, Full Scan Speedup – a Basic Test Compressing Very Large Data Sets in Oracle, Luca Canali 21

IO Reduction for Full Scan Operations on Compressed Tables Speed up of full scan IO Reduction for Full Scan Operations on Compressed Tables Speed up of full scan Hypothetical full scan speed up for count(*) operations Obtained by disabling cell offloading in exadata. 30 25 20 ARC HIVE ARC QUE HIVE HIGH QUE RY LOW BASI RY HIGH OLTP C LOW 15 10 5 0 PVSS (261 M rows, 18 GB) ATLAS PANDA FILESTABLE (381 M, 120 GB) ATLAS LOG MESSAGES (323 M rows, 78 GB) NO COM PRE SSIOMonitoring (275 M rows, 7 GB) LCG GRID N LCG TESTDATA (103 M rows, 75 GB) Data from Svetozar Kapusta – Openlab (CERN). Compressing Very Large Data Sets in Oracle, Luca Canali 22

Time to Create Compressed Tables Data from Svetozar Kapusta – Openlab (CERN). Compressing Very Time to Create Compressed Tables Data from Svetozar Kapusta – Openlab (CERN). Compressing Very Large Data Sets in Oracle, Luca Canali 23

A Closer Look to Compression. . the Technology Part A Closer Look to Compression. . the Technology Part

Oracle Segment Compression What is Available § Heap table compression: Basic (from 9 i) Oracle Segment Compression What is Available § Heap table compression: Basic (from 9 i) § For OLTP (from 11 g. R 1) § 11 g. R 2 hybrid columnar (11 g. R 2 exadata) § § Other compression technologies § Index compression • Key factoring • Applies also to IOTs § Secure files (LOB) compression • 11 g compression and deduplication Compressed external tables (11 g. R 2) § Details not covered here § Compressing Very Large Data Sets in Oracle, Luca Canali 25

Compression - Syntax § 11 g. R 2 syntax for compressed tables § Example: Compression - Syntax § 11 g. R 2 syntax for compressed tables § Example: create table MYCOMP_TABLE compress BASIC compress for OLTP compress for QUERY [LOW|HIGH] compress for ARCHIVE [LOW|HIGH] as select * from MY_UNCOMP_TABLE; Compressing Very Large Data Sets in Oracle, Luca Canali 26

Compression Details – Basic and ‘OLTP’ Compression § From Oracle ‘concepts manual’: • The Compression Details – Basic and ‘OLTP’ Compression § From Oracle ‘concepts manual’: • The format of a data block that uses basic and OLTP table compression is essentially the same as an uncompressed block. • The difference is that a symbol table at the beginning of the block stores duplicate values for the rows and columns. • The database replaces occurrences of these values with a short reference to the symbol table. § How to investigate what goes on? • alter system dump datafile block min block max ; Compressing Very Large Data Sets in Oracle, Luca Canali 27

Block Dumps Show Symbols’ Table block_row_dump: tab 0, row 0, @0 x 1 f Block Dumps Show Symbols’ Table block_row_dump: tab 0, row 0, @0 x 1 f 66 tl: 13 fb: --H-FL-- lb: 0 x 0 col 0: [ 3] 53 59 53 col 1: [ 5] cc: 2 SYS 49 4 e 44 45 58 bindmp: 00 d 4 02 cb 53 59 53 cd 49 4 e 44 45 58 tab 0, row 1, @0 x 1 f 73 tl: 13 fb: --H-FL-- lb: 0 x 0 col 0: [ 3] 1: [ 5] Symbols’ table is tab 0 cc: 2 53 59 53 col INDEX 54 41 42 4 c 45 bindmp: 00 b 6 02 cb 53 59 53 cd 54 41 42 4 c 45 tab 1, row 0, @0 x 1 f 5 b tl: 11 fb: --H-FL-- lb: 0 x 0 col 0: [ 3] 53 59 53 col 1: [ 5] 54 41 42 4 c 45 col 2: [ 5] cc: 3 49 43 4 f 4 c 24 bindmp: 2 c 00 02 02 01 cd 49 43 4 f 4 c 24 tab 1, row 1, @0 x 1 f 4 e tl: 13 fb: --H-FL-- lb: 0 x 0 Actual data: tab 1 Row 1: SYS ICOL$ TABLE Row 2: SYS I_USER 1 INDEX Row 3: SYS CON$ TABLE … cc: 3 col 0: [ 3] 53 59 53 col 1: [ 5] 49 4 e 44 45 58 col 2: [ 7] 49 5 f 55 53 45 52 31 Uncompressed data bindmp: 2 c 00 02 02 00 cf 49 5 f 55 53 45 52 31 Actual binary dump of row tab 1, row 2, @0 x 1 f 44 tl: 10 fb: --H-FL-- lb: 0 x 0 col 0: [ 3] 53 59 53 col 1: [ 5] 54 41 42 4 c 45 col 2: [ 4] cc: 3 43 4 f 4 e 24 bindmp: 2 c 00 02 02 01 cc 43 4 f 4 e 24 Compressing Very Large Data Sets in Oracle, Luca Canali 28

OLTP Compression – Not Limited to Direct Load § Allows ‘normal INSERT’ into the OLTP Compression – Not Limited to Direct Load § Allows ‘normal INSERT’ into the table Empty Block Initially Uncompressed Block Compressed Block Partially Compressed Block Legend Header Data Uncompressed Data Free Space Compressed Data Picture: B. Hodak Oracle (OOW ‘ 09 and OTN whitepaper). Compressing Very Large Data Sets in Oracle, Luca Canali 29

Compression and INSERT operations § Test: insert row by row with a PL/SQL loop Compression and INSERT operations § Test: insert row by row with a PL/SQL loop into a compressed table • • Test from. T. Kyte’s presentation on 11 g (UKOUG 2007) Following test used 50 k rows from dba_objects Basic compression reverts to no compression Hybrid columnar reverts to OLTP compression Table Compr Type Table Blocks no compression basic compression comp for oltp comp for query high Elapsed Time (from 10046 trace) 748 1. 3 sec 244 2. 2 sec 244 Compressing Very Large Data Sets in Oracle, Luca Canali 2. 2 sec 30

Compression Internals – OLTP § When is the block compressed? How much CPU does Compression Internals – OLTP § When is the block compressed? How much CPU does this operation take? § 10046 trace to investigate § EXEC EXEC #4: c=0, e=24, p=0, cr=0, cu=1, mis=0, r=1, dep=1, og=1, plh=0, tim=1259098278863899 #2: c=0, e=25, p=0, cr=0, cu=1, mis=0, r=1, dep=1, og=1, plh=0, tim=1259098278864072 #4: c=1000, e=527, p=0, cr=1, cu=5, mis=0, r=1, dep=1, og=1, plh=0, tim=1259098278864685 #2: c=0, e=28, p=0, cr=0, cu=1, mis=0, r=1, dep=1, og=1, plh=0, tim=1259098278864795 #4: c=0, e=26, p=0, cr=0, cu=1, mis=0, r=1, dep=1, og=1, plh=0, tim=1259098278864895 § Block is compressed when it becomes full i. e. When it reaches PCTFREE § Each time block compression takes place, the insert operation takes more CPU to execute § Compressing Very Large Data Sets in Oracle, Luca Canali 31

Comments on Basic and OLTP compression § Basic and OLTP compression use the same Comments on Basic and OLTP compression § Basic and OLTP compression use the same underlying algorithm § Rows are compressed by the use of a symbols’ table § Block structure not too different from ‘normal’ heap tables § Compression factors variations depend on data § Also sorting (row order) can make a difference § A basic example has been shown § Block dumps can be used for further investigations Compressing Very Large Data Sets in Oracle, Luca Canali 32

A Closer Look at Hybrid Columnar Compression § Data is stored in compression units A Closer Look at Hybrid Columnar Compression § Data is stored in compression units (CUs), a collection of blocks (around 32 K) § Each compression unit stores data internally ‘by column’: § This enhances compression Logical Compression Unit BLOCK HEADER CU HEADER C 1 C 2 BLOCK HEADER C 3 BLOCK HEADER C 7 C 4 BLOCK HEADER C 5 C 6 C 8 Picture and info from: B. Hodak, Oracle (OOW 09 presentation on OTN). Compressing Very Large Data Sets in Oracle, Luca Canali 33

Block Dumps Hybrid Columnar 1/2 block_row_dump: tab 0, row 0, @0 x 30 tl: Block Dumps Hybrid Columnar 1/2 block_row_dump: tab 0, row 0, @0 x 30 tl: 8016 fb: --H-F--N lb: 0 x 0 nrid: cc: 1 col 0 x 00 d 73394. 0 0: [8004] Compression level: 02 (Query High) Comp for query high Length of CU row: 8004 kdzhrh: ------PC CBLK: 4 Start Slot: 00 NUMP: 04 PNUM: 00 POFF: 7954 PRID: 0 x 00 d 73394. 0 PNUM: 01 POFF: 15970 PRID: 0 x 00 d 73395. 0 CU of 4 blocks PNUM: 02 POFF: 23986 PRID: 0 x 00 d 73396. 0 PNUM: 03 POFF: 32002 PRID: 0 x 00 d 73397. 0 CU header: CU version: 0 CU magic number: 0 x 4 b 445 a 30 CU checksum: 0 xf 980 be 25 CU total length: 33278 CU flags: NC-U-CRD-OP 6237 rows are contained in this CU ncols: 15 nrows: 6237 algo: 0 CU decomp length: 32416 len/value length: 544730 row pieces per row: 1 num deleted rows: 0 CU length START_CU: 00 00 1 f 44 17 04 00 00 00 04 00 00 1 f 12 00 d 7 33 94 00 00 3 e 62 00 d 7 33 95 00 00 5 d b 2 00 d 7 33 96 00 00 7 d 02 00 d 7 33 97 00 00. . . Compressing Very Large Data Sets in Oracle, Luca Canali 34

Block Dumps Hybrid Columnar 2/2 Compression level: 04 (Archive High) Length of CU row: Block Dumps Hybrid Columnar 2/2 Compression level: 04 (Archive High) Length of CU row: 8004 Comp for archive high kdzhrh: ------PC CBLK: 12 Start Slot: 00 NUMP: 19 CU of 19 blocks PNUM: 00 POFF: 7804 PRID: 0 x 00 d 73064. 0 PNUM: 01 POFF: 15820 PRID: 0 x 00 d 73065. 0 … … PNUM: 16 POFF: 136060 PRID: 0 x 00 d 73075. 0 PNUM: 17 POFF: 144076 PRID: 0 x 00 d 73076. 0 PNUM: 18 POFF: 152092 PRID: 0 x 00 d 73077. 0 CU header: CU version: 0 CU magic number: 0 x 4 b 445 a 30 CU checksum: 0 x 966 d 9 a 47 CU total length: 159427 CU flags: NC-U-CRD-OP 32759 rows are contained in this CU ncols: 15 nrows: 32759 algo: 0 CU decomp length: 155250 len/value length: 3157609 row pieces per row: 1 num deleted rows: 0 CU length START_CU: 00 00 1 f 44 27 0 c 00 00 00 13 00 00 1 e 7 c 00 d 7 30 64 00 00 3 d cc 00 d 7 30 65 00 00 5 d 1 c 00 d 7 30 66 00 00 7 c 6 c 00 d 7 30 67 00 00. . . Compressing Very Large Data Sets in Oracle, Luca Canali 35

Compression Factors § An artificial tests to put compression algorithms into work § Two Compression Factors § An artificial tests to put compression algorithms into work § Two different types of test table Constant: each row contains a random string § Random: each row contains a repetition of a given string § 100 M rows of about 200 bytes each § Details of the test in the notes for this slide § Compressing Very Large Data Sets in Oracle, Luca Canali 36

Compression Factors Compression Table Type Blocks Used Comp Factor Constant Table no compression 2637824 Compression Factors Compression Table Type Blocks Used Comp Factor Constant Table no compression 2637824 1 Constant Table comp basic 172032 15. 3 Constant Table comp for oltp 172032 15. 3 comp for archive Constant Table high 3200 824. 3 Constant Table comp for query high 3200 824. 3 ---------------------Random Table no compression 2711552 1 Random Table comp basic 2708352 1. 0 Random Table comp for oltp 2708352 1. 0 comp for archive Random Table high 1277952 2. 1 comp for query Random Table high 1449984 1. 9 Compressing Very Large Data Sets in Oracle, Luca Canali 37

Hybrid Columnar and gzip § Compression for archive reaches high compression How does it Hybrid Columnar and gzip § Compression for archive reaches high compression How does it compare with gzip? § A simple test to give a ‘rough idea’ § Test: used a table populated with dba_objects § • Results ~20 x compression in both cases Method Uncompressed Compressed Ratio gzip -9 compress for archive high 13763946 bytes 622559 bytes 22 896 blocks 19 48 blocks Compressing Very Large Data Sets in Oracle, Luca Canali 38

Compression and DML What happens when I update a row on compressed tables? What Compression and DML What happens when I update a row on compressed tables? What about locks? § BASIC and OLTP: the updated row stays in the compressed block § ‘usual’ Oracle’s row-level locks § § Hybrid columnar: § Updated row is moved, as in a delete + insert • How to see that? With dbms_rowid package New row is OLTP compressed if possible § Lock affects the entire CU that contains the row § Compressing Very Large Data Sets in Oracle, Luca Canali 39

Compression and Single-row Index Range Scan access Consistent gets Table Compr Type (select *) Compression and Single-row Index Range Scan access Consistent gets Table Compr Type (select *) (select owner) no compression 4 4 basic compression 4 4 comp for oltp 4 4 comp for query high 9 5 comp for query low 9 5 comp for archive low 10 5 comp for archive high 24 5 § Test SQL: select from a copy of dba_objects with a index on object_id § Predicate: ‘where object_id=100 § Note: ‘owner’ is the first column of the test table Compressing Very Large Data Sets in Oracle, Luca Canali 40

Comments on Hybrid Columnar compression § The algorithms used by the various hybrid columnar Comments on Hybrid Columnar compression § The algorithms used by the various hybrid columnar compression levels are not exposed § A few guesses from simple tests: Compression Units seem to group together several 1000 s of rows, up to 32 K rows § Compression of table data in the CU seems to have similar compression efficiency than gzip § Rows are not identifiable inside a block dump of a CU § Single-row index access requires more consistent block gets § Compressing Very Large Data Sets in Oracle, Luca Canali 41

Appendix § How to test hybrid columnar compression without exadata storage? The correct answer: Appendix § How to test hybrid columnar compression without exadata storage? The correct answer: you don’t! § In the case of ‘a playground’. . there is a way. . § § The issue: § ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage Compressing Very Large Data Sets in Oracle, Luca Canali 42

Chain of Requirements SQL> select PREDICATE_EVALUATION from dba_tablespaces where tablespace_name='USERS'; PREDICATE_EVALUATION ----------STORAGE -> Note Chain of Requirements SQL> select PREDICATE_EVALUATION from dba_tablespaces where tablespace_name='USERS'; PREDICATE_EVALUATION ----------STORAGE -> Note default is HOST § Predicate evaluation is determined by a diskgroup attribute: SQL> select VALUE from v$asm_attribute where NAME='cell. smart_scan_capable'; VALUE -----TRUE -> Note on non-exadata storage it’s FALSE Compressing Very Large Data Sets in Oracle, Luca Canali 43

How to Force Change (corrupt) an ASM Attribute does not work, as ASM checks How to Force Change (corrupt) an ASM Attribute does not work, as ASM checks wether storage is exadata or not Alter diskgroup § Workaround (for playgrounds only): Modify attribute directly on ASM file N. 9 How? § Find where the extent for ASM file 9 is located by querying x$kffxp § Read block 3 of ASM file 9 with Oracle’s kfed utility § Edit the local copy of the block and change cell. smart_scan_capable attribute § Write block 3 of ASM file 9 with kfed utility § Details and important post-change steps in notes part of this slide § Compressing Very Large Data Sets in Oracle, Luca Canali 44

Conclusions § Oracle and DB tables compression: § Successfully used in production physics DBs Conclusions § Oracle and DB tables compression: § Successfully used in production physics DBs • • § In particular archival of read-mostly data Also for DW-like workload Works well with partitioning in our experience Caveat: indexes do not compress as well as table data Compression factors vary with data • Benefits are to be evaluated case by case § Advanced compression in 11 g Compression for OLTP very interesting § Hybrid columnar compression § • Can provide for high compression ratios • Currently available in prod only on exadata Compressing Very Large Data Sets in Oracle, Luca Canali 45

Acknowledgments Physics DB team and in particular for this work: § Maria Girone, Svetozar Acknowledgments Physics DB team and in particular for this work: § Maria Girone, Svetozar Kapusta, Dawid Wojcik Oracle, in particular for the opportunity of testing on Exadata: Monica Marinucci, Bill Hodak, Kevin Jernigan More info: http: //cern. ch/phydb § http: //www. cern. ch/canali § Compressing Very Large Data Sets in Oracle, Luca Canali 46