Oracle Coherence Product Overview Raanan Dagan / Coherence Team

  • View
    224

  • Download
    3

Embed Size (px)

Text of Oracle Coherence Product Overview Raanan Dagan / Coherence Team

  • What is Oracle Coherence?Distributed Memory Data Management Solution(aka: Data Grid)

  • How Can a Data Grid Help?Provides a reliable data tier with a single, consistent view of dataEnables dynamic data capacity including fault tolerance and load balancingEnsures that data capacity scales with processing capacityMainframesDatabasesWeb ServicesEnterprise ApplicationsReal TimeClientsWebServicesApplication TierCoherenceData GridData SourcesData Services

  • Oracle Grid Computing: Enterprise ReadyEnterprise Application GridExtreme Transaction Processing XTP

    Oracle RACCommon Shared Application Infrastructure (Application Virtualization)Data Virtualization (Data as a Service)Middle tier scale out for Grid Based OLTPMassive Persistent scale out with Oracle RACOracle CoherenceApplication Tier

  • Requirements of Enterprise Data GridDynamically ExpandableNo data loss at any volumeNo interruption of serviceLeverage Commodity HardwareCost EffectiveBuilt for continuous operationData Fault ToleranceSelf-Diagnosis and HealingOnce and Only Once Processing

    Single view of dataSingle management viewSimple programming modelAny ApplicationAny Data Source

    ReliableScalableUniversalData CachingAnalyticsTransaction ProcessingEvent ProcessingData

  • How Does Coherence Data Grid Work?Cluster of nodes holding % of primary data locallyBack-up of primary data is distributed across all other nodesLogical view of all data from any nodeAll nodes verify health of each otherIn the event a node is unhealthy, other nodes diagnose stateUnhealthy node isolated from clusterRemaining nodes redistribute primary and back-up responsibilities to healthy nodesX

  • 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

  • Demo

  • Technical

  • Topology #1 - Replicated Cache

  • Topology #1 - Replicated Cache

  • Topology #2 - Partitioned Cache

  • Topology #2 - Guaranteed Cluster Resiliency

  • Topology #2 - Partitioned Failover

  • Topology #2a Cache Client/Cache Server

  • Topology #3 - Near Cache

  • Use Case: Coherence*WebCoherence*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.

  • Coherence*Web: Session State ManagementClustered Oracle, WebLogic, WebSphere, JBoss, TomcatLoad BalancedCoherence WebJava EE or Servlet ContainerWeb ApplicationApplication StateCoherence WebJava EE or Servlet ContainerWeb ApplicationApplication StateIn Memory Coherence Data Grid for Session State

  • Read-Through Caching

  • Write-Through Caching

  • Write-Behind Caching

  • FeaturesCachingApplications 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

  • TransactionImplicit: Queuing of operationsVirtual queue & thread per entryExplicit: Pessimistic lockingGrid-Wide MutexTransactions: Unit of work managementBoth optimistic and pessimistic transactionsIsolation levels from read-committed through serializableIntegrated with JTA

  • EventsUniversal: All data sets provide events, regardless of the topology.Distributed: The events are always delivered efficiently to the interested listeners.Regardless of originating nodeFlexible:Listen to entire data sets, specific identities, and even to queries!Provides before and after stateBoth sync and async event models

  • QueryParallel Query: A query is performed in parallel across the Data Grid, using indexing and a iterative Cost Based Optimizer.Customizable predicatesCustom indexesCustom aggregatorsContinuous Query: Combines a query with events to provide a local materialized view.Result is up-to-date in real-timeLike the Near Topology, but it always contains the desired data

  • InvocableMap Server Side Processing

  • Coherence*ExtendSupports 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!

  • Network

  • Tangosol Cluster Management Protocol (TCMP)Coherences own protocol between cluster membersTCMP utilizes UDPMassively scalable AsynchronousPoint-to-pointUDP Multicast is used for:New JVMs to join the cluster automaticallyMaintaining cluster membershipMulticast is not required; it may be disabled with Well Known Addresses (WKA)UDP Unicast is used for most communicationVery fast and scalableTCMP guarantees packet order and deliveryTCP/IP connections do not need to be maintained

  • Clustering is about Consensus!Oracle Coherence Clustering is very different!Goal: Maintain Cluster Membership Consensus all times Do it as fast as physically possibleDo it without a single point of failure or registry of membersEnsure all members have the same responsibility and work together to maintain consensusEnsure that no voting occurs to determine membership

  • Clustering is about Consensus!Why: If all members are always knownWe can partition / load balance Data & ServicesWe dont 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

  • Benchmarking CoherenceAggregation (DoubleSum) of Trade objectsScale out testing on Dual 2.3GHz PowerPC G5 Xserve Use of on index for direct accessif 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.

  • Coherence Management and MonitoringManagement FeaturesCoherence provides standard JMX APIsCluster-wide JMX: Ability to monitor and manage the entire cluster from any nodeCustomizable web-based consoleDoes not require an mBean server or any JMX libraries on managed nodesSupport custom application mBeansSupport for Coherence*Web

  • Summary

  • Technical Resources

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

    Technical Documentationhttp://wiki.tangosol.com

    Support Forums, Technical FAQs http://forums.oracle.com/forums/forum.jspa?forumID=480

  • SummaryCoherence is the leading product set for high performance distributed in-memory data servicesSignificant customer tractionEstablished technology platformCoherence delivers data performance, scalability and reliabilityData Grids are a key enabler for SOA, EDA, virtualizationNeed for ReliabilityTimeDefining MomentSOAEDA

  • Data Grids provide key data juncture between disparate applications and disparate data sources. Designed for reliability: withstand faults, outages Built to scale out as needed and handle load gracefully Customers should consider these requirements when looking at different solutions Most solutions add reliability on as an after-thought, Coherence was designed and built from the ground-up with reliability in mind Needs to be simple enough for corporate developers to easily adopt and integrate into existing applications

    Coherence Reliability Overview in 3 simple steps:Data distributed automatically, dynamically, transparently across cluster. Backup data distributed equally across other nodesAll nodes continually monitor health of other nodes. They also will automatically conduct diagnostics to determine state of unhealthy node.When deemed unhealthy, node isolated from cluster. Cluster redistributes primary data, and responsibility for back up on the fly.

    Data Grids are used for different purposes. We are going to walk through each of these and provide real examples of how they work

    Build slide to show state is recoverable from the data grid. There is multiple important points here the biggest is the ability to separate the session state to a tier independent of the application you are offloading horsepower requirements in the middletier app server to the grid and getting significant reliability as a result of making this coherence. Data Grids are used for different purposes. We are going to walk through each of these and provide real examples of how they work

    Coherence uses TCMP, a clustered IP-based protocol, for server discovery, cluster management, service provisioning and data transmission. To ensure true scalability, the TCMP protocol is completely asychronous, meaning that communication is never blocking, even when many threads on a server are communicating at the same time. Further, the asynchronous nature also means that the latency of the network (for example, on a routed network between two different sites) does not affect cluster throughput, although it will affect the speed of certain operations.

    TCMP uses a combination of UDP/IP multicast, UDP/IP unicast and TCP/IP as follows