Preview of
Oracle Database 12c
In-Memory Option
Thomas Kyte
http://asktom.oracle.com/
1
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2
Flip Flops
Core
1993 ~$25/mb; $26,214,400/tb
ICs on board
SIMMs
2014 ~$0.007/mb; $7,645/tb
DIMMS
Big Drives
Floppy
Small Drives
Flash
SSD
3
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
3
Oracle Database In-Memory Option Goals
100X Faster Queries: Real-Time Analytics
 Get instantaneous query results
 Querying OLTP database or data warehouse
Faster Transaction Processing
Trivial to Deploy for All Applications and Customers
4
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
4
Optimizing Transaction and Query Performance
Row Format Databases versus Column Format Databases
SALES
 Transactions run faster on row format
ORDER
Row
– Fast for processing few rows, many columns
– Example: Insert or query a sales order
SALES
Column
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
5
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
5
Breakthrough: Dual Format In-Memory Database
Memory
Memory
Sales
Row
Format
Sales
Column
Format
 BOTH row and column
in-memory formats for
same table
OLTP
 Simultaneously active and
Analytics
transactionally consistent
 Analytics & reporting use
New Column format
 OLTP uses row format
6
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
6
Oracle In-Memory Columnar Technology
 Pure in-memory format with no logging
Memory
 Near zero overhead on changes
 Even for OLTP
 Uses memory-optimized compression
 2x to 10x memory reduction
Pure Columnar
 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
7
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
7
Find Any Business Data in Sub-second
Example: Find all sales in state of CA
• Each CPU scans local
in-memory columns
In-Memory Column Store
Sales
State column
>100X
Faster
 Scans use super fast
SIMD vector instructions
“CA”
scan rate per CPU core
CPU
8
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
Load
multiple
State
values
SIMD
Compare
Compare all
all values
values in 1
in 1
cycle
instruction
Vector
Register
 Billions of rows/sec
8
Scans and Combines Data from Multiple Tables
Example: Find all sales in outlet stores
Stores
 Converts join processing
into fast column scans
 Joins up to 10x faster
T
Y
P
E
Sales
Storeid
in
15,38,64
Type=outlet
9
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
S
T
O
R
E
I
D
A
M
O
U
N
T
Sum
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
11
Extreme Capacity and Cost Effectiveness
 Size not limited by memory
DRAM
Hottest Data
PCI
FLASH
Active Data
 Data transparently
accessible across tiers
 Each tier has specialized
algorithms & compression
Capacity of Disk
IOs
of Flash
Speed of DRAM
13
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
DISK
Cold Data
13
Scale-Out In-Memory Database to Any Size
 Scale-Out across servers to
In Memory
Column Store
In Memory
Column Store
grow memory and CPUs
 In-Memory queries are
parallelized across servers to
access local column data
In Memory
Column Store
In Memory
Column Store
 Direct-to-wire InfiniBand
protocol speeds messaging
14
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
15
Oracle In-Memory is Trivial to Deploy
1. Configure Memory Capacity
 inmemory_size = 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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
16
Oracle In-Memory is Transparent to Applications
Existing Applications Just Run Faster
Full Functionality
Trivial to Implement
Fully Compatible
DB as a Service Ready
- No restrictions on SQL
- No migration of data or change of product
- All existing applications run unchanged
- Oracle Multitenant in-memory
And All Other
Apps that Support
Oracle Database
Uniquely Achieves All In-Memory Benefits With No Application Changes
17
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
17
Oracle In-Memory Delivers Extreme Availability
Data Guard & GoldenGate
 Pure In-Memory format does not
change Oracle’s storage format,
logging, backup, recovery, etc.
 All Oracle’s mature availability
RAC
technologies work transparently
 Protection from all failures
ASM
 Node, site, corruption,
human error, change, etc.
18
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
RMAN
18
Summary: Oracle Database In-Memory Option
• Faster Queries: Real-Time Analytics
 Querying OLTP database or data warehouse
• 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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
19
20
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal
21
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle Internal