TimesTen In-Memory Database
Jonathan Bar-Gil
Senior Technical Sales Consultant (EGBU EMEA)
Jonathan.bar-gil@oracle.com
What is Oracle TimesTen?
• Memory-resident relational database
• Offers predictable response-time where microseconds
matter!
• Optimized data structures and access methods
• Eliminates context switching and network operations
• Empowers applications with:
• Instant responsiveness
• Very high throughput
• Provides real-time data management in the middle-tier
• As a standalone in-memory database
• As a cache for the Oracle Database
• Deployed in the application-tier
Oracle TimesTen In-Memory Database
Application Application
In-memory RDBMS
in the middle-tier..
enables the
Real-time Enterprise
Proven in Real-Time Deployments
Thousands of companies use Oracle TimesTen
Customer-Facing
Networks Telecom Wall Street
Applications
• Real-time billing • Value-added • Order Matching • Call Centers
• Voice over IP Services • Risk • Hosted CRM
• Mobile Networks • Revenue Assurance
Management • Dynamic
• Network and QOS
• Real-time personalization
Management
• Authentication
Analytics
Lightning Fast Response
Average Response Time
TimesTen In-Memory Database
30
Microseconds
30
20 millionths
of a
second
10
11
Millionths
of a
0 second
Update a record Read a record
Oracle TimesTen In-Memory Database 7.0, 4-CPU, 3 GHz x86 Xeon, 32-bit RHLinux
Oracle TimesTen for Real-Time Business
Extends Oracle Database with real-time data management,
to support performance-critical applications
FinSvcs CRM & BI & Telco Custom
Portal BAM Services Apps
Why is TimesTen In-Memory database
fast?
• Memory-based data residence
• Eliminates network access
• Optimized memory data access
• Simplified algorithms and structures
• Reduces code length
• Saves CPU cycles
Comparing a disk-based RDBMS to
TimesTen
Oracle TimesTen In-Memory Database
• In-memory RDBMS
• Entire database in memory
Network
• Standard access ODBC/JDBC, SQL 92
Application
• Compatible with Oracle Database
TimesTen Application
Client lib Application
Application
TimesTen
TimesTen
Libraries
• Exceptional performance
Client-
TimesTen
Libraries
Libraries • Instantaneous response time
Server
Direct-linked
• High throughput
• Embeddable
• Persistence and durability
In-Memory Database • Database persists to disk
• Transactions with ACID properties
Transaction Logs • Real-time services
Checkpoint files
• On-line, non-blocking operations
• Real-time database change notification
• Near-zero administration
Replication – TimesTen to TimesTen
Network
• Real-time transactional data
replication
Application Application
Application
Application
TimesTen
Application
Application
TimesTen
• Between TimesTen databases
TimesTen
Libraries TimesTen
Libraries
TimesTen
Libraries
Libraries
TimesTen
Libraries
Libraries • Flexible configuration
• Active-standby, Active-active, N-way
In-Memory
Database
In-Memory
Database • High performance
• Asynchronous replication
Replication
TimesTen to TimesTen • Synchronous replication
• Robust and reliable
Cache Connect to Oracle
Application
• Cache tables from Oracle database
TimesTen
Network
Application
Client lib
• User configured cache groups
TimesTen
Libraries
Client-
Server
• Cache individual tables and related
tables
Direct-linked
• Cache all or subset of rows and
columns
Cache Tables
• Read-only or updatable
Tx Logs
Cache
Checkpoints
• Access cached tables like regular
Agent
database tables
• Automatic data synchronization
• TimesTen to Oracle
• Oracle to TimesTen
Customer Use Cases
Telecom
• Pre-paid Real Time Billing
• SMS architecture
Pre-Paid Real-time Billing
Tier 1 Mobile Operator in Europe
Adjunct Prepaid Charging
TimesTen Usage
Event capture (active prepaid
sessions & volume status)
BSC
Reference data lookups (volume &
content charging)
BTS MSC
Balance management (prepaid
SS7
authentication/charging)
Volume IN Content
Discounts Prepaid Charging
TimesTen Values
Batch
Real-time charging for volume Billing
discounts & content
A COTS, standards-based solution
Billing
not proprietary Engine Oracle
Inter-Carrier SMS Architecture
North America Inter-Carrier Messaging ASP
Inter-Carrier SMS
TimesTen Usage
Reference data lookups (Wireless
Number Portability)
RAN RAN
Service Service
Event capture (Mobile Dialed Provider 1 Provider 2
Number) MSC MSC
Real-time reporting (messaging traffic SMSC SMSC
portal)
WNP/SMS Real-Time
Gateway Ported Statistics
TimesTen Values SMS #s
Scale for growing inter-carrier
messaging & ported numbers
Real-time portal for inter-carrier WNP
Updates
Oracle Real-Time
Reports
statistics & settlements
Customer Use Cases
Financial Services
• Mumbai Stock Exchange
• SOA Middleware
Mumbai (Bombay) Stock Exchange (BSE)
• BSE, a premier Stock Exchange in Asia, caters to almost
one third of the total turnover of the Indian Capital Market
Challenges
• With over 3.5 million transactions per day the existing
system could not scale-up to continued growth
• Inability to detect and report instantaneously market
abuses on a real-time basis; growing concern about
ensuring market integrity
• Existing system did not hold a comprehensive set of rules
to capture market aberrations on an ongoing basis at the
client level
Mumbai (Bombay) Stock Exchange
Online Surveillance System (BOSS)
• Real-time monitoring and data management (built on
Oracle TimesTen)
• Rule-based advanced analytics using alert generation engine
(nearly 30,000 rules)
• Surveillance on all major parameters for any suspicious activity
• Monitors trade and settlement activities
• BOSS - capable of performing 5 million transactions (250 trades or
450 buys per second)
• Detects misuse or violations in real time
• Cover positions in both the derivatives and the cash market
• Tracks data on all trades for regulatory compliance
“This solution helps us in improving the speed of investigations and
catering to regulatory requirements,” said Rajnikant Patel, MD & CEO of
BSE
TimesTen and SOA Middle-ware
Store Active data and Infrastructure Data in TimesTen
COMPOSITE
APPLICATIONS
NEW CUSTOMER MOBILE DATA WEB MGMT
SIGN-UP SERVICES SELF-CARE DASHBOARD
MANAGEMENT & MONITORING
WORKFLOW
BUSINESS PROCESS MGMT Check- Event
“MIDDLE TIER”
points Capture
BUSINESS
PROCESS # 1
BUSINESS
PROCESS # 2
…. BUSINESS
PROCESS # N
BUSINESS Diagnostics
Session
SERVICES & Metrics
State
DATA
Premium Recent Reference Cross-Ref Transform
INTEGRATION Analytics
Customers Orders Data Maps Tables
EXISTING
SYSTEMS &
DATABASES
CUSTOMER FINANCIAL DATA PRODUCT
SYSTEMS SYSTEMS WAREHOUSE SYSTEMS
Customer Use Cases
Gaming
• Hong Kong Jokey Club
Hong Kong Jockey Club (HKJC)
• HKJC, Hong Kong’s only authorized betting establishment,
operates horse racing the government's Mark Six Lottery and,
under government authority, offers fixed odds betting on
football matches held outside Hong Kong
Challenges
• Massive customer base and tremendous volume of
transactions for online applications
• IT systems must provide ability to process information in real-
time
• Need to develop a system that can respond in real-time, highly
scalable for future growth, and provides competitive
advantages with increased return on investment
Hong Kong Jockey Club
TimesTen Delivers the Results
• HKJC deploys TimesTen to enable a real-time rules
based risk calculations and alerts engine to manage and
mitigate risk exposure from their fixed odds betting
operations, primarily in soccer.
“The use of Oracle TimesTen In-Memory Database provides us with
a perfect solution. We are able to analyze the football pool
continually and deliver key performance data within sub-second. The
quick response time has given us a great advantage in managing
and mitigating risk exposure from our fixed odds betting operations”
- Dr. K.S. Sin, Manager, IT Architecture, HKJC
Customer Use Cases
Government
• FedCentric Large Memory Data Mart Appliance
Oracle, SGI & FedCentric Partnership
• Marketing Initiatives
• SGI and FedCentric to resell TimesTen in a Large Memory Data Mart
Appliance w/bundled Analytic SW
• Initial targeting Federal customers
• Executive Interactions
• Oracle CTO Edward Screven & SGI CEO Dennis McKenna
• Engineering Integration
• Strong support and interaction from engineering
• SGI Technology Investments
• 1 TB RAM 72 Montecito SGI Altix 4700 @ Oracle ETC
• SGI sales & technical folks trained on TimesTen
• 5 SGI Altix systems inside Oracle; more on the way
Enabling technology: SGI® Altix® 4700 Scales Memory
Independent from CPUs
New blade design based on SGI® NUMAflex™
and Dual-Core Intel® Itanium® 2 Processor 9000
Series for scalability, performance, density and
flexibility with ultra-fast I/O
Enables seamless upgrade, Easily Manage 10+
Terabytes of Memory
Scalable, flexible systems efficiently sized and
adaptable for unique customer requirements
Open System Architecture using COTS
hardware and the Linux® Operating System
Customer Architecture
Multisource Data Feeds
W
E Preprocessing
High Speed
B Disk Array
P Sun Oracle
Database Database
O Server
(Tables, Sorts,
Indexing)
R
T
Large Checkpoint
A Memory &
L Altix Restart
(4 + TB)
Customer Technical Risks
Three basic risk reduction questions:
1. Can one construct a terabyte TimesTen in-memory database AT
ALL?
2. Can such a system keep up with a heavy mixed workload
(simultaneous ingest & query)?
3. Once such a system is built, what value does one get for the time
and effort spent to build it?
Customer Prototype Goals
Identified 5 Key Performance Targets
1. Ingest 200 million ORDERs/hour (55.6 kRIPS)
2. Ingest 50 million PERSONs/hour (13.9 kRIPS)
3. QUERY PERSON data in under 1 sec.
4. JOIN PERSON/ORDER data in under 1 min.
5. SUBQUERY in under 5 minutes
kRIPS = thousand row inserts/sec
Customer Prototype Goals
Identified 2 Key Scale Targets
1. Two tables with 2 & 8 billion rows, respectively
2. Terabyte+ total size in-memory
Note: 10 billion rows is 2nd or 3rd largest known commercial Linux database on
the planet according to WinterCorp 2005 VLDB Survey
Query Types
• QUERY – The Most Frequent
select * from persons where person_id = 123;
1 row found.
Execution time = 0.000024 seconds. (24 usec)
• JOIN
• SUBQUERY
Query Types
• QUERY
• JOIN – the Most Complex
select a.name, c.name, b.order_id, b.total_orders, b.first_order_date,
b.last_order_date
from benchmark.persons a, benchmark.orders b, benchmark.persons c
where a.person_id = b.sender_id and c.person_id = b.receiver_id
and a.person_id = 12345679;
4 rows found.
Execution time = 0.000165 seconds. (165 usec)
• SUBQUERY
Query Types
• QUERY
• JOIN
• SUBQUERY – the Most Important
select * from persons where person_id in
(select receiver_id from orders where sender_id in
(select receiver_id from orders where sender_id=123459) );
8 rows found.
Execution time = 0.000743 seconds. (743 usec)
Customer Prototype:
Performance Results
Performance Target Observed (single threaded, minimum)
1. Ingest 200 million ORDERs/ 1. Ingested 1.006 billion
hour ORDERs/hour (279.4 kRIPS)
2. Ingest 50 million PERSONs/ 2. Ingested 611 million
hour PERSONs/hour (169.7 kRIPS)
3. QUERY PERSON data in 3. QUERY PERSON data at rate of
under 1 sec. 91,153/sec
4. JOIN PERSON/ORDER data 4. JOIN PERSON/ORDER data
in under 1 min. 13,402/sec.
5. SUBQUERY in under 5 5. SUBQUERY at rate of 2587/sec
minutes
Main TimesTen Benefits
• Response Time in Microseconds
• Predictable and Consistent Response Time
• Throughput of 200,000 Transactions Per Second and
Beyond
• Familiar Relational Model – Existing Developers are
Immediately Productive
• ttclasses
• COTS solution vs. home-grown in-memory cache
• Gigabytes to Terabytes-sized datastores
• Reduced hardware footprint & power requirements
For More Information
http://search.oracle.com
TimesTen
Jonathan Bar-Gil jonathan.bar-gil@oracle.com
054 – 7 847 014