Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option.

Similar presentations


Presentation on theme: "A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option."— Presentation transcript:

1 A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option

2 1 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 2 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 3 Java EE Tutorial #1 – What’s wrong with this picture?

5 4 Java EE Tutorial #2

6 5 A More Reasonable App Structure

7 6 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 7 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 8 High-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)

10 9 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 10 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 11 Delivery Solution - Remember the RDBMS!

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

14 13 Delivery Solution – Add TimesTen (IMDB Option)

15 14 TimesTen Overview

16 15 High Volume Delivery Server Design

17 16 Nothing Magic about WebLogic / Java

18 17 Scales Well Horizontally

19 18 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 19 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 20 Data Collection & Analysis

22 21 Data Collector HV Design

23 22 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 23 Combination Approach – Both Delivery & Data Collection in one Node

25 24 Combination – Data Flows

26 25 Combination – Full Picture

27 26 Questions?  Questions about Architecture?

28 27 Other Issues: Connection Management

29 28 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 29 Questions?  Questions?  Contact: –Bill Binko –Perot Systems (Tampa) –Bill.Binko@ps.netBill.Binko@ps.net

31 A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option


Download ppt "A Presentation to Oracle OpenWorld Blistering Web Applications with Oracle TimesTen In Memory Option."

Similar presentations


Ads by Google