Transcript Slide 1
What’s New in
Oracle TimesTen In-Memory Database 11g and
Oracle In-Memory Database Cache 11g
Marie-Anne Neimat
Vice President, Development
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.
Real-Time Data Management
Enabling the Real-Time World
Instant Responsiveness
Uninterrupted Service
•
•
•
•
• High availability across all
components
Even during peak periods
Competitive advantage
Ensures customer satisfaction
Reduces operations cost
Real-Time Systems and Applications
(BAM, CRM, Fraud Detection, RT billing, Personalization,
Portals, Telco Services, Financial Services)
Speed of Deployment
Controlled expenses
• Ease of implementation
• Ease of administration
• Integration in data management
stack
• Leverage inexpensive middle-tier
hardware
• More transactions per IT dollars
• Incremental scalability
Agenda
• Quick Overview
– Oracle TimesTen In-Memory Database and
– Oracle In-Memory Database Cache
• What’s new in 11g
• Customer use cases
Agenda
• Quick Overview
– Oracle TimesTen In-Memory Database and
– Oracle In-Memory Database Cache
• What’s new in 11g
• Customer use cases
Oracle TimesTen In-Memory Database
Memory-Optimized Standalone Database
Telco Services
Financial Services
CRM, Portal,
SaaS,
Customer-facing
Applications
Intelligence,
Defense,
Real-Time
BAM & BI
• Persistent, memory-optimized
relational database
• Delivers extreme performance
for real-time applications
• Highly available
Application
Application
Application
• Deployed in the middle tier,
close to the application
• Operates as a standalone
database
• Or …
Oracle In-Memory Database Cache
Low-Cost Extreme Performance in the Middle-tier
• Accelerates Oracle Database
applications
• Utilizes middle-tier resources
• Data cached in Oracle TimesTen
In-Memory Database
Business
Applications
Business
Applications
Cached
tables
Cached
tables
In-Memory Database Cache
– Database tables
– Subsets of rows and columns
• Fast, consistent response times
Real Application Cluster
– High transaction throughput
• Standard SQL interface
– Synchronized with Oracle Database
Automatic Storage Management
Lightning Fast Response Time
Average Response Time
TimesTen In-Memory Database
Microseconds
16
12
8
4
0
4
14
Millionths of
a second
Millionths of
a second
Read a Record
Update Transaction
Oracle TimesTen In-Memory Database 11g
Intel Xeon 3.0 Ghz 64-bit Oracle Enterprise Linux
Linear Throughput Scaling
Scale Up on Multi-Processor / Multi-Core Hardware
Read Throughput
Reads per Second
1,400,000
1,200,000
1,000,000
800,000
600,000
400,000
200,000
0
1
2
4
6
8
Number of Processes
Oracle TimesTen In-Memory Database 11g
AMD64 Dual-Core 1.8GHz, 4 Processors, 16GB RAM; OEL 4.0
Linear Throughput Scaling
Scale Up on Multi-Processor / Multi-Core Hardware
Out of CPU
resources
Updates per Second
Update Throughput
210,000
180,000
150,000
120,000
90,000
60,000
30,000
0
1
2
4
6
8
Number of Processes
8th process competes with log flusher for CPU resource
Oracle TimesTen In-Memory Database 11g
AMD64 Dual-Core 1.8GHz, 4 Processors, 16GB RAM; OEL 4.0
Oracle TimesTen In-Memory Database
Optimized In-Memory Database Technology
• In-memory RDBMS
– Entire database in memory
– Persistent database
– Optimized memory layout and
algorithms
• Exceptional performance
– Instantaneous response time
– High throughput
– Embeddable
Client-Server
Application
TimesTen
Client Lib
Client/
Server
Directly-Linked
Application
TimesTen
Libraries
JDBC / ODBC / OCI / Pro*c
• Persistent and durable
– Transactions with ACID properties
– Flexible options for data
persistence to disk
Fast
data
access
Checkpoint
Files
• Standard SQL and PL/SQL with
– JDBC, ODBC, OCI, Pro*C
– Data types compatible with Oracle
Database
Log
Files
Memory-Resident
Database
Transactional Replication
High Availability and Instantaneous Failover
Active Standby Pair Topology
• Real-time transactional replication
• High performance
– Asynchronous replication
– Synchronous replication
• Multiple topologies, including
– Active Standby Pair
– Active Active
• Robust and reliable
– Supports both LAN and WAN
configuration
– Data compression
• Support online upgrade
– No downtime, cross version
replication
Application
Transactions
Application
Reads on Hot
Standby
Active
Standby
TimesTen
IMDB
TimesTen
IMDB
Read-Only
Subscribers
Application
Reads
TimesTen
Subscriber
IMDB
TimesTen
IMDB
TimesTen
IMDB
Active Active Topology
Application
Transactions
Application
Transactions
Active
Active
TimesTen
IMDB
TimesTen
IMDB
Split
Workload
Oracle In-Memory Database Cache
Accelerator for Oracle Database Applications
• Reduced response time and
increased throughput for Oracle
Database applications
• Oracle Database tables cached in
the application-tier
– Groups of related tables
– All or subset of rows and columns
Client-Server
Application
TimesTen
Client Lib
Client/
Server
TimesTen
Libraries
JDBC / ODBC / OCI / Pro*C
• Read-only and updatable caches
– Cached tables accessed like
regular SQL database tables
– Joins/search, insert/update/delete
• Automatic data synchronization
– TimesTen to Oracle
– Oracle to TimesTen
Directly-Linked
Application
Checkpoint
Files
Log
Files
Mid-Tier Server
Automatic
Synchronization
Read-Only Cached Tables
• Content of cached tables
pre-loaded or dynamically
loaded
– Dynamic loading coupled
with automatic aging
• Automatic transactional
synchronization
• Frequency of refreshes
controlled by application
Reads
Reads
Reads
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Grid
Member
Automatic
Synchronization
Updates
Example: Call Center App
• Agent profiles pre-loaded in
all grid members
• Updates to agent profiles
applied to Oracle Database
Updatable Cached Tables
• Content of cached tables
pre-loaded or dynamically
loaded
Updates
Updates
– Dynamic loading coupled
with automatic aging
• Automatic transactional
synchronization
– Synchronous
– Asynchronous
Example: Call Center App
• Customer profiles loaded
dynamically when needed
• Customer profiles updated in
IMDB Cache & propagated
automatically to Oracle DB
• Customer profiles aged out
automatically when not used
Updates
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Automatic
Synchronization
Mixed Caches
• Read-only cached tables
and updatable cached tables
in the same In-Memory
Database Cache
• Cached tables may be preloaded or dynamically
loaded
– Dynamic loading coupled
with automatic aging
• Automatic transactional
synchronization
Example: Call Center App
• Read-only, pre-loaded agent
profiles co-exist with
updatable, dynamically
loaded customer profiles
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Automatic
Synchronization
Updates
Highly Available Caches
Highly-Available Cross-Tier Data Management Stack
Active
• Active/Standby pair
replication
• Synchronous or
asynchronous
• Available with read-only
and updatable cached
tables
• Resilient to failure of any
component
–
–
–
–
IMDB Cache active
IMDB Cache standby
RAC instance
Oracle Database cluster
Standby
Replication
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
In-Memory
Database
In-Memory
Cache
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Read-Only
Subscribers
Data Guard
Agenda
• Quick Overview
– Oracle TimesTen In-Memory Database and
– Oracle In-Memory Database Cache
• What’s new in 11g
• Customer use cases
Oracle TimesTen and IMDB Cache
What’s New in 11g Release
•Reduce the cost of adoption and the cost of operation
• Globally shared caches
– Incremental scalability on low cost hardware
• PL/SQL, OCI, Pro*C support
– Minimal application changes
• Automated cross-tier high availability
– Zero downtime
Coupled with extreme performance
Incremental
Scalability
Globally Shared Caches
New
Horizontal Scaling on Low-Cost Hardware
• Location transparency
– Content of all cache
nodes available at each
node
• On-demand loading of
cached data and
redistribution based on
usage
• Transactional consistency
• Peer-to-peer
communication
• Automatic
synchronization with
Oracle Database
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Automatic
Synchronization
Updates
Horizontal Scaling with In-Memory Database Cache
Scale Out on Low Cost Hardware
Updates Per Second
120,000
100,000
80,000
60,000
40,000
20,000
0
1
2
4
8
16
32
Number of Cache Grid Members
Sun 5240 Servers – 2 Sockets, 8 cores/socket, 8 hdwr threads/core
64
Online Addition/Removal of Cache Nodes
New
Incremental Scalability
• On-demand
addition/
removal of
cache nodes to
match
– Memory
capacity needs
– Computation
capacity needs
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Minimal
Application Changes
Application Development
ODBC
SQL
ttClasses
OCI, Pro*C
C/C++
PL/SQL
Languages
J2EE App Servers
OR Mapping
IMDB CACHE
New in 11g release
• Oracle Call Interface (OCI) and Pro*C Support
• PL/SQL – ability to invoke PL/SQL code from all supported APIs
Minimal Application Changes
PL/SQL, OCI, and Pro*C in TimesTen Database
• PL/SQL support
– PL/SQL engine implemented inside TimesTen database
– Same Oracle PL/SQL language
– Subset of packages
• OCI Support
– Identical API signatures as used for the Oracle Database
– Subset of functions
• Pro*C/C++ support
– Built using the same Oracle Pro*C/C++ precompiler
• Minimal application changes
– Extremely fast response time and high throughput
New
Order Matching Application
• Three different types of
transactions:
– Place market order
– Place limit order
– Process quote
• Business logic implemented in
PL/SQL stored procedures
• Application written in Java
• Execute 1000 times in one
thread
PL/SQL
– Place an order
– Process a quote
Executed on
Oracle DB
Trading
Application
Trading
Application
In-Memory
Database
Cache
PL/SQL
Executed in
IMDB Cache
Accelerate Order Matching Application
Lower Response Time and Higher Throughput
Zero Downtime
Integration with Oracle Clusterware
New
Automated Management, Monitoring and Failover
Oracle Clusterware
• Manages TimesTen / IMDB
Cache processes
• Monitors and detects failure of
– Nodes
– TimesTen / IMDB Cache
processes
– Applications
• Manages automatic failover
and assignment of new roles
• Recovers automatically,
including provisioning of spare
nodes
Read-Only
Subscribers
Active
Standby
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
In-Memory
Database
In-Memory
Cache
Database
In-Memory
Cache
Database
Cache
Spare Nodes
Shared
Storage
Integration with Oracle Data Guard
Oracle Maximum Availability Architecture
• Support Data Guard
synchronous standby
– Failover and
switchover
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
– Rolling upgrades
Data Guard
Primary DB
Physical / Logical
Standby DB
Integration with Oracle Data Guard
New
Oracle Maximum Availability Architecture
• Switchover / failover
to standby Data
Guard
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
– Zero downtime
– No data loss
Primary DB
Physical / Logical
Standby DB
Automatic Client Connection Failover
Application
• Available for Client /
Server connections
• Configurable by the
application
IMDB Cache
Client Library
Active
Standby
In-Memory
Database
Cache
In-Memory
Database
Cache
Automatic Client Connection Failover
New
Application
• Connection failover is
automatic upon
TimesTen/IMDB Cache
server failover to the
Standby server
– Automatic re-connect to the
new Active server
– Connection handle is
preserved
• Applications may
subscribe to connection
failover notification (like
TAF)
IMDB Cache
Client Library
Active
Active
In-Memory
Database
Cache
In-Memory
Database
Cache
Tools
SQL Developer and Enterprise Manager Plug-In
Same Tools for the Oracle Stack
Application
Application
In-Memory
Database
Cache
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
SQL Developer
Oracle Enterprise Manager
Customer
Use Cases
Proven in Real-Time Deployments
Deployed by Thousands of Companies
Smart Metering Operations
IMDB Cache Reduces Hardware Expenses
Smart meters
• Complete meter, data & xact
management at national level
• Half-hourly data collection
from every meter (47M)
• Daily feedback
• Requirement: Process
Msg
queue
– 463 msg/sec at supplier level
– 2167 msg/sec at national level
Oracle DB
Oracle DB +
IMDB Cache
200 Msgs / sec
1,555 Msgs / sec
3 Servers at
supplier lvl
1 Server at
supplier lvl
12 Servers at
national lvl
2 Servers at
national lvl
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Application
In-Memory
Database
In-Memory
Cache
Database
Cache
Server: HP Proliant server with 4 dual core AMD Opteron CPUs and 16GB of RAM
Airline Ticket Fare Search and Reservation System
TimesTen and IMDB Cache Accelerate Least Fare Searches
• No 3 Airline co in the world
• New fare system for domestic
flights
• Provide customers ability to
– Query fares (80 SQL stmts/xact)
– Request least fare (600 SQL
stmts/xact)
• Guarantee low response time
and high throughput
• Solution
– Oracle TimesTen
– Oracle IMDB Cache
– Oracle Database RAC
Fare
Queries
Least Fare
Search
Application
Application
TimesTen
In-Memory
Database
TimesTen
In-Memory
Database
Application
Application
Application
In-Memory
Database
Cache
TimesTen
In-Memory
Database
TimesTen
In-Memory
Database
Flight Schedules
Seat Assignments
Monthly Fare
Update
Reduce Call Connection Time
Performance + Site Availability + Geo Redundancy
New VOIP Application Server
Database Requirements
•
•
•
•
Data access latency < 10ms
Ease of administration
Geo-redundancy
High Availability
Solution
EAST
RAC
WEST
RAC
• IMDB Cache for real time queries,
local and central administration
• Data Guard for Geo-Redundancy
• RAC for high availability
Results
• Exceeds Site latency requirement
• Site query time ~2.2 ms
• WAN to RAC query time ~150 ms
Primary connections to IMDB Cache
Backup connections to IMDB Cache
Oracle Data Guard
Site Availability
Low Latency + Local Redundancy
Site Configuration
Site Requirements
• Fast data access
• High Availability
Solution
• Application connects to
local data source for fast
response time
• Active and Standby for HA
• 2 read-only subscribers for
additional data capacity
and site redundancy
App
IMDB
Cache
IMDB
Cache
Active
Standby
IMDB
Cache
IMDB
Cache
Subscriber
Subscriber
For More Information
Oracle TimesTen Product Center on OTN:
http://oracle.com/technology/products/timesten
•
•
•
•
Technology white papers
Quick Start Guide and Tutorials
Discussion Forum
And more …
Other TimesTen and IMDB Cache Sessions
Title
Date/Time Venue/Room
What’s New in Oracle TimesTen In-Memory
Database and Oracle In-Memory Database
Cache 11g
Wed 11:45 Moscone South
Room 306
Using Oracle TimesTen In-Memory
Database to Deploy Low-Latency
Applications in Remote Sites - Comcast
Wed 13:45 Moscone South
Room 102
High Speed and High Availability with
Oracle In-Memory Database Cache 11g
Wed 17:00 Moscone South
Room 307
Visit us at the DemoGround! Moscone West,
booths W-033 and W-036