Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

37
<Insert Picture Here> Oracle Coherence Product Overview Raanan Dagan / Coherence Team

Transcript of Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Page 1: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

<Insert Picture Here>

Oracle CoherenceProduct Overview

Raanan Dagan / Coherence Team

Page 2: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

What is Oracle Coherence?

Distributed Memory Data Management Solution

(aka: Data Grid)

Page 3: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

How Can a Data Grid Help?

• 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

MainframesDatabases Web Services

Enterprise Applications

Real TimeClients

WebServices

Application Tier

Coherence™Data Grid

Data Sources

Data Services

Page 4: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Oracle Grid Computing: Enterprise Ready

Enterprise Application GridEnterprise Application GridExtreme Transaction Processing XTPExtreme Transaction Processing XTP

Oracle RAC

• Common Shared Application Infrastructure (Application Virtualization)

• Data Virtualization (Data as a Service)

• Middle tier scale out for Grid Based OLTP

• Massive Persistent scale out with Oracle RAC

Oracle Coherence

Application

Tier

Page 5: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Requirements of Enterprise Data Grid

• Dynamically Expandable

• No data loss at any volume

• No interruption of service

• Leverage Commodity Hardware

• Cost Effective

• Built for continuous operation

• Data Fault Tolerance• Self-Diagnosis and

Healing• “Once and Only Once”

Processing

• Single view of data• Single management

view• Simple programming

model• Any Application• Any Data Source

Reliable Scalable Universal

• Data Caching• Analytics• Transaction

Processing• Event

Processing

Data

Page 6: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

How Does Coherence™ Data Grid Work?

• Cluster of nodes holding % of primary data locally• Back-up of primary data is distributed across all other

nodes• Logical view of all data from any node

• All nodes verify health of each other• In the event a node is unhealthy, other nodes

diagnose state

• Unhealthy node isolated from cluster• Remaining nodes redistribute primary and

back-up responsibilities to healthy nodes

X

Page 7: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Customers & Coherence?

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 8: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Demo

Page 9: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Technical

Page 10: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #1 - Replicated Cache

Page 11: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #1 - Replicated Cache

Page 12: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #2 - Partitioned Cache

Page 13: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #2 - Guaranteed Cluster Resiliency

Page 14: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #2 - Partitioned Failover

Page 15: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #2a – Cache Client/Cache Server

Page 16: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Topology #3 - Near Cache

Page 17: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Use Case: Coherence*Web

• Coherence*Web is an HTTP session-management module (built-in feature of Coherence)

• Supports a wide range of application servers. • Does not require any changes to the application.• Coherence*Web uses the NearCache technology to

provide fully fault-tolerant caching, with almost unlimited scalability (to several hundred cluster nodes without issue).

• Heterogeneous applications running on mixed hardware/OS/application servers can share common user session data. This dramatically simplifies supporting Single-Sign-On across applications.

Page 18: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Coherence*Web: Session State Management

WebTier

Clustered Oracle, WebLogic, WebSphere, JBoss, Tomcat

Load Balanced

Router

CoherenceWeb

Java EE or ServletContainer

Web Application

ApplicationState

CoherenceWeb

Java EE or ServletContainer

Web Application

ApplicationState

In Memory Coherence Data Grid for Session State

CoherenceWeb

Java EE or ServletContainer

Web Application

ApplicationState

Page 19: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Read-Through Caching

Page 20: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Write-Through Caching

Page 21: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Write-Behind Caching

Page 22: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Features

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 23: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Transaction

• Implicit: Queuing of operations

• Virtual queue & thread per entry

• Explicit: Pessimistic locking

• Grid-Wide Mutex

• Transactions: Unit of work management

• Both optimistic and pessimistic transactions

• Isolation levels from read-committed through serializable

• Integrated with JTA

Page 24: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Events

• Universal: All data sets provide events, regardless of the topology.

• Distributed: The events are always delivered efficiently to the interested listeners.

• Regardless of originating node

• Flexible:

• Listen to entire data sets, specific identities, and even to queries!

• Provides “before” and “after” state

• Both sync and async event models

Page 25: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Query

• Parallel Query: A query is performed in parallel across the Data Grid, using indexing and a iterative Cost Based Optimizer.

• Customizable predicates

• Custom indexes

• Custom aggregators

• Continuous Query: Combines a query with events to provide a local materialized view.

• Result is up-to-date in real-time

• Like the Near Topology, but it always contains the desired data

Page 26: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

InvocableMap – Server Side Processing

Page 27: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Coherence*Extend

• Supports “fat client” real-time applications such as trading desks, as well as other server tiers

• WAN support

• Connection to the cluster is over TCP

• Continuous query can be used to maintain real-time query results on the desktop!

Page 28: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Network

Page 29: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Tangosol Cluster Management Protocol (TCMP)

• Coherence’s own protocol between cluster members• TCMP utilizes UDP• Massively scalable

• Asynchronous• Point-to-point

• UDP Multicast is used for:• New JVMs to join the cluster automatically• Maintaining cluster membership• Multicast is not required; it may be disabled with Well Known

Addresses (WKA)• UDP Unicast is used for most communication

• Very fast and scalable• TCMP guarantees packet order and delivery• TCP/IP connections do not need to be maintained

Page 30: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Clustering is about Consensus!

Oracle Coherence Clustering is very different!

Goal: • Maintain Cluster Membership Consensus all times • Do it as fast as physically possible• Do it without a single point of failure or registry of

members• Ensure all members have the same responsibility and

work together to maintain consensus• Ensure that no voting occurs to determine

membership

Page 31: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Clustering is about Consensus!

Why: If all members are always known…• We can partition / load balance Data & Services• We don’t need to hold TCP/IP connections open

(resource intensive)• Any member can “talk” directly with any other member

(peer-to-peer)• The cluster can dynamically (while running) scale to

any size

Page 32: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Benchmarking Coherence

• Aggregation (DoubleSum) of Trade objects

• Scale out testing on Dual 2.3GHz PowerPC G5 Xserve

• Use of on index for direct access

• if you need to achieve 1,837,932 trade aggregations per second all that is required is to start 16 more cache servers across four more machines.

Page 33: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Coherence Management and Monitoring

• Management Features• Coherence provides standard JMX APIs• Cluster-wide JMX: Ability to monitor and manage the entire

cluster from any node• Customizable web-based console• Does not require an mBean server or any JMX libraries on

managed nodes• Support custom application mBeans• Support for Coherence*Web

Page 34: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Summary

Page 35: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Technical Resources

• White Papers & Presentations http://www.oracle.com/technology/products/coherence/index.html

• Technical Documentation

http://wiki.tangosol.com

• Support Forums, Technical FAQ’s

http://forums.oracle.com/forums/forum.jspa?forumID=480

Page 36: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.

Summary

• Coherence is the leading product set for high performance distributed in-memory data services

• Significant customer traction• Established technology platform

• Coherence™ delivers data performance, scalability and reliability

• Data Grids are a key enabler for SOA, EDA, virtualization

Need for Reliability

Time

Defining Moment

SOA

EDA

Page 37: Oracle Coherence Product Overview Raanan Dagan / Coherence Team.