overcoming the top four challenges to real‐time performance in large‐scale, data‐centric...

41
Overcoming the Top Four Challenges to RealTime Performance in LargeScale, DataCentric Applications Tom Lubinski F d d CEO Founder and CEO SL Corporation 17 November 2011

Upload: sl-corporation

Post on 10-Nov-2014

545 views

Category:

Technology


4 download

DESCRIPTION

The most critical large-scale applications today, regardless of industry, involve a demand for real-time data transfer and visualization of potentially large volumes of data. With this demand comes numerous challenges and limiting factors, especially if these applications are deployed in virtual or cloud environments. Attend this session and learn how to overcome the top four challenges to real-time application performance: database performance, network data transfer bandwidth limitations, processor performance and lack of real-time predictability. Solutions discussed will include design of the proper data model for the application data, along with design patterns that facilitate optimal and minimal data transfer across networks.

TRANSCRIPT

Page 1: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, 

Data‐Centric Applications

Tom LubinskiF d d CEOFounder and CEOSL Corporation17 November 2011

Page 2: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Here to talk about Scalability and Performancey

Problem Space:

Collection, Analysis, and Visualization in Real-Time of large volumes of monitoring data from largeof large volumes of monitoring data from large-scale, complex, distributed applications

Keywords: Real-Time, Large Volumes of Data

Page 3: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Challenges

Challenge #1:

D t b P fDatabase Performance

Common to see queries taking minutesCommon to see queries taking minutesHow can you get real-time that way ?

Page 4: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Challenges

Challenge #2:

N t k D t T f B d idthNetwork Data-Transfer Bandwidth

Bigger pipes but there’s more data to sendBigger pipes, but there s more data to sendHow do you get the greatest throughput ?

Page 5: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Challenges

Challenge #3:

P P fProcessor Performance

More cores just means more processes !More cores just means more processes !How do you optimize your utilization ?

Page 6: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Challenges

Challenge #4:

L k f R l Ti P di t bilitLack of Real-Time Predictability

Virtualization is the new time-share !Virtualization is the new time share !How can you trust your data ?

“time-sharing”, “network computer”, “cloud”, do things ever really change ?

Page 7: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Solution – Clues ?

F t f Lif Facts of Life:

Database – can’t live with it can’t live without itDatabase can t live with it, can t live without it

Network – it’s a funnel, no way around it, y

Processor – must limit what you ask it to do

Virtualization - it’s erratic, have to compensate

Page 8: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Solutions

Solution #1:

P D t M d lProper Data Model

Data structures designed for real-timeData structures designed for real timeIn-memory structures to buffer database

Page 9: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Can your application be … 

… like a high‐performance racecar ?  

Page 10: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

What is most important part of racecar ?(besides the engine)(besides the engine)

… the Transmission …

Page 11: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

For Real‐Time performance, it’s the Cache …

Not a simple High performanceNot a simple “current value”

cache

High‐performanceReal-time Multi-dimensional

Data Cache

Page 12: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Real‐Time Cache – optimized for performance !

C / Hi T blCurrent / History Tables:

In Out

…Indexed Insertion ‐

asynchronous real‐time dataIndexed extraction ‐

optimized transfer to clients

Page 13: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Real‐Time Cache – Data Processing / Aggregation

DetailViews

Raw

SummaryViews

RawData Reduced

Reduction, Resolution,   Aging Aggregation

Page 14: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Real‐Time Cache – Database read/write through(optimized for timestamped multi‐dimensional data)( p f p )

Seamless timeline Real‐Time dataautomatically navigation with automatic 

database query

automatically written to DB

Page 15: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

This sounds a bit like Oracle Coherence …

Buffer database

Read/write through

Listeners

Indexed queries

What’s different ?ff

Page 16: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Different tools for different problems !

R l Ti M lti di i l d tReal-Time Multi-dimensional data:

Current / History Tables:l i l ( i ) fMultiple rows (time range) of 

selected columns returned in one query 

Coherence cache distributes objects (rows) = optimized horizontally

…Real‐Time multi‐dimensional cache manages columns and optimizes 

verticallyy

Page 17: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Benefits: Indexed Real-Time Caching

Sl SQL i i i i d Slow SQL queries minimized

Users shielded from database details

Minimize CPU load using effective indexing

Page 18: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Solutions

Solution #2

S Sid A tiServer-Side Aggregation(am I being too obvious with this one ?)

Know the use casesJoins and GroupBy done on serverp ySQL does this, but do you need it ?

Page 19: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Problems with SQL Database Queries

SlSlowSlowwer with concurrent queriesIf you need it fast it goes even slowwwwwwer !If you need it fast, it goes even slowwwwwwer !

SQL = Not portableQ p(Timestamps, especially)

Page 20: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Know your problem space !

R l Ti M it iReal-Time Monitoring:Join and GroupBy heavily used

We wrote our own!Performed in real-time on server-side dataOptimized for real-time requirements

Page 21: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Example: Server-Side Aggregation/Caching

Servlet Data

GroupByApp

Join on App

To Cli t

RawData

App Data Totals By App

App

GroupByServer

Clients

Join onServer

Server Data Totals By Server

Page 22: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Each cache can maintain its own history

Servlet Data

To Cli t

CachedDataAnd Aggregates

Totals By App

ClientsAggregates

Totals By Server……

Page 23: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Result: trend chart of Totals by History has all data available immediately

Using SQL would require:

Query 3 tables2 GroupBys, 2 Joins, + Join on Timestamp (not portable)

Page 24: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Benefits: Server-Side Aggregation

Cli d l h i d d Client requests and gets exactly what is needed

Client processing = zeroServer processing = done ahead of timeCurrent/History for aggregates readily available (No SQL)

Response time = fast

Page 25: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Solutions

Solution #3

U A i t D i P ttUse Appropriate Design Patterns

Server-Side vs Client-Side ProcessingServer Side vs. Client Side ProcessingEfficient Data Transfer Patterns

Page 26: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Pattern #1:

D C iData Compaction(obvious, initial approach for any data transfers)

ServerClientPackets only partially filled  …

encode decode

… replaced with full packets

… even simple, non‐proprietary algorithms can make big differencealgorithms can make big difference

Page 27: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Pattern #2:

D C / Ch dData Current / Changed(large data tables with sparse real-time updates)

ServerClient

Entire table sent every update …

encode decode

… instead, send only changed rows

… little more complex, requires indexing

Page 28: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Pattern #3:

D Hi / CData History / Current(trend chart invoke with real-time updates)

ServerClient

Entire history table sent every update …

manage merge…

… instead, send history once, then current updates

… similar to current / changed pattern, but specific to history

Page 29: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Pattern #4:

D C / S bData Current / Subset(optimizing transfer of data subsets to multiple clients)

Server

Client

Changed subset sent to every client …

listenindexed

registerindexed

Client

… instead, send subset only to registered client

listenindexed

… requires registration logic coupled with cache

Page 30: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Benefits: Design Patterns for Data Transfer

S bl d i l d i il Same problem over and over again solved similar way

Reduce load on networkOptimize response time – no unnecessary data

Page 31: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Conclusions

Conclusion #1:

K d t !Know your data !

Data Model designed for real-timeData Model designed for real timeIn-memory structures to buffer database Server-side aggregationsgg g

Page 32: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Conclusions

Conclusion #2

R t D i P tt !Respect Design Patterns !

Server-Side vs Client-Side ProcessingServer Side vs. Client Side ProcessingEfficient Data Transfer PatternsDon’t over-generalize – solve the problemg p

Page 33: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

About SL Corporation

Software Product company since 1983

Headquarters in Marin County CA Headquarters in Marin County, CA

Worldwide presence in Americas, APAC, EMEA

Over 100,000 licenses sold

Core expertise in application performance monitoring – special focus on middleware

Page 34: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Select SL RTView CustomersFinancial Services E Commerce/Retail TelecommunicationsFinancial Services E‐Commerce/Retail Telecommunications

Energy Other

Page 35: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView: The Solution Offering

Application Performance Monitoring

OracleCoherenceMonitoring

MiddlewareMonitoring

Monitoring Monitoring• Collect all necessary application-centric and middleware-centric performance data

•Understand the behavior of Coherence

•Debug and validate

• Determine how applications are interacting withmiddleware systemsp

• Configure data aggregation and persistence, filters, analytics alerts and

gfunctionality after configuration changes

•Integrate OCM with existing monitoring tools

y

• Assess whether applications are running efficiently and reliably

analytics, alerts and displays to deliver information tailored for app support teams

existing monitoring tools

•Enable quick notification of problems

• Ensure the maximum benefit from an ESB investment

Page 36: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView – Sample Applications

OOCL World WideShipment Tracking Hospitality Card application at Harrah’s casino gaming tables

Online Gaming Systems

PJM Real‐time Energy PricingTax Season at Intuit Banking application in Korea

Page 37: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView – Multi-Tier Visibility

Unified Real‐time display of datafrom all Application tiers

Update for ORCL

In‐depth Monitoring of Middleware ComponentsMiddleware Components

Page 38: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView – Large Data Volumes

Typical large implementation, distributed over several regions with many custom applications

Heatmap View showing current state of entire system – size represents

b f f number of servers for application

Color represents how Color represents how close metric is to SLA –large red boxes are worst – drilldown to detail

Page 39: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView - Drill-Down to Detail Metrics

Drilldown to detail level t i h i i t l metrics showing internal

metrics from each application

Sophisticated history and alert view allows fine-tuning of thresholds for each metric

Page 40: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

RTView – Complex Visualizations

Observe “internal load balancing” of Data Grid

Page 41: Overcoming the Top Four Challenges to Real‐Time Performance in Large‐Scale, Data‐Centric Applications

Questions?Questions?

See www.sl.comfor more info about SL and RTView