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