2. <Insert Picture Here>
Oracle Database Extreme Performance
Michał Jerzy Kostrzewa
EECIS Database Director
Michal.Kostrzewa@Oracle.com
3. Application and Database Performance
General Approaches Used
• Tune the database
• Query optimization and database schema
• Handcode or tool-based (Oracle Database 11g)
• Rely on hardware
• Add or upgrade processors, disk storage
• Get bigger hardware (scale up)
• Get more hardware (scale out)
• Rely on software
• Specialized tools for various data processing needs
• DWH (big data: partitioning, query parallelism, materialized views)
• Reporting (comparatitive: OLAP)
• Analytical (in depth pattern analysis: Data Mining)
• What about transactional processing?
4. • Best Machine for Data Warehousing
• Best Machine for OLTP
• Best Machine for Database Consolidation
• Unique Architecture Makes it
• Fastest, Lowest Cost
Exadata Database Machine
Best Platform to Run the Oracle Database
6. • Automates storage management of storage devices
• Online addition and migration of storage (+rebalancing)
• Advanced data striping, layout optimizations for max I/O performance
• Mirroring protects from disk failure
Automatic Storage Management
Virtualize and share storage resources
11. Examples
• Fraud detection
• Order matching
• Compliance
• Provisioning
• Authentication
• Authorization
• Personalization
• CRM
• BAM
• Real-time Billing
• …
Needs of the Real-Time Enterprise
Blazingly Fast Response Competitive Advantage
NEW CUSTOMER
SIGN-UP
WEB
SELF-CARE
MGMT
DASHBOARD
MOBILE DATA
SERVICES
PROCESS AN
ORDER
SCHEDULE CALCULATE BILLVERIFY CREDIT & TERMSCHECK ADDRESS
ACTIVATE A NEW SUBSCRIBER MONITOR FOR CRITICAL EVENTS
12. Tuning Application Performance
General Approaches Used
• Implement some ‘cache’ in the application
• Challenges for application specific ‘caches’
• Limited functionality, typically not share-able with other application
• SQL query language typically not available
• Higher application maintenance cost
• No support for HA (high availability)
Performance and Reliability are must have requirements
13. What is Oracle TimesTen In-Memory Database?
• In-memory RDBMS
• Entire database in memory
• Standard SQL with JDBC,
ODBC, OCI, Pro*C, PL/SQL
• Compatible with Oracle
Database
• Persistent and durable
• Transactions with ACID
properties
• Extreme performance
• Instantaneous response time
• Very high throughput
Directly-Linked
Application
TimesTen
Libraries
Client-Server
Application
TimesTen
Client Lib
Memory-Resident
Database
Client/
Server
JDBC / ODBC / OCI / PLSQL
Checkpoint
Files
Log
Files
Fast
data
access
14. Lightning Fast Response Time
0
2
4
6
8
10
12
14
16
Read a Record Update Transaction
millionths
of
a second
4
millionths
of
a second
14
Microseconds
Oracle TimesTen In-Memory Database 11g - Intel Xeon 3.0 Ghz 64-bit Oracle Enterprise Linux
16. Linear Throughput Scaling – Update Throughput
Scale Up on Multi-Processor / Multi-Core Hardware
Oracle TimesTen In-Memory Database 11g AMD64 Dual-Core 1.8GHz, 4 Processors, 16GB RAM; OEL 4.0
56,179
86,782
141,093
184,126
188,532
0
20000
40000
60000
80000
100000
120000
140000
160000
180000
200000
TransactionsperSecond
1 2 4 6 8
Concurrent Update Processes
Out of CPU
resources
in the test
system;
more
processors
will
continue
the scaling
17. TimesTen In-Memory Database
Persistent, Recoverable, and Highly Availability
• Persistent and durable
• Database persisted to disk
• Transaction logs persisted to
disk
• Highly-available via
transactional replication
• Active-standby plus read-only
subscribers
• Asynchronous, Synchronous
• Online upgrade, cross versions
replication
• Clusterware integration
Active Standby
In-Memory
Database
Tx Logs
Checkpoints
Direct-linked
Applications
C/S
Client-
Server
* Direct-linked = In-process
Client-
Server
TimesTen
Client lib
Application
TimesTen
Client lib
Application
TimesTen
Client
Application
In-Memory
Database
Direct-linked
Applications
Tx Logs
Checkpoints
C/S
ApplicationApplication
Application
Read-only
Subscribers
18. In-Memory Database Cache
An Oracle Database Option
• Built using Oracle TimesTen
In-Memory Database
• Full feature RDBMS
• Scale up and scale-out with in-
memory cache grid
• Cache Oracle database
tables in the application-tier
• Extremely fast response time
and very high throughput
• Read-only and read/write
cache tables
• Automatic synchronization
with the Oracle database
Telco Services
Financial Services
CRM, Portal,
SaaS,
Customer-facing
Applications
Real-Time
BAM & BI
In-Memory
Database
Cache
Application In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Application
19. What is Oracle In-Memory Database Cache?
• Cache subset of Oracle
Database tables in application-
tier
• Applications access cache tables
like regular relational tables
• Standard SQL with JDBC, ODP.NET,
ODBC, OCI, Pro*C, PL/SQL
• Read-only and read/write cache
tables
• Transactions with ACID properties
• Persistent and durable
• Automatic data synchronization
with the Oracle database
Directly-Linked
Application
TimesTen
Libraries
Client-Server
Application
TimesTen
Client Lib
Client/
Server
JDBC / ODBC / OCI / PLSQL
Checkpoint
Files
Log
Files
Mid-Tier
Server
Database
Tier
20. In-Memory Database Cache
Flexible Caching Definition
Application
Transactions
Root Table
Child
Table
Child
Table
Child
Table
Cache Groups • Cache Group describes the
data in the Oracle Database to
cache
• Groups of related tables
• All or subset of rows and columns
• Defined via SQL WHERE clause
CREATE CACHE GROUP
…
WHERE <predicate>
• Cached tables are regular
database tables in TimesTen
• Joins/search, insert/update/delete
21. In-Memory Database Cache
Updatable Cache with Transactional Consistency
• TimesTen database is the
‘master’
• Transactions executed in
TimesTen
• Committed transactions
write-through to Oracle
database
• Asynchronous write-through
yields better response time
and throughput
Automatic
Synchronization
3-node Cache Grid
In-Memory
Cache Tables
Application
Transactions
In-Memory
Cache Tables
Application
Transactions
In-Memory
Cache Tables
Application
Transactions
22. In-Memory Database Cache
Read-only Cache for Frequently Queried Data
• Oracle database is the
‘master’
• Updates in Oracle
automatically refreshed to the
in-memory cache tables
• Refresh frequency (interval)
configurable
• Updates to read-only cache
tables disallowed
• May use pass-through to directly
update the Oracle database
Updates to
Oracle Server
Automatic
Synchronization
3-node Cache Grid
In-Memory
Cache Tables
Application
Reads
In-Memory
Cache Tables
Application
Reads
In-Memory
Cache Tables
Application
Reads
23. In-Memory Database Cache
Flexible Caching Options
• Different caches may all coexist
• Pre-loaded read-only cache
• Pre-loaded updatable cache
• Dynamic read / write cache
• Sliding window cache
• Flexible In-memory database caching
• Locality optimized for consistent response time
• Globally shared across all nodes for application transparency
• Scale-out horizontally with processing capacity
• Transactional consistency across cache nodes and
synchronization with Oracle Database
24. In-Memory Database Cache Grid
Scaling with Business Growth Peer-to-peer
communication
between grid
nodes
Incremental
scalabilityHigh
availability
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Application
In-Memory
Database
Cache
Application
Synchronized
with Oracle
database
Transactional
consistency
In-Memory
Database
Cache
Application
Online addition
(and removal) of
cache nodes
25. In-Memory Database Cache
Tooling aspects
• IMDB/Timesten connectivity
• JDBC, ODBC, New in 11g: PL/SQL, OCI, Pro*C Support
• Planned for CY2010: ODP.NET data provider, PHP
• Compatibility - Minimal application changes:
• PL/SQL engine in TimesTen, same language, subset of packages
• OCI Support, Identical API signatures as Oracle Db, subset functions
• TimesTen Extension in SQL Developer 2.1
• Managing cache groups, Load/unload/refresh cache data, PL/SQL
support, SQL execution plans
• TimesTen System Monitoring Tool (EM)
• Monitoring, user defined thresholds for alerts and notifications, out-of-
the-box reports, custom reports GUI
26. For More Information
Oracle TimesTen/IMDB Product Center on OTN:
http://oracle.com/technology/products/timesten
• Technology white papers
• Quick Start Guide and tutorials
• Discussion Forum
• And more..