1 / 31

Oracle OpenWorld

Oracle OpenWorld. Blistering Web Applications with Oracle TimesTen In Memory Option. Intro & Welcome. Bill Binko, Perot Systems Consulting (Tampa) Perot Consulting Performance Practice Tuning & Optimizing Enterprise Applications Custom Development of High-Volume Applications

shyla
Download Presentation

Oracle OpenWorld

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option

  2. Intro & Welcome • Bill Binko, Perot Systems Consulting (Tampa) • Perot Consulting Performance Practice • Tuning & Optimizing Enterprise Applications • Custom Development of High-Volume Applications • Contact: bill.binko@ps.net

  3. Overview • 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

  4. Java EE Tutorial #1 – What’s wrong with this picture?

  5. Java EE Tutorial #2

  6. A More Reasonable App Structure

  7. Traditional 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, JSP+Tag 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, Don’t get me started) • Important: Every Layer Adds Overhead!

  8. What 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 we’d like)

  9. 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) High-Volume Applications

  10. Category 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

  11. High-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

  12. Delivery Solution - Remember the RDBMS!

  13. Delivery Solution - One option: just split the app

  14. Delivery Solution – Add TimesTen (IMDB Option)

  15. TimesTen Overview

  16. High Volume Delivery Server Design

  17. Nothing Magic about WebLogic / Java

  18. Scales Well Horizontally

  19. Category 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

  20. High-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 • Don’t change this • Data Collection is critical • Pre-Aggregate on the High-Volume Server • Data is still data, and you CAN’T keep it all • (unless you’re Google/Amazon/etc.)

  21. Data Collection & Analysis

  22. Data Collector HV Design

  23. Combining Delivery & Data Collection • One final option (our original client’s needs) • Use Data Collection to track Deliveries • Reuse the High Volume Server for both Delivery & Data Collection • “Round Trip” feedback Loop

  24. Combination Approach – Both Delivery & Data Collection in one Node

  25. Combination – Data Flows

  26. Combination – Full Picture

  27. Questions? • Questions about Architecture?

  28. Other Issues: Connection Management

  29. Other 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!

  30. Questions? • Questions? • Contact: • Bill Binko • Perot Systems (Tampa) • Bill.Binko@ps.net

  31. Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option

More Related