Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column...

27
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Transcript of Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column...

Page 1: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Page 2: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

DB12c on SPARC M7 InMemory PoC for Oracle SPARC M7 Krzysztof Marciniak Radosław Kut CoreTech Competency Center

26/01/2016

Page 3: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database 12c In-Memory Option

Proof of Concept – what is the concept to proof

Test Methodology

Results

Summary

1

2

3

4

26/01/2016

5

Page 4: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Oracle Database 12c In-Memory Option

Accelerate Mixed

Workload OLTP

Real Time

Analytics

No Changes to

Applications

Trivial to

Implement

100x 2x

Page 5: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Row Format Databases vs. Column Format Databases

Row

Transactions run faster on row format

– Example: Insert or query a sales order – Fast processing few rows, many columns

Column

Analytics run faster on column format

– Example : Report on sales totals by region – Fast accessing few columns, many rows

SALES

SALES

5

Page 6: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Row Format Databases vs. Column Format Databases

6

Row

Insert a new sales order on row format

– One row insert = FAST

Column

Insert a new sales order in Column Format

– Many column inserts = SLOW

SALES

Stores SALES

INSERT

INSERT INSERT

INSERT

INSERT

Until Now Must Choose One Format and Suffer Tradeoffs

Page 7: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Breakthrough: Dual Format Database

• BOTH row and column formats for same table

• Simultaneously active and transactionally consistent

• Analytics & reporting use new in-memory Column format

• OLTP uses proven row format

7

Normal Buffer Cache

New In-Memory Format

SALES SALES

Row Format

Column Format

SALES

Page 8: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database 12c In-Memory Option

Proof of Concept – what is the concept to proof

Test Methodology

Results

Summary

3

4

8 26/01/2016

5

2

1

Page 9: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Proof of Concept – what is the concept to proof

9

• Thanks to new SPARC dedicated acceleration engines built on chip scalability and performance of processing data with InMemory option should give much better results than compared to other CPU platform (in this case Intel®)

Page 10: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Proof of Concept – what is the concept to proof

PoC

DB In-Memory Acceleration

Decompression Engines

Application Data Integrity

Sub-microsecond Cluster Messages

Software in Silicon

Performance Reliability

Capacity Communication

Page 11: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Software in Silicon: Improving Performance Reduce processing time by off-loading simple tasks to special purpose hardware

11

Software processing

Hardware processing

Software processing

Processing time

Hardware processing

Application performance improves because software processing supported by Software in Silicon is processed by hardware

Without Software in Silicon With Software in Silicon

Page 12: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Decompress at memory speed >120 GB/sec

Software in Silicon: Accelerating Oracle Database 12c

One step

faster

Decompress More than Doubles data size

Read Software

scan Rea

d

Write

Wri

te

Rea

d

DA

X

Wri

te

Multiple steps

SQL: SELECT count(*) …WHERE lo_orderdate = d_datekey …AND lo_partkey = 1059538 AND d_year_monthnum BETWEEN 201311 AND 201312;

t

Page 13: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Database In-Memory Acceleration Engines

• New SPARC chip uses dedicated acceleration engines built on chip

– Independently process streams of unaligned database column elements of any size

• E.g. find all values that match ‘penguins’

• Frees CPU cores to run higher level SQL functions

• Reads data directly from memory and places results in cache for core consumption

– Shared cache provides ultra-fast communication

Core

Shared Cache

SPARC CPU

Core Core Core

DB Accel

DB Accel

DB Accel

DB Accel

Page 14: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

• SQL made up from few basic ops: Filter/Search/Sort or Join/Group/Aggregate

• First generation DAX (Query pipe) accelerates

• Translate: HASH JOINs • Scan: search (“WHERE” clause) • Select: filter to reduce a column

• Decompression more important than compression

• Reading outweighs writing • Accelerate RLE, N gram, OZIP

DAX DB Acceleration in High Performance Kernel Decompression and Query (Query Pipeline of DAX)

DAX Engine(s)

Core Core CPU

Page 15: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database 12c In-Memory Option

Proof of Concept – what is the concept to proof

Test Methodology

Results

Summary

4

15 26/01/2016

5

1

3

2

Page 16: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Methodology

2/4/2016

Public 16

• Tests were issued with following criteria: • Identical schemas with the same size were generated on both platforms within a single database instance •Data generated with SSB (https://github.com/electrum) - SCALEFACTOR=100 • Instance caging used to reference to 6 oracle db cpu licenses (resource_manager_plan=DEFAULT_PLAN):

• M7 cpu_count = 96 • Intel® Xeon® X5670 Processors (2.93 GHz): cpu_count = 24 • Intel® Xeon® E5-2699 v3 Processors (2.3 GHz) cpu_count = 24

• All data populated for in-memory • Tables compressed with MEMCOMPRESS FOR QUERY HIGH for in-memory • DOP used with DEGREE 8 on LINEORDER table TABLE_NAME INMEMORY INMEMORY_COMPRESS NUM_ROWS

------------------------------ -------- ----------------- ----------

CUSTOMER ENABLED FOR QUERY HIGH 3000000

DATE_DIM ENABLED FOR QUERY HIGH 2556

LINEORDER ENABLED FOR QUERY HIGH 600037902

PART ENABLED FOR QUERY HIGH 1400000

SUPPLIER ENABLED FOR QUERY HIGH 200000

Page 17: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Methodology

2/4/2016

Public 17

• JMeter used to simulate users traffic with following settings: • simulation iterations for simultaneous users 10,20,30,40,50,60,70,80,90,100 • following query was used:

select count(distinct(lo_custkey))

from( select lo_custkey

from lineorder,date_dim

where lo_orderdate = d_datekey

and d_weeknuminyear = :1

and d_year = :2

and lo_orderpriority <> :3

and lo_ordtotalprice between 7000 and 150000

group by lo_orderkey, lo_custkey

having count(lo_linenumber) =1);

• Bind variables values randomly picked from external .csv file • Performance of InMemory processing analyzed with two metrics: Query Throughput (tps) and Query Response Time (ms)

Page 18: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database 12c In-Memory Option

Proof of Concept – what is the concept to proof

Test Methodology

Results

Summary

18 26/01/2016

5

1

2

3

4

Page 19: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

SPARC M7: Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users

Page 20: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

SPARC M7: Response Time (ms) for 10,20,30,40,50,60,70,80,90,100 users

Page 21: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Intel® Xeon® X5670 : Throughput and Response Time for 10,20,30,40,50 users

Page 22: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Intel® Xeon® X5670 : Response Time(ms) for 10,20,30,40,50 users

Page 23: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Intel® Xeon® E5-2699 v3 : Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users

Page 24: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Intel® Xeon® E5-2699 v3 : Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users

Page 25: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Agenda

Oracle Database 12c In-Memory Option

Proof of Concept – what is the concept to proof

Test Methodology

Results

Summary

25 26/01/2016

5

1

2

3

4

Page 26: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

Summary

2/4/2016

Public 26

SPARC M7 shows significantly better results in terms of Throughput and Response Time for InMemory operations. Thanks to Data Analytics Accelerators (DAX), which are in-memory query acceleration engines performance is many times faster compared to other processors . It is noticeable for InMemory operations also in compressed format (DAX is able to operate directly upon compressed IMCUs). This makes SPARC M7 possible to perform real time analysis and fulfill business demands.

Page 27: Copyright © 2015, Oracle and/or its affiliates. All rights ... · –One row insert = FAST Column Insert a new sales order in Column Format –Many column inserts = SLOW SALES StoresSALES

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |