Title: Oracle OpenWorld
1Oracle OpenWorld
- Blistering Web Applications with Oracle TimesTen
In Memory Option
2Intro Welcome
- Bill Binko, Perot Systems Consulting (Tampa)
- Perot Consulting Performance Practice
- Tuning Optimizing Enterprise Applications
- Custom Development of High-Volume Applications
- Contact bill.binko_at_ps.net
3Overview
- Very High Volume Web Applications
- Delivery Data Collection
- Leverage TimesTen (IMDB) and Cache Connect
- Based on several engagements (past present)
- Online Content Delivery, Smart Grid, Smart CDN
Management - Fundamental
- Find high-volume functionality (usually not hard)
- Re-implement using TimesTen IMDB Simpler
Architecture - Results
- Highly scalable (horizontally)
- Deliveries (finding constrained Content) 1,000
req/sec/node - Data Collection (simple recording aggregation)
75,000 req/sec/node
4Java EE Tutorial 1 Whats wrong with this
picture?
5Java EE Tutorial 2
6A More Reasonable App Structure
7Traditional Application Stack
- Flavor somewhat irrelevant
- Java EE, .NET, LAMP, even Rails
- Most still have relational DB as foundation
- Many Framework Options (Even just for Java!)
- Presentation Struts, JSF, JSPTag Libs
- App Logic Struts, Spring, Seam, etc.
- Business Logic Internal External
- External EJB, SOA, ESB, etc.
- Data Access Java Persistence, ORMs, JDBC, DAO
- Works well for General Applications
- Many Benefits (Technical Business)
- Many Problems (Debugging, Performance, Dont get
me started) - Important Every Layer Adds Overhead!
8What is a General Application?
- Normal Distribution of Effort/Results
- Follows Pareto 80/20 Rules
- Bugs, Traffic, Load, Time, etc.
- Consistent Type of activities
- CRUD Applications
- Similar Actions
- No major Outliers
- Resource Consumption
- What Manager Expect
- (Not as common as wed like)
9High-Volume Applications
- Fundamental Split in Functionality
- Configuration/Analysis (Low Volume)
- Delivery/Collection (High Volume)
- No longer 80/20!
- More like 100/1 (or 1000/1!)
- Two Main Categories
- Content Delivery
- Data Collection
- Combination
- Normal Architecture
- L.V. Benefits
- H.V. Fails
- (Spectacularly)
10Category 1 High-Volume Delivery Applications
- Delivery vs. Web App vs. Hosting?
- Many rapid requests from separate clients
- Mostly Stateless/Sessionless
- Dynamic Content not just hosting files/images
- Examples
- Online Ads
- Personalized Feeds (RSS/Atom/etc.)
- APIs (esp. REST)
- Pseudo-Delivery
- Ajax (Auto-Complete, Status Check)
- Smart CDN Management
11High-Volume Delivery Application Solution
- The Trick is to Split the App
- Low Volume Configuration
- High Volume Delivery
- Session, Workflow, Human Interfaces are SLOW
- Handle Delivery Separately
- TimesTen (Oracle IMDB) Helps Tremendously
12Delivery Solution - Remember the RDBMS!
13Delivery Solution - One option just split the app
14Delivery Solution Add TimesTen (IMDB Option)
15TimesTen Overview
16High Volume Delivery Server Design
17Nothing Magic about WebLogic / Java
18Scales Well Horizontally
19Category 2 Data Collection And Analysis
- Not about Intelligent Delivery
- About Rapid Data Collection
- Simple Requests are just data submission
- Attributes
- High Volume
- Low Latency
- Many Concurrent Clients
- Examples
- Analytics (JavaScript/Ajax/Beacon Images)
- Sensor Data
- (Content) Delivery Tracking
20High-Volume Data Collection Solution
- The Trick is STILL to Split the App
- Low Volume Analysis
- High Volume Data Collection
- Analysis uses normal BI/DW techniques
- Dont change this
- Data Collection is critical
- Pre-Aggregate on the High-Volume Server
- Data is still data, and you CANT keep it all
- (unless youre Google/Amazon/etc.)
21Data Collection Analysis
22Data Collector HV Design
23Combining Delivery Data Collection
- One final option (our original clients needs)
- Use Data Collection to track Deliveries
- Reuse the High Volume Server for both Delivery
Data Collection - Round Trip feedback Loop
24Combination Approach Both Delivery Data
Collection in one Node
25Combination Data Flows
26Combination Full Picture
27Questions?
- Questions about Architecture?
28Other Issues Connection Management
29Other Issues Hardware
- Low Volume Standard Hardware
- RAC Instance Standard Hardware
- High Volume Not Standard
- CPU Intensive
- Memory Hogs
- Saturates Network I/O
- Odd Disk Usage (Sequential Writes)
- TimesTen Group great at helping find write
hardware!
30Questions?
- Questions?
- Contact
- Bill Binko
- Perot Systems (Tampa)
- Bill.Binko_at_ps.net
31Oracle OpenWorld
- Blistering Web Applications with Oracle TimesTen
In Memory Option