Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Times Ten in-memory database when time counts - Laszlo Ludas


Published on

Presentation from conference "Oracle Day 2011" in Estonia
11.03.2011 Nordic Hotel Forum

Published in: Technology

Times Ten in-memory database when time counts - Laszlo Ludas

  1. 1. <Insert Picture Here>Oracle TimesTen In-Memory Database 11gOracle In-Memory Database Cache 11g Laszlo Ludas Oracle
  2. 2. When You Think “Database…” SQL Application RDBMS Results RDBMS + network connectivity This may NOT be fast enough for some response-time-critical applications Typical solutions: Build a home-grown,application-specific, in-memory buffer ‘cache’…..
  3. 3. But what if you have.. SQL Disk-based Application RDBMS ResultsONE product, an In-Memory Database that is a ‘cache’ with • Full capabilities of a relational database • Memory-optimized speed and latency • Persistent, recoverable, highly available • Can also deploy standalone
  4. 4. <Insert Picture Here>Three Customer Use Cases
  5. 5. Pre-Paid Rating EngineNumber 1 GSM Prepaid System VendorTimesTen Usage GSM Prepaid Event capture (real-time balance authentication) 2G/2.5G Balance management (prepaid authentication/charging) Dynamic state management (active call/session status)Performance Metrics BSC Prepaid application response time sub 200ms BTS MSC 70/30 read/update workload Scales to 8 million subscribers on one node (server pair)Configuration 4-CPU Servers (plus hot-standby) Sun/Solaris platforms 8 Gigabytes TimesTen® (DB of record) IVR Service Control Service Data Point (SDP) Point (SCP)Value of TimesTen Flexible prepaid charging Low maintenance requirements for global deployments Customer Non-stop operation & no CDR loss Administration
  6. 6. Electronic Trading Institutional Other Trading InternalTimesTen Usage Clients Exchanges Venues Traders Event capture (trade orders) Order processing (trade matching) Event publishing (trader alerts and closed orders) Market Data Trade Confirmations Orders Change Status Trader Orders Inquiries Externally Routed Orders AlertsPerformance Metrics 300 - 1,000 orders / second Order Trade Position Routing Execution KeepingConfiguration TimesTen 2 X 4-CPU Servers (plus hot-standbys) Sun/Solaris O/S with C++ applications Standby Active Active Standby 2 Gigabyte TimesTen® Closed Internal Orders Message Bus TradesValue of TimesTen Intelligent Order Routing Global Order Repository Fast order execution Trader alerting Oracle
  7. 7. Dynamic PersonalisationHosted CRM Vendor Hosted CRM ApplicationTimesTen Usage Caching personalization preferences Worldwide Corporate SubscribersPerformance Metrics NA Application EMEA / APAC Servers Application Servers > 200,000 Subscribers, 14,000 Corporations 10 million requests per day 250 peak requests per secondConfiguration Load Balancer Load Balancer 2 X 4-CPU servers (plus hot-standbys) RedHat Linux on Sun Opteron 4-CPU Cache Java/JDBC applications Server Oracle back-office RDBMS 2 Gigabyte TimesTen® Standby Active Active StandbyValue of TimesTen 48-CPU Offloading backend RDBMS Database Server Low latency response Replication / availability Master Master Headroom for substantial growth Database Oracle Oracle Database
  8. 8. Proven in Real-Time DeploymentsDeployed by Thousands of Companies
  9. 9. <Insert Picture Here>The Technology
  10. 10. What is Oracle TimesTen In-Memory Database? Client-Server Application • In-memory RDBMS TimesTen Client Lib • Entire database in memory • Standard SQL with JDBC, Client/ Directly-Linked Server Application ODBC, OCI, Pro*C, .NET, TimesTen Libraries PL/SQL JDBC / ODBC / OCI / PLSQL • Compatible with Oracle Database • Persistent and durable Fast data Checkpoint • Transactions with ACID access Files properties • Extreme performance Log Files • Instantaneous response time Memory-Resident • Very high throughput Database • Embeddable* Direct-linked = In-process
  11. 11. Why Is TimesTen So Fast?• In-Memory Database • Entire database is always in memory • Designed and optimized for memory layout • No buffer cache management overhead • Shorter code path = better performance• Application program can link directly to the TimesTen database • Database operations executed directly from the application process’ address space • Eliminate network and inter-process communication overhead • Achieve extremely low response time (like calling a procedure)
  12. 12. Lightning Fast Response Time Disc based RDBMs are 16 measured in 14miliseconds (x 14 millionthsMicroseconds 1000) of 12 a second 10 8 6 4 4 millionths of 2 a second 0 Read a Record Update TransactionOracle TimesTen In-Memory Database 11g - Intel Xeon 3.0 Ghz 64-bit Oracle Enterprise Linux
  13. 13. Linear Throughput Scaling – Read Throughput Scale Up on Multi-Processor / Multi-Core Hardware 1,400,000 1,265,867 Read Operations Per Second 1,200,000 993,390 1,000,000 730,696 800,000 600,000 394,671 400,000 246,623 200,000 0 1 2 4 6 8 Concurrent ProcessesOracle TimesTen In-Memory Database 11g AMD64 Dual-Core 1.8GHz, 4 Processors, 16GB RAM; OEL 4.0
  14. 14. Linear Throughput Scaling – Update Throughput Scale Up on Multi-Processor / Multi-Core Hardware 188,532 200000 184,126 180000 160000 Transactions per Second 141,093 Out of CPU 140000 resources in the test 120000 system; 86,782 more 100000 processors 80000 will 56,179 continue 60000 the scaling 40000 20000 0 1 2 4 6 8 Concurrent Update ProcessesOracle TimesTen In-Memory Database 11g AMD64 Dual-Core 1.8GHz, 4 Processors, 16GB RAM; OEL 4.0
  15. 15. Oracle In-Memory Database Cache TimesTen In-Memory Database as a Cache for Oracle Database Telco Services CRM, Portal,Financial Services SaaS, Customer-facing Real-Time • Built using Oracle TimesTen Applications BAM & BI In-Memory Database • Full featured RDBMS • Scale up and scale-out with in- memory cache grid Application • Cache Oracle databaseApplication In-Memory Database Application tables into TimesTenIn-Memory Cache In-Memory Database Cache Database • Extremely fast response time Cache and very high throughput • Read-only and read/write cache tables • Automatic synchronization with the Oracle database
  16. 16. What is Oracle In-Memory Database Cache? Client-Server Application • Cache subset of Oracle TimesTen Client Lib Database tables in application- Client/ Directly-Linked tier Server Application TimesTen Libraries • Applications access cache tables JDBC / ODBC / OCI / PLSQL like regular relational tables Checkpoint Files • Standard SQL with JDBC, ODP.NET, ODBC, OCI, Pro*C, PL/SQL Log Files • Read-only and read/write cacheMid-Tier tablesServer • Transactions with ACID properties • Persistent and durable • Automatic data synchronization Database with the Oracle database Tier
  17. 17. Flexible Caching Definition Cache Groups • Cache Group describes the data in ApplicationTransactions the Oracle Database to cache Root Table • Groups of related tables • All or subset of rows and columns Child Child Table Table • Defined via SQL WHERE clause CREATE CACHE GROUP PremierUsers Child Table FROM CUSTOMER ( NAME VARCHAR2(100) NOT NULL, ADDR VARCHAR2(100) ) WHERE CUSTOMER.ORDER > 500; • Cached tables are regular database tables in TimesTen • Joins/search, insert/update/delete
  18. 18. Read-only Cache For Frequently Queried Data 3-node Cache Grid Application • Oracle database is the Application Reads Application ‘master’ Reads Reads • Updates in Oracle automatically refreshed to the In-Memory In- In-Memory In- Cache Tables in-memory cache tables In-Memory In- Cache Tables Cache Tables • Refresh frequency (interval) configurable Automatic • Updates to read-only cacheSynchronization tables disallowed • May use pass-through to directly update the Oracle database Updates to Oracle Server
  19. 19. Read-Write Cache With Transactional Consistency 3-node Cache Grid • TimesTen database is the Application Application Transactions Application ‘master’ Transactions Transactions • Transactions executed in TimesTen In-Memory In- In-Memory In- Cache Tables • Committed transactions In-Memory In- Cache Tables Cache Tables write-through to Oracle database Automatic • Asynchronous write-throughSynchronization yields better response time and throughput
  20. 20. In-Memory Database Cache Grid Scaling with Business Growth Peer-to-peer communication between grid nodes Transactional consistency Application In-Memory Database Incremental High Cache scalabilityavailability Application Application In-Memory In-Memory Database Database Cache Cache Application Application In-Memory In-Memory Database Database Cache Cache Synchronized Online addition with Oracle (and removal) of database cache nodes
  21. 21. Significant Response Time Improvement In-Memory Database Cache + Oracle Database Oracle Oracle +In-Memory Database Cache Response Time in Microseconds 12,000 10114 10,000 8,000 6487 6104 5836 6,000 4,000 1848 1850 2105 2,000 168 44 65 86 201 128 100 0 d t a ta s t d e r on Fw Da a De Fw rib ti all s eD ew ll c ca eC ce s as Ca ub s Lo tB tN rt te l et Ac c le c se eS a De c t le Se In at Up d ele Se Up d SResponse time improvement for a sample application before and after using In-Memory Database Cache
  22. 22. <Insert Picture Here> High Availability andMaximum Availability Architecture
  23. 23. Updatable Cache Replication • Application transactions Hot Standby executed on Active node Application available for Transactions reads • Committed transactions replicated to Standby In-Memory In- Cache Tables In-Memory In- Cache Tables • Standby propagates committed Active Standby transactions to Oracle database • Standby database is availableTx logs Tx logson disk on disk for reads Cache Write-through • Continue execution of transactions even if connection to Oracle database is down • Enable instant failover and no data loss
  24. 24. Read-only Cache Replication Hot Standby • Updates from Oracle database Queries on also read-only available for incrementally refreshed to Active cache reads • Active replicates updates to Standby In-Memory In- In-Memory In- • Standby database is available for Cache Tables Cache Tables reads Active Standby • Read from both Active andTx logs Tx logs Standbyon disk on disk • Application continues to read Cache refresh from Cache database even when connection to Oracle database is down • Enable instant failover without reloading the entire cache
  25. 25. Integration with Oracle RAC Cross-tier High Availability Application Hot Standby• Automatic recovery from Transactions for reads Oracle Database RAC node failures using TAF and FAN In-Memory In-Memory Cache Tables Cache Tables • Automatic reconnection to the Active Standby cluster • Automatic resumption of data refresh from Oracle to TimesTen • Automatic resumption transaction propagation from TimesTen to Oracle • No loss of transactions
  26. 26. Integration with Oracle Clusterware Automated Management, Monitoring and FailoverOracle Clusterware In-Memory• Manages TimesTen / IMDB Database In-Memory Cache In-Memory Database Database Cache processes Cache Cache Active Standby• Monitors and detects failure of Application Application • Nodes In-Memory Database In-Memory Database Cache Cache Spare Nodes • TimesTen / IMDB Cache processes • Applications Shared Storage• Manages automatic failover and assignment of new roles For• Recovers automatically, Clusterware including provisioning of spare nodes
  27. 27. Integration with Oracle Data Guard Oracle Maximum Availability Architecture• Support Data Guard Business Applications Business Applications synchronous Cache Cache tables tables physical standby • Failover • Switchover In-Memory Database Cache In- • Rolling upgrade Data Guard Real Application Clusters Standby Oracle Database
  28. 28. <Insert Picture Here>Oracle TimesTenAPIs and Tools
  29. 29. TimesTen API Infrastructure All TimesTen APIs are available through direct-linked and client/server connections ODBC is TimesTen’s native API PL/SQL code can be called from ODBC, JDBC, OCI, and Pro*C interfaces Application Pro*C JDBC ttClasses (C++) OCI ODBC SQL PL/SQL Engine Engine TimesTen Database Engine
  30. 30. Comprehensive J2EE Support JDBC EJB TimesTen JDBC Driver
  31. 31. TimesTen Extension in SQL Developer 2.1• In-Memory Database Cache • Create/drop/alter cache groups • Load/unload, flush, refresh cache data• PL/SQL support • Create/Replace/Drop, Edit, Compile, Run, and Export procedures/functions/packages• Show SQL execution plans• New SQL objects: bitmap index, MV log, ROWID• Support TimesTen 7.0.x and 11.2.1.x releases• Available with SQL Developer 2.1
  32. 32. TimesTen System Monitoring Tool An Oracle Enterprise Manager Plug-In• Monitor key performance metrics• User defined thresholds for alerts and notifications• Out-of-the-box reports for TimesTen metrics• Create custom reports with graphical report wizard• Low overhead
  33. 33. <Insert Picture Here> Oracle TimesTenSample Customer Use Cases
  34. 34. Proven in Real-Time DeploymentsDeployed by Thousands of Companies
  35. 35. German Stock ExchangeMissed response time target of 80 milliseconds BEFORE Oracle In-Memory Database Cache 350 Transaction Time in milliseconds 300 SLA Target < 80ms 250 200 150 100 50 0 Trading Day Intervals
  36. 36. German Stock ExchangeMeeting response time target of 80 milliseconds AFTER Oracle In-Memory Database Cache 350 Transaction Time in milliseconds 300 SLA Target < 80ms 250 200 150 100 50 0 Trading Day Intervals
  37. 37. NYFIX - Order Matching Market Place SUBSCRIBER on Clients Performance DR Site Orders • Low latency Remote Message Bus• High throughput Data Center • Scalable ACTIVE STANDBY DR Subscriber Dispatcher Dispatcher Dispatcher Reliability Application Application Application • Guaranteed transaction model In-Memory In- In-Memory In- In-Memory In-• High availability Cache Tables Cache Tables Cache Tables • Fast failover • No data loss Service Order Desk App Repository
  38. 38. Improve Response Time and Reliability Web Ads Delivery System Web UsersBusiness Challenges 1. Users surf the web• Inadequate performance 2. Served relevant ads for growth 3. User click on ad• Can’t meet SLA <100 ms• High IT maintenance Application Application Application Web Server Farm In-Memory In-Memory In-Memory with TimesTen IMDB Cache Database Database DatabaseOracle TimesTen Solution Cache Cache Cache• Response time meets SLA Cache• Lower cost* • New ads + metadata• Ability to scale-out • Served and Clicked ad stats• Better reliability Advertisers, RAC Publishers* Replaced hundreds of Microsoft IIS and SQL Servers with 48 TimesTen New Ads caches and one Oracle RAC system and biz rules
  39. 39. Dynamic Database CachingCall Center Application Example • Transparent loading of customer data from Oracle Database • Load customer data dynamically at the time of the call • Improve database responsiveness for subsequent operations • Automatic data aging • Remove old or least-recently- used data to make room for new callers
  40. 40. Sliding Window Caching Cache data from a specific time window for real-time management, monitoring and optimization • Cache 5 days of shipments for real-time delivery status • Cache last 15 minutes of MON TUE WED RFID data for real-time process monitoring • Cache last 90 days of orders to speed searching by call agents or self-service portals • Cache last 30 days of market data for analytics & simulation
  41. 41. For More InformationOracle TimesTen Product Center on OTN:• Technology white papers• Quick Start Guide and tutorials• Discussion Forum• And more..