DB12c on SPARC M7 InMemory PoC for Oracle SPARC M7 Krzysztof Marciniak Radosław Kut CoreTech Competency Center 26/01/2016
Agenda 1 2 3 4 5 Oracle Database 12c In-Memory Option Proof of Concept what is the concept to proof Test Methodology Results Summary 26/01/2016
Oracle Database 12c In-Memory Option Real Time Analytics Accelerate Mixed Workload OLTP No Changes to Applications Trivial to Implement 100x 2x
Row Format Databases vs. Column Format Databases Row SALES Transactions run faster on row format Example: Insert or query a sales order Fast processing few rows, many columns Column SALES Analytics run faster on column format Example : Report on sales totals by region Fast accessing few columns, many rows 5
Row Format Databases vs. Column Format Databases Row INSERT SALES Insert a new sales order on row format One row insert = FAST Column SALES Stores Insert a new sales order in Column Format Many column inserts = SLOW INSERT INSERT INSERT INSERT Until Now Must Choose One Format and Suffer Tradeoffs 6
Breakthrough: Dual Format Database Normal Buffer Cache SALES Row Format New In-Memory Format SALES Column Format 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 SALES 7
Agenda 1 2 3 4 5 Oracle Database 12c In-Memory Option Proof of Concept what is the concept to proof Test Methodology Results Summary 26/01/2016 8
Proof of Concept what is the concept to proof 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 ) 9
Proof of Concept what is the concept to proof Performance Reliability DB In-Memory Acceleration Application Data Integrity PoC Software in Silicon Decompression Engines Capacity Sub-microsecond Cluster Messages Communication
Software in Silicon: Improving Performance Reduce processing time by off-loading simple tasks to special purpose hardware Processing time Software processing Hardware processing Without Software in Silicon Application performance improves because software processing supported by Software in Silicon is processed by hardware Software processing Hardware processing With Software in Silicon 11
Read DAX Write Read Write Software in Silicon: Accelerating Oracle Database 12c Decompress at memory speed >120 GB/sec Decompress More than Doubles data size Write Read Software scan Multiple steps t One step faster SQL: SELECT count(*) WHERE lo_orderdate = d_datekey AND lo_partkey = 1059538 AND d_year_monthnum BETWEEN 201311 AND 201312;
Database In-Memory Acceleration Engines Core SPARC CPU Core Core Core Shared Cache 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 DB Accel DB Accel DB Accel DB Accel Reads data directly from memory and places results in cache for core consumption Shared cache provides ultra-fast communication
DAX DB Acceleration in High Performance Kernel Decompression and Query (Query Pipeline of DAX) 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 Core Core DAX Engine(s) CPU
Agenda 1 2 3 4 5 Oracle Database 12c In-Memory Option Proof of Concept what is the concept to proof Test Methodology Results Summary 26/01/2016 15
Methodology 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 2/4/2016 Public 16
Methodology 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) 2/4/2016 Public 17
Agenda 1 2 3 4 5 Oracle Database 12c In-Memory Option Proof of Concept what is the concept to proof Test Methodology Results Summary 26/01/2016 18
SPARC M7: Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users
SPARC M7: Response Time (ms) for 10,20,30,40,50,60,70,80,90,100 users
Intel Xeon X5670 : Throughput and Response Time for 10,20,30,40,50 users
Intel Xeon X5670 : Response Time(ms) for 10,20,30,40,50 users
Intel Xeon E5-2699 v3 : Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users
Intel Xeon E5-2699 v3 : Throughput and Response Time for 10,20,30,40,50,60,70,80,90,100 users
Agenda 1 2 3 4 5 Oracle Database 12c In-Memory Option Proof of Concept what is the concept to proof Test Methodology Results Summary 26/01/2016 25
Summary 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. 2/4/2016 Public 26