oracle coherence: in-memory datagrid

43
<Insert Picture Here> Oracle Coherence In-Memory Data Grid Emiliano Pecis Principal Sales Consultant

Upload: emiliano-pecis

Post on 14-Dec-2014

11.656 views

Category:

Documents


1 download

DESCRIPTION

Why is there the need of a datagrid? When? What is Oracle Coherence? What can it help you in order to scale your webapp?

TRANSCRIPT

Page 1: Oracle Coherence: in-memory datagrid

<Insert Picture Here>

Oracle CoherenceIn-Memory Data Grid

Emiliano Pecis

Principal Sales Consultant

Page 2: Oracle Coherence: in-memory datagrid

Agenda

• The need of a datagrid• Coherence overview• Coherence usecases• Demo & Examples• Questions

Page 3: Oracle Coherence: in-memory datagrid

the need of a datagrid

Page 4: Oracle Coherence: in-memory datagrid

Business Innovation Poses Extreme Challenges to Transactional Applications

Page 5: Oracle Coherence: in-memory datagrid

Compute Power: SMP/Multicore

Memory Arrives: “In Memory Option”

Network Speed: Gbe/10G/IB

Storage: Flexibility

Hardware Capacity ImpactHardware Capacity Impact

Crossing the Scalability Chasm

Availability – Continuous

Reliability – Transactional Integrity

Scalability – Capacity on Demand

Performance – Zero Latency

Enterprise Infrastructure RequirementsEnterprise Infrastructure Requirements

Grid Automation

Service Level Management

Application Performance Mgmt

Provisioning

Enterprise Manageability RequirementsEnterprise Manageability Requirements

Service Oriented Architecture

Web 2.0

Event Driven Architecture

Extreme Transaction Volumes

Software Framework PressuresSoftware Framework Pressures

Page 6: Oracle Coherence: in-memory datagrid

SOA Services – Caching Service Data

Background

• SOA solution, self-service portals, customer dashboards.

• Service implementation involves exposure and composition of services from underlying system e.g. CRM, device management.

• Data record obtained from customer is coarse grained and provides more data than fine grained application requirements.

Challenge

• Avoid high latency on repeated calls for data which would impact customer service experience.

• Avoid development overheard of bespoke cache solution.

Service Bus

Portal

Orchestration Engine

ServiceProvider

This is a very large piece of customer data that has to be obtained in one go from the system.

This is a very large piece of customer data that has to be obtained in one go from the system.

Service

MySelfServPortal

Page 7: Oracle Coherence: in-memory datagrid

WOA: good but unpredictable

Client side Server side

Page 8: Oracle Coherence: in-memory datagrid

Data demand Vs Data supply

• Data Demand outpacing Data Supply

• Rate of growth outpacing ability to cost effectively scale applications

1011000101100101110110010110010111000111011001

10110001011000101110110010110010111000111011001011101100

Application Servers

Web Servers

Ever Expanding Universe of Users

Data Supply

Data Demand

Page 9: Oracle Coherence: in-memory datagrid

Data demand Vs Data supply

Data Sources

10110001011001011101100101100101110001110

101100010110010111011001011001011100011101111110001110

Application Servers

Web Servers

Ever Expanding Universe of Users

Data Demand

Java Objects

• Data Demand outpacing Data Supply

• Rate of growth outpacing ability to cost effectively scale applications

Page 10: Oracle Coherence: in-memory datagrid

Coherence Overview

Page 11: Oracle Coherence: in-memory datagrid

Oracle Coherence Data Grid

• Provides a reliable data tier with a single, consistent view of data

• Enables dynamic data capacity including fault tolerance and load balancing

• Ensures that data capacity scales with processing capacity

Oracle CoherenceData Grid

MainframesDatabases Web Services

Enterprise Applications

Real TimeClients

WebServices

Data Services

Distributed in Memory Data Management

Page 12: Oracle Coherence: in-memory datagrid

Oracle Coherence: Data Grid Uses

CachingApplications request data from the Data Grid rather than backend data sources

AnalyticsApplications ask the Data Grid questions from simple queries to advanced scenario modeling

TransactionsData Grid acts as a transactional System of Record, hosting data and business logic

EventsAutomated processing based on event

Page 13: Oracle Coherence: in-memory datagrid

Coherence: A Unique Approach

• In Coherence…• Members share responsibilities (health, services, data…)• Completely Peer-to-Peer• No Single Points of Bottleneck (SPOBs)• No Single Points of Failure (SPOFs)• Linearly scalable to hundreds of servers by design

• Servers form a full “mesh”• No Masters / Slaves etc.• Data Grid members work together as a team• Communication is almost always point-to-point

• Designed for commodity switched infrastructures

• Scalable throughput up to the limit of the backplane

Page 14: Oracle Coherence: in-memory datagrid

How Does Oracle Coherence Data Grid Work?

• Data load-balanced in-memory across a cluster of servers• Data automatically and synchronously replicated to

at least one other server for continuous availability• Single System Image: Logical view of all

data on all servers

• Servers monitor the health of each other• In the event a server fails or is unhealthy,

other servers cooperatively diagnose the state

• The healthy servers immediately assume the responsibilities of the failed server

• Continuous Operation: No interruption of service or loss of data due when a server fails

?

X

Page 15: Oracle Coherence: in-memory datagrid

Partitioned Topology : Data Access

• Data spread and backed up across Members

• Transparent to developer

• Members have access to all Data

• All Data locations are known – no lookup & no registry!

Page 16: Oracle Coherence: in-memory datagrid

Partitioned Topology : Data Update• Synchronous Update

• Avoids potential Data Loss & Corruption

• Predictable Performance

• Backup Partitions are partitioned away from Primaries for resilience

• No engineering requirement to setup Primaries or Backups

• Automatically and Dynamically Managed

• Write-behind

Page 17: Oracle Coherence: in-memory datagrid

Partitioned Topology : Recovery• Membership changes (new

members added or members leaving)

• Other members, using consensus, recover and repartition automatically

• No in-flight operations lost, no availability gap!

• Some latencies (due to higher priority of asynchronous recovery)

• Information Reliability & Continuous Availability are the priorities

Page 18: Oracle Coherence: in-memory datagrid

Read-Through & Write-Through

• Access to the data sources go through the Data Grid.

• Read and write operations are always managed by the node that owns the data within the Data Grid.

• Concurrent accesses are combined, greatly reducing database load.

• Write-Through keeps the in-memory data and the database in sync.

Page 19: Oracle Coherence: in-memory datagrid

Write-Behind

• Write-Behind accepts data modifications directly into the Data Grid

• The modifications are then asynchronously written back to the data source, optionally after a specified delay

• All write-behind data is synchronously and redundantly managed, making it resilient to server failure

Page 20: Oracle Coherence: in-memory datagrid

Features : Observable Interface

Page 21: Oracle Coherence: in-memory datagrid

Features : QueryMap Interface

Page 22: Oracle Coherence: in-memory datagrid

Features : InvocableMap Interface

Page 23: Oracle Coherence: in-memory datagrid

Coherence Use cases

Page 24: Oracle Coherence: in-memory datagrid

Seamless Consolidation

Data GridApplication Server

Cluster with multiple JVMs /

Managed

Application Server Cluster

with less members and

data grid cluster connected

• Application data can overwhelm available server memory.

• Adding more application servers only compounds problem.

• Each app server requires fixed overhead.

• Memory management issues.

• Keep application data outside the application server.

• Instant 25% increase of users per WLS application.

• Scale application data linearly thru commodity hardware.

• Increase availability thru data redundancy.

Challenges Benefits

Page 25: Oracle Coherence: in-memory datagrid

GAP• One of the largest clothing retailer

• 3100 Stores

• FY2006 revenue $16 Billion

• Four nationally recognized brand names

• Coherence eliminates lost connections to the back-end systems

• Customers can shop between different brands using a single unified check out experience

• Customer data now available in memory for innovative features

• Loss of database connections means lost shopping carts

• Customers needed to re-enter lost items after failure, impacting customer satisfaction

• Slow on-line store performance increased customer frustration

• Online retail store

• High availability of the web site, shopping cart

Scenario Problem Solution

Oracle Confidential - Do not distribute

Page 26: Oracle Coherence: in-memory datagrid

GAPProfile• One of the largest clothing retailer

• 3100 Stores

• FY2006 revenue $16 Billion

• Gap, Banana Republic, Old Navy, Piperlime

• Coherence data grid and Coherence Web solution provides better caching for the data and no loss connections to the back-end systems

• Q1 2008, customers can shop between different brands (Gap, banana Republic, Old Navy and Piperlime) without having to check out between sites.

• Many times on-line store shopping cart would lose connections to back-end servers, causing users to re-select the items and add to shopping cart, causing loss of sales and low customer satisfaction

• Slow on-line store performance

• Online retail store

• High availability of the web site , shopping cart

Scenario Problem Solution

Page 27: Oracle Coherence: in-memory datagrid

DB Offload

Data Grid

Challenges Benefits

• Limited/scalability on the data tier• Improve latency on data access• Improve overall performance of

Application

• Local side cache boost reading operations

• DB offload (less reads and CRUD operations performed in batch)

Page 28: Oracle Coherence: in-memory datagrid

eCommerce store

• e-commerce

• On-line gaming and entertainment

• iTunes

• Information is put in Coherence with a high frequency, on the dot you get millions of objects into coherence.

• The survival limit for the objects are configured to a time limit. When this limit is reached the objects are pushed out of Coherence (either eliminated or pushed to storage for long-term actions).

• Coherence enables for more time-consuming analysis than otherwise possible for transient data

• More data needed to be stored than available local memory

• Database roundtrips too long

• Investing in new databases too costly

• Find a cost-efficient way to store transient data

• Find a cost-efficient way to store transient data

Scenario Problem Solution

Page 29: Oracle Coherence: in-memory datagrid

Mainframe Offload

Challenges Benefits

• Reduce operational costs

• Business logic in Java with Mainframe data (ex: Risk Calculations)

• Save money by saving MIPS• Save money by using commodity

hardware• Modernise legacy apps• Reduce accesses to the mainframe

back-ends• Improve performance UI

applications

Data GridWorkers

Mainframe / Back End

Page 30: Oracle Coherence: in-memory datagrid

Rent a Car• One of the leading car rental companies

• 2100 locations worldwide, 218K fleet of vehicles

• Multi-channel sales model – Partners, Direct

• Created an XML gateway for partners to serve them Quotes. This channel alone produces 26 million a month mainframe requests.

• Coherence serves about 20% of these quests (5.2 million requests per month).

• The rates information get refreshed and cached by each location in the morning. There are also event driven updates during the day based on changes in the rates etc.

• Reduce cost of Mainframe operations

• Partner channels growth driving cost of business higher

• Meet customer SLAs• Better understanding of

partners and their business behavior

• Multiple Channels created a constant growth on the mainframe consumption, which was affecting the overall mainframe cost

Scenario Problem Solution

Page 31: Oracle Coherence: in-memory datagrid

Data Grid power on SOA

Challenges Benefits

• Cache data from federated services

• Maintain state between service invocations

• Predicable latency on service levels

• Distributed transactions

• Performance on SOA• Reduce the number of accesses to

the backend systems• Expose service data like POJO’s

through Coherence• Increase performance for services

delivering static information

Data Grid

Cu

sto

m

Tu

xe

do

FT

P

File

SM

TP

Oracle Service Bus

Web

S

ervic

es

JM

S

MQ

EJB

/RM

I

Page 32: Oracle Coherence: in-memory datagrid

Wells Fargo• 41st on Fortune 500 list

• About 6000 locations

• $540 Billion in assets

• Harmonize the access to their data sources thru the deployment of web services in an SOA

• Offload their backend system by processing the majority of their operations in the Coherence data grid

• Consistently meet SLAs resulting in improved employee and customer satisfaction and reduced customer and employee turnover

• The performance of their in-branch applications is critical since most of the time a customer is either waiting across the desk of the financial consultant or on the phone.

• The data access latency is the main variable in the performance of this system and is largely dictated by the availability of various legacy data sources which are hosted in a couple of datacenters.

• Enterprise Service Bus for in-branch client relationship management application had slow performance

Scenario Problem Solution

Page 33: Oracle Coherence: in-memory datagrid

Betfair …. Bets on XTP

Database Tier

PL

/SQ

L S

tore

d P

roc

ed

ure

s

Oracle DB

Sun Solaris

Oracle Coherence

Linux

Clu

ste

red

Da

ta C

ac

he

Ap

plic

atio

n L

og

ic

JBoss

Linux

Application and Caching Tier

User Tier

Online Bettors/Gamblers

Third-Party Applications

The Internet

Page 34: Oracle Coherence: in-memory datagrid

Sun’s use case 1/4

Page 35: Oracle Coherence: in-memory datagrid

Sun’s use case 2/4

Page 36: Oracle Coherence: in-memory datagrid

Sun’s use case 3/4

Page 37: Oracle Coherence: in-memory datagrid

Sun’s use case 4/4

Page 38: Oracle Coherence: in-memory datagrid

Summary and demo

Page 39: Oracle Coherence: in-memory datagrid

Oracle Coherence Advantage

• Protect the Database Investment• Ensure DB does what it does best, limit cost of rearchitecture

• Scale as you Grow• Cost effective: Start small with 3-5 servers, scale to hundreds

of servers as business grows

• Enables business continuity • Providing continuous data availability

Page 40: Oracle Coherence: in-memory datagrid

Oracle Coherence Data Grid

• Continuous Availability for application data and processing• Scales out linearly, whether 2 or 2,000 servers• Power to perform massive Data Grid based analytics,

transaction and event processing• Provides instant data access while reducing load on back-

end data sources

Oracle Coherence simultaneously addresses Reliability, Scalability and Performance

Page 41: Oracle Coherence: in-memory datagrid

Demo

Page 42: Oracle Coherence: in-memory datagrid

Q & A

Page 43: Oracle Coherence: in-memory datagrid