Preview of Oracle Database 12c In-Memory Option 1
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2 2
Oracle Database In-Memory Option Goals 100X Faster Queries: Real-Time Analytics Get instantaneous query results Querying OLTP database or data warehouse 2X Faster Transaction Processing Trivial to Deploy for All Applications and Customers 3 Confidential Oracle Internal 3
Optimizing Transaction and Query Performance Row Format Databases versus Column Format Databases Row SALES ORDER Transactions run faster on row format Fast for processing few rows, many columns Example: Insert or query a sales order Column SALES S T A T E Analytics run faster on column format Fast for processing few columns, many rows Example: Report on sales totals by state Until Now You Choose One Format and Suffer Tradeoffs 4 Confidential Oracle Internal 4
Breakthrough: Dual Format In-Memory Database Memory Memory BOTH row and column in-memory formats for same table Simultaneously active and transactionally consistent OLTP Sales Row Format Sales Column Format Analytics Analytics & reporting use New Column format OLTP uses row format 5 Confidential Oracle Internal 5
Oracle In-Memory Columnar Technology Pure in-memory format with no logging Near zero overhead on changes Even for OLTP Uses memory-optimized compression 2x to 10x memory reduction Data loaded in-memory for active tables or partitions - on startup or first access For in-memory tables, >90% of memory will be used for column format Row format needs little memory Memory Pure Columnar 6 Confidential Oracle Internal 6
Vector Register Find Any Business Data in Sub-second Example: Find all sales in state of CA Each CPU scans local in-memory columns Scans use super fast SIMD vector instructions Billions of rows/sec scan rate per CPU core In-Memory Column Store Sales CPU State column Load multiple State values CA >100X Faster SIMD Compare Compare all all values values in 1 in 1 cycle instruction 7 Confidential Oracle Internal 7
Scans and Combines Data from Multiple Tables Example: Find all sales in outlet stores Converts join processing into fast column scans Joins up to 10x faster T Y P E Stores Storeid in 15,38,64 S T O R E I D Sales A M O U N T Type=outlet Sum 8 Confidential Oracle Internal 8
Generate Reports In Sub-second Dynamically creates in-memory report outline Report contents populated during fact scan Example: Show sales trends for footwear products in outlet stores Stores In-Memory Report Outline Sales Reports up to 20x faster without predefined cubes Products Sales 9 Confidential Oracle Internal 9
OLTP is Slowed Down by Analytic Indexes Most Indexes in mixed-use OLTP (e.g. ERP) databases are only used for analytics Table 1 to 3 OLTP Indexes 5 to 15 Analytics Indexes Indexes work well for known access patterns both in-memory and on-disk But every change to the table requires changing all analytic indexes Slow! 10 Confidential Oracle Internal 10
Column Store Replaces Analytic Indexes In-Memory Column Store replaces analytic indexes for tables that fit in memory Table 1 to 3 OLTP Indexes In-Memory Column Store Removes analytic index overhead on changes Both predefined and ad-hoc analytic queries run fast Less tuning & admin needed OLTP & batch often run 2x or more faster 11 Confidential Oracle Internal 11
Demonstration at Oracle Openworld 2013 Performance of columnar scan vs. row scan - Both in memory 12 Confidential Oracle Internal 12
Extreme Capacity and Cost Effectiveness Size not limited by memory DRAM Hottest Data Data transparently accessible across tiers Each tier has specialized algorithms & compression PCI FLASH Capacity of Disk IOs of Flash Speed of DRAM DISK Active Data Cold Data 13 Confidential Oracle Internal 13
Scale-Out In-Memory Database to Any Size Scale-Out across servers to grow memory and CPUs In-Memory queries are parallelized across servers to access local column data Direct-to-wire InfiniBand protocol speeds messaging In Memory Column Store In Memory Column Store In Memory Column Store In Memory Column Store 14 Confidential Oracle Internal 14
Scale-Up for Maximum In-Memory Performance Scale-Up on large SMPs SMP scaling removes overhead of distributing queries across servers or coordinating transactions Inter-processor bandwidth far exceeds any network 15 Confidential Oracle Internal 15
Oracle In-Memory is Trivial to Deploy 1. Configure Memory Capacity inmemory_area = XXXX GB 2. Configure tables or partitions to be in memory alter table partition inmemory; 3. Later Drop analytic indexes to speed up OLTP 16 Confidential Oracle Internal 16
Oracle In-Memory is Transparent to Applications Existing Applications Just Run Faster Full Functionality - No restrictions on SQL Trivial to Implement - No migration of data or change of product Fully Compatible - All existing applications run unchanged DB as a Service Ready - Oracle Multitenant in-memory And All Other Apps that Support Oracle Database Uniquely Achieves All In-Memory Benefits With No Application Changes 17 Confidential Oracle Internal 17
Oracle In-Memory Delivers Extreme Availability Pure In-Memory format does not change Oracle s storage format, logging, backup, recovery, etc. All Oracle s mature availability technologies work transparently Protection from all failures Node, site, corruption, human error, change, etc. Data Guard & GoldenGate RAC ASM RMAN 18 Confidential Oracle Internal 18
Summary: Oracle Database In-Memory Option 100X Faster Queries: Real-Time Analytics Querying OLTP database or data warehouse 2X Increase Transaction Processing Rates Less Management and Tuning Best of Memory, Flash, Disk Scale-Out and Scale-Up Extreme Availability Trivial to Deploy for All Applications and Customers 19 Confidential Oracle Internal 19
APPENDIX Relation of Database In-Memory Option to TimesTen and Exadata 20 Confidential Oracle Internal
Oracle Database In-Memory Products TimesTen In-Memory Database Embedded in custom applications Extreme low latency OLTP workloads (Microsecond Response Time) Adaptive In-Memory Cache for Exalytics In-Memory Machine Oracle Database In-Memory Scalable In-Memory Database for any type of application workload Combines best of DRAM, flash, disk Application Application Application 21 Confidential Oracle Internal 21
TimesTen In-Memory Database and Columnar TimesTen Grid TimesTen is adding scale-out capabilities For both OLTP and analytics Scale-Out In-Memory DB TimesTen is adding columnar technologies to accelerate Analytics Core columnar processing engine is shared between Oracle and Timesten Embedded Analytics engine Columnar 22 Confidential Oracle Internal 22
Oracle Database In-Memory Option on Exadata Exadata extends fast analytics from in-memory to flash and disk for highest capacity and lowest cost Scale-out intelligent flash optimized storage: >100GB/sec from flash Exadata DB as a Service In-Memory delivers consolidation, ultra fast performance, best agility, and lowest cost Highest performance applications run in-memory Applications that perform well today use cost-effective disk and flash Expect special optimizations for Database In-Memory on Exadata E.g. Fastest communication with InfiniBand Direct to Wire protocol Exadata is a standardized, pre-configured, pre-tuned, pre-tested platform for database in memory, on flash, and on disk 23 Confidential Oracle Internal 23
Platform of the Future Platform Engineered for Database Database Engineered for Cloud and Consolidation Optimized for latest technologies In-Memory Database PCI Flash for fastest IO Disk for highest capacity Optimal compression at every tier Fastest Communication For all workloads running together Enterprise DBaaS Highest performance, lowest cost, most available, most scalable 24 Confidential Oracle Internal 24
25 Confidential Oracle Internal
26 Confidential Oracle Internal