Transcript Document
Oracle TimesTen
Overview
Gary Quarles
Solution Architect
Oracle TimesTen In-Memory Database
A memory optimized application-tier database for
blazing-fast response times and real-time data caching
“Application-tier
data management
for performance
critical systems
… when
milliseconds matter”
Applications
Applications
Enabling a Real-Time World
Over 1,500 companies worldwide use Oracle TimesTen
In Networks
In Telecom
On Wall Street
In the Enterprise
Real-Time Billing
Service Authorization
Order Matching
SOAs
Call Processing
Revenue Assurance
Risk Management
Call Centers
Value Added Services
Network & QOS Mgmt
Real-Time Analytics
Business Intelligence
Lightning Fast Response
microseconds
30
20
10
28
millionths
of a
second
9
millionths
0
u p d ate a reco rd
read a reco rd
TimesTen In-Memory Database 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux
Scalable on Commodity Platforms
transactions per second
300,000
250,550
250,000
200,000
1 CPU
2 CPUs
4 CPUs
169,437
150,000
98,568
100,000
70,111
53,361
50,000
32,663
0
100% updates
100% reads
TimesTen In-Memory Database 6.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux
Oracle TimesTen Products
Product: Oracle TimesTen In-Memory Database
Option: Replication – TimesTen to TimesTen
Option: Cache Connect to Oracle
Oracle TimesTen In-Memory Database
Base Product
Network
Application
Program
TimesTen
libraries
...
Application
Program
TimesTen
libraries
In-Memory
Database(s)
ClientServer
Transaction
Logs
Checkpoint
files
• Entire database is in memory
• Optimized memory layout and
algorithms
• Data store shared by multiple
threads and processes
• Embedded and client-server
• Standard APIs (ODBC, JDBC,
SQL-92)
• Easy installation and
configuration
• Near-zero administration
Complementary Database Strengths
Database
Characteristic
Oracle
Database 10g
Oracle TimesTen
In-Memory Database
Data Model
Relational - SQL
Relational - SQL
Target Applications
Mission Critical
Mission Critical
Optimization
Disk-centric
Memory-centric
Typical deployment
Database tier
Application tier
Architecture
Client/server
Direct data access
Response Times
Milliseconds
Microseconds
Data Capacity
Tens of terabytes
Tens of gigabytes
Scalability
Unlimited SMP/Cluster
Good SMP
Transaction Persistence and Concurrency
• All transactions are logged
Network
Application
TimesTen
libraries
ClientServer
...
Application
TimesTen
libraries
In-Memory
Database(s)
Transaction
Logs
Checkpoint
files
• Buffered or synchronous commit
• Application may control at the
transaction level
• Transaction logs and
checkpoint files persist on disk
• Transaction isolation
• Read-committed (non-blocked
versioning)
• Reads do not block writes
• Writes do not block reads
• Locks: data store-level, tablelevel, row-level
Data Publishing - Transaction Log API (XLA)
XLA Apps
Real-time Apps
Updates
XLA interface
In-Memory
Database
Log Memory
Buffer
TX
Log files
• Transaction Log API (XLA)
• Track real-time data changes
• Monitor transaction updates
• Propagate changes to
external applications
• Implement real-time event
notification and processing
XLA Applications
• XLA API available in C and Java
• Data store must be directly linked with applications
• Java interface is based on standard JMS
specification
• No JMS Server is required to use the JMS/XLA interface
• XLA can track changes to both Tables and
Materialized Views
• XLA obtains updates directly from transaction log buffer or log
files
• Only records for committed transactions are returned
• Maintain log positions via Bookmarks
• Persistent across connections and system shutdowns
Supported Platforms
Operating System
Processor Type
AIX 5L 5.2, 5.3 (32/64 bit)
IBM Power
HP-UX 11i, 11i-v2 (32/64 bit)
HP PA-RISC
HP-UX 11i v2 (64 bit)
Intel Itanium-2
MontaVista Linux CGE 3.0, 3.1 (32/64 bit)
Intel (IA32, EM64T)
Red Hat Enterprise Linux 3.0, 4.0 (32/64
bit)
Intel (IA-32, EM64T, Itanium-2), AMD
Opteron
Solaris 8, 9, 10 (32/64 bit)
UltraSparc & Opteron
SuSE Enterprise Server 9 (32/64 bit)
Intel IA-32 & EM64T, AMD Opteron
Tru64 Unix 5.1B (64 bit)
AlphaChip EV68
Windows Server 2000, 2003, XP
Intel IA-32
Replication – TimesTen to TimesTen
Product option
Application-Tier Platforms
Network
Application
Program
Application
Program
TimesTen
TimesTen
In-Memory
Database
In-Memory
Database
Replication
TimesTen to TimesTen
• High performance
• Flexible configurations
• Transactional replication
• Table and data-store level
• Async and sync transmit
• Auto recovery, master
catch-up
• Conflict detection and
resolution
• No changes to application
code
Replication Configurations
• Flexible Configurations using SQL
• Replicate tables or data-store
Active - Standby
N – Way
(update anywhere)
Active - Active
(split workload)
Propagation
Active - Active
(distributed workload)
Asynchronous and Synchronous
Replication
• Asynchronous Replication
• Transaction data transmitted asynchronously
• Very fast application response-time
• Ideal for high transaction-rate and low-latency applications
• Synchronous replication
• Transaction data synchronously transmitted with ACKs
• Committed transaction guaranteed to be transmitted to
Subscriber, prior to control returned to the application
• Synchronous replication can be turned ON | OFF by the
application, at the transaction level
Cache Connect to Oracle
Product Option
Application-Tier Platforms
Network
Application
Program
Application
Program
TimesTen
TimesTen
In-Memory
Database
In-Memory
Database
Cache Connect
to Oracle
Oracle
• Cache full or subset of
tables from Oracle DB
• Read-only or updatable
• Bi-directional updates
• From TimesTen to Oracle
• From Oracle to TimesTen
• Multiple Cache instances
per Oracle DB
• Replication option
Caching Data from Oracle Database
Cache Group – describes the Oracle data to be cached in the
TimesTen in-memory database, via a SQL WHERE clause
• Flexible cache content
• Cache individual tables
or related tables
• Cache all or subset of
rows and columns
• Maintain parent-child
tables relationship
• Cache group is explicit
TimesTen
Cache Groups
Root
Table
Child
Table
Child
Table
Child
Table
Example: Valuable Customers
Caching name and address of premier
customers who have had more than 500
purchase orders
CREATE CACHE GROUP PremierUsers
FROM CUSTOMER (
NAME CHAR(100) NOT NULL,
ADDR CHAR(100) )
WHERE CUSTOMER.ORDER > 500;
PremierUsers
CUSTOMER table
Read-only Cache Groups
C/S
Applications
Application
Web Clients
Client/Server
Application
READONLY
Cache Group
IMDB
Updates Passthrough to
Oracle
Oracle
Refresh
updates
to Cache
Group
• Read-only Cache Groups
• Updates disallowed in
TimesTen
• Optionally updates can be
sent to Oracle (via the
Pass-through feature)
• Updates in Oracle
automatically refreshed to
the TimesTen Cache
Group
• Resilience to failures
Updatable Cache-Groups
C/S
Applications
Application
Web Clients
Client/Server
Application
Write-through
Cache Group
IMDB
Propagate
changes to
Oracle
Load data
from
Oracle
Oracle
• Updates in Cache Group
• Synchronous or
asynchronous writethrough to Oracle
• Synchronous write-through
transactions synchronously
committed in Oracle
• Asynchronous writethrough transactions batchcommitted in Oracle
• Resilience to failures
On-Demand Caching
Application
Web Clients
C/S
Applications
Client/Server
Application
On-demand
Cache
IMDB
Age out when
no longer
needed
Load cache
instances on
demand
Oracle
• Cache instances loaded
on demand, when
needed
• Cache instances aged
out after a certain
duration
Leverage TimesTen IMDB
in Your Applications
Application
Cache
Groups
IMDB
Oracle
Application
Program
Application
Program
TimesTen
IMDB
TimesTen
IMDB
App 1
IMDB
App 2
IMDB
App 3
IMDB
10g
RAC
Oracle TimesTen + Oracle Database
Instantly Responsive / Highly Available
Tightly Integrated
Highly Scalable
Highly Available
Telecom Benchmark
• Benchmark adopted by the OSDL (Open Source
Dev Labs) Carrier Grade Linux group.
Considered an industry benchmark
• 7 different types of transactions:
•
•
•
•
•
•
•
Delete call forwarding
Get access data
Get basic subscriber data
Get new destination
Insert call forwarding
Update subscriber data
Update subscriber location
Two Configurations
Oracle
Oracle + TimesTen
• 3-tier
architecture
• Benchmark
application
runs in midtier
• 3-tier
architecture
Benchmark
Program
Oracle
10g
Benchmark
Program
Oracle
10g
• Benchmark app
runs in mid-tier
• TimesTen 6.0
embedded in
benchmark app
• Updatable
cache contains
benchmark data
Transactions Response Time
12,000
Oracle
Oracle + TimesTen
10,000
10114
8,000
6487
6104
5836
6,000
4,000
1848
2,000
168
2105
1850
65
44
201
86
128
U
Lo
ca
tio
n
er
U
pd
at
e
sc
rib
Su
b
pd
at
e
tC
al
In
se
r
ew
D
lF
w
es
d
t
at
a
ct
B
le
Se
Se
le
ct
N
as
e
es
s
cc
al
C
Se
le
ct
A
et
e
el
D
D
lF
w
at
d
a
0
D
Response Time in Microseconds
Transactions Response Time
100
Transaction Throughput
Improved Transaction Throughput
with Cache Connect to Oracle
Transactions per Minute
3,000,000
2,500,000
Oracle
Oracle+TimesTen
2,497,000
2,000,000
1,500,000
1,000,000
500,000
275,000
0
Oracle
Oracle +TimesTen
Usage Patterns
Multi-Tiered Data Management
Dynamic Caches for “Hot” Data
COMPOSITE
APPLICATIONS
“MIDDLE TIER”
WORKFLOW
BUSINESS
SERVICES
DATA
INTEGRATION
MOBILE DATA
SERVICES
WEB
SELF-CARE
BUSINESS PROCESS MGMT
BUSINESS
PROCESS # 1
BUSINESS
PROCESS # 2
….
MGMT
DASHBOARD
Checkpoints
Event
Capture
Session
State
Diagnostics
& Metrics
Cross-Ref
Maps
Transform
Tables
BUSINESS
PROCESS # N
Premium
Customers
Recent
Orders
CUSTOMER
SYSTEMS
FINANCIAL
DATA
SYSTEMS WAREHOUSE
Analytics
Reference
Data
EXISTING
SYSTEMS &
DATABASES
PRODUCT
SYSTEMS
MANAGEMENT & MONITORING
NEW CUSTOMER
SIGN-UP
Real-time Databases for Management Data
COMPOSITE
APPLICATIONS
“MIDDLE TIER”
WORKFLOW
BUSINESS
SERVICES
DATA
INTEGRATION
MOBILE DATA
SERVICES
WEB
SELF-CARE
BUSINESS PROCESS MGMT
BUSINESS
PROCESS # 1
BUSINESS
PROCESS # 2
….
MGMT
DASHBOARD
Checkpoints
Event
Capture
Session
State
Diagnostics
& Metrics
Cross-Ref
Maps
Transform
Tables
BUSINESS
PROCESS # N
Premium
Customers
Recent
Orders
CUSTOMER
SYSTEMS
FINANCIAL
DATA
SYSTEMS WAREHOUSE
Analytics
Reference
Data
EXISTING
SYSTEMS &
DATABASES
PRODUCT
SYSTEMS
MANAGEMENT & MONITORING
NEW CUSTOMER
SIGN-UP
Example: Dynamic Personalization
Hosted CRM Provider
Oracle TimesTen Usage
Caching user personalization
preferences
Performance Metrics
>10 million requests per day
>250 peak requests per second
Configuration
4-CPU servers
Linux with Java applications
2 gigabyte Oracle TimesTen
Oracle RDBMS
Value of Oracle TimesTen
Offloading backend systems
Low latency response
Customized interactions
High-availability replication
Region 1
Worldwide Corporate
Subscribers
Load Balancer
Standby
Region 2
Load Balancer
Active
Active
Master
Database
Master
Database
Oracle
Standby
Example: Fast, On-Target Customer Service
Leading Call Center Solutions Vendor
Oracle TimesTen Usage
Enterprise Contact Server
Reference data lookups (agent skillsets)
Real-time data matching (calls to agents)
Dynamic state management (case & agent
Agents
status)
Real-time reporting (call center monitoring)
Skills Based
Performance Metrics
Routing
40,000 (avg) - 100,000 (peak) calls per hour Agent & Task
Manager
5,000 – 10,000 agents
Scheduled
Configuration
Active
Standby
Callback
2-CPU Server (plus hot-standby)
ACD
IP-PBX
IM
Windows O/S with .NET applications
100 Megabyte Oracle TimesTen
PSTN / IP
Value of Orcle TimesTen
Instant, accurate matches
High throughput per server
Real-Time &
Historical
Reporting
RDBMS
Fixed-Income Trading System
Global Broker-Dealer
Oracle TimesTen Usage
Order capture / processing
Event publishing
Performance Metrics
1,000 fixed-income trades/hr
20 trader alerts/sec
Configuration
4-CPU server plus standby
Solaris with C++ applications
2 gigabyte Oracle TimesTen
Orders
Inquiries
Notifications
Trader
Alerts
Active
Trader
Alerts
Active
Standby
XLA
Application
Standby
XLA
Application
Closed Orders
Msg Bus
Aggregated
Reporting
Value of Oracle TimesTen
Fast order execution
Trader alerting
Different
Geographies
or Security
Classes
Global Order
Repository
Inter-Carrier SMS Architecture
North America Inter-Carrier Messaging ASP
Inter-Carrier SMS
IMDB Usage
Reference data lookups (Wireless Number Portability)
Event capture (Mobile Dialed Number)
Real-time reporting (messaging traffic portal)
Performance Metrics
3,500 lookups/sec for WNP/SMS
90/10 read/update workload for WNP/SMS
40/60 read/update workload for Real-Time statistics
30 million rows and growing with periodic updates
Configuration
4-CPU Servers
Sun/Solaris platforms
Multiple Gigabytes Oracle TimesTen IMDB
Oracle RDBMS
Value of Oracle IMDB
Scale for growing inter-carrier messaging & ported #s
Real-time portal for inter-carrier statistics &
settlements
Service
Provider 1
RAN
RAN
MSC
MSC
SMSC
SMSC
WNP/SMS
Gateway
WNP
Updates
Oracle
Ported
SMS #s
Service
Provider 2
Real-Time
Statistics
Real-Time
Reports
Pre-Paid Real-time Billing
IMDB Usage
Adjunct Prepaid Charging
Event capture (active prepaid sessions & volume
status)
Reference data lookups (volume & content
charging)
Balance management (prepaid
authentication/charging)
BSC
Performance Metrics
BTS
Adjunct prepaid applications response time sub
10ms
70/30 read/update workload
Configuration
8-CPU server (plus hot-standby) on Tru64
Multiple Gigabytes TimesTen database
Oracle RDBMS
SS7
Volume
Discounts
IN
Prepaid
Batch
Billing
Value of IMDB
Real-time charging for volume discounts &
content
A COTS, standards-based solution not proprietary
MSC
Billing
Engine
Oracle
Content
Charging
Authentication & Spending Controls
Wireless Service Provider in Turkey
VAS Authentication
TimesTen Usage
Event capture (billing events, VAS usage statistics)
Reference data lookups (black/white list, budget)
Performance Metrics
RAN
Real-time read only access for 20 million subscribers
Microseconds response time
Configuration
2 Servers (hot standby)
Sun/Solaris platforms
4GB Gigabytes TimesTen®/Cache
Caching with auto refresh from Oracle
Oracle RDBMS
Value of TimesTen
Scale to support high value/margin value-added services
Meet government mandate for spending controls
Eliminate network latency and timeouts
SMSC
SDP
Billing Events
Authentication
Layer
Oracle
Subscribers
VAS Budget
Authentication
Oracle
Oracle
Oracle
Permissions
Replication
Database
Subscriber
Type Data
Read-Only Cache
TimesTen:
Flight Schedules
RAC:
Bookings,
Flight Schedules,
Crew Schedules,
Maintenance Schedules
Updates
Reads
Multiple Read-Only Caches
News Feed
TimesTen:
Top stories
(International,
National, Regional)
RAC:
News,
Finance,
Directory searches,
…
Updates
Top Stories: Top Stories:
General + CA General + NY
Updatable Cache
TimesTen:
Pre-paid billing data,
Promotional info
RAC:
Subscriber information,
Billing data,
Messages,
…
Updates
Reads
Replicated Cache
TimesTen:
Pre-paid billing data,
Promotional info
Updates
RAC:
Subscriber information,
Billing data,
Messages
Reads
Standby
Multiple Updatable Caches
212, …
TimesTen:
Updates Reads
Pre-paid billing data,
Promotional info,
Partitions by area code
RAC:
Subscriber information,
Billing data,
Messages
510, …
916, …
Data Capture Cache
TimesTen:
Recent sensor data
Event updates
RAC:
All sensor data
Aggregated/filtered
events
Inserts
Inserts
Inserts
On-Demand Cache
TimesTen:
Active
users’
profiles
RAC:
All users’ profiles
Reads/
Updates
Reads/
Updates
Reads/
Updates
Additional Resources
• Product information on Oracle Technology Network
(OTN)
http://www.oracle.com/technology/products/timesten
• Business information
http://www.oracle.com/timesten