Oracle Coherence: in-memory datagrid


Published on

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

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • AGENDA Web 2.0 and Enterprise 2.0 Challenges and Solutions for Enterprise 2.0 Oracle’s Strategy for Enterprise 2.0
  • Action Item: Organizations depending on the TP application style to support their businesses should anticipate a dramatic change in their application architecture and technology infrastructures as a consequence of greater demand in terms of scalability, performance and availability . Improvements in hardware and network speed, mature middleware platforms, and real-time-oriented application architectures have enabled the notion of the real-time enterprise (RTE). This is a technology-enabled business concept by which organizations exploit real-time access to data to run core business processes. An RTE's competitive advantage is its ability to respond faster than competitors to business events. This concept can be used to optimize business models and enable new business scenarios, such as convergent networks in telecommunications or automated trading in financial services. The RTE can be deployed by specific applications, such as "microcommerce " and "micropayment " systems, global-class business-to-consumer (B2C) applications, real-time monitoring and management, real-time fraud detection, and real-time risk management. These applications are often transactional, although different from traditional transaction processing (TP) systems in their architectures. Typically positioned at the high end of the TP spectrum in performance and scalability needs, they're usually highly business-critical and have to deal with sensitive information. Therefore, they are also characterized by high-end requirements in terms of availability, security and monitoring/management. As a consequence, the most-high-end TP scenarios will be more common, and even the most extreme will enter mainstream adoption .
  • Today’s Application infrastructures are facing great demands in terms of service levels, scalability, flexibility. At the same time, hardware is commoditized yet increasingly powerful and capable to meet challenges. In order to turn challenges into opportunities for “future-proofing” environments, enterprises are “rethinking” their application infrastructures.
  • 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
  • Data Grids are used for different purposes. These are the four most common uses. Caching Coherence was the first technology to proved reliable distributed caching Helped many organizations alleviate data bottleneck issues and scale out application tier Analytics Enables applications to efficiently run queries across entire data grid Support for heavy query loads, while improving responsiveness of each query Server failures do not impact correctness of “in flight” queries and analytics Transactions Data Grid provides optimal platform for joining data and business logic Greater business agility by moving database stored procedures into the Data Grid Coherence reliability allows not only in-memory data processing, but provides the ability to commit transactions in-memory Reliability is key to conducting in-memory transactions. Coherence provides absolute reliability – every transaction matters. Events Oracle Coherence Data Grid manages processing state, guaranteeing once-and-only-once event processing Data Grid provides scalable management of event processing
  • Distributed data management: single system image Consensus: nodes know who is a member, state of cluster Shared responsibilities, holding data, backups, diagnostics No interruptions in the event of a server failure First Build: Objects are distributed in memory among different JVMs on different Servers. Objects are held in primary format in only one place of the grid. A backup of the same data is also held in the memory on a different server. So from applications perspective, it just asks for the data to the Coherence grid and Coherence fetches it. Even if the primary server where the object was held is not available, it knows where to get the back up and get the data. Second Build: At the heart of Coherence is a consensus among the Coherence servers regarding which servers are currently participating in the Coherence grid. The logic behind this consensus is built into each one of the Coherence servers. The consensus is maintained automatically as servers are added or go down or are removed from the grid. Third Build
  • IBM shop Un unico shopping chart su 4 retail site
  • Betfair is the world's leading online betting exchange, a concept it has pioneered since 2000 Betfair processes 5 million transactions a day and more than 300 bets a second . Betfair is a profitable and debt-free company, with annual revenue exceeding £180 million . Betfair deals a growing transactional workload (greater than 500 updates and thousands of inquiry transactions per second) with 24/365 availability requirements across geographically distributed data centers (Betfair has a data center in Australia as mandated by local laws). The initial online betting exchange system was an ASP.NET/Oracle application that was replaced in 2004 by a second-generation system (Betex ), which used the existing Oracle DB but replaced the ASP front end with a Java/JSP application (built on the JBoss open-source application server) that leveraged the Oracle Coherence (then Tangosol Coherence) distributed caching platform The architecture proved very scalable and has supported the company's growth since its implementation. However, to meet ongoing scaling demands and enable an order of magnitude increase in workload, Betfair is developing the "Flywheel" third generation of its platform , which will be based on a revolutionary event-driven architecture foundation.
  • 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
  • That is why the Oracle Enterprise 2.0 platform, that combine with all the different solutions and technologies that we have talked about today, really define and form a complete solution set that is designed to be uptaken granularly and modularly. This gradual evolution allows the new E20 capabilities to leverage and use those infrastructure and application investments that have already been made, and thereby maximize them. In this way, the triumvirate of users, information, and systems experiences maximized interaction, efficiency and, ultimately, evolution.
  • Oracle Coherence: in-memory datagrid

    1. 1. Oracle Coherence In-Memory Data Grid Emiliano Pecis Principal Sales Consultant <Insert Picture Here>
    2. 2. Agenda <ul><li>The need of a datagrid </li></ul><ul><li>Coherence overview </li></ul><ul><li>Coherence usecases </li></ul><ul><li>Demo & Examples </li></ul><ul><li>Questions </li></ul>
    3. 3. the need of a datagrid
    4. 4. Business Innovation Poses Extreme Challenges to Transactional Applications
    5. 5. Crossing the Scalability Chasm <ul><li>Service Oriented Architecture </li></ul><ul><li>Web 2.0 </li></ul><ul><li>Event Driven Architecture </li></ul><ul><li>Extreme Transaction Volumes </li></ul><ul><li>Compute Power: SMP/Multicore </li></ul><ul><li>Memory Arrives: “In Memory Option” </li></ul><ul><li>Network Speed: Gbe/10G/IB </li></ul><ul><li>Storage: Flexibility </li></ul>Hardware Capacity Impact <ul><li>Availability – Continuous </li></ul><ul><li>Reliability – Transactional Integrity </li></ul><ul><li>Scalability – Capacity on Demand </li></ul><ul><li>Performance – Zero Latency </li></ul>Enterprise Infrastructure Requirements <ul><li>Grid Automation </li></ul><ul><li>Service Level Management </li></ul><ul><li>Application Performance Mgmt </li></ul><ul><li>Provisioning </li></ul>Enterprise Manageability Requirements Software Framework Pressures
    6. 6. SOA Services – Caching Service Data <ul><li>Background </li></ul><ul><li>SOA solution, self-service portals, customer dashboards. </li></ul><ul><li>Service implementation involves exposure and composition of services from underlying system e.g. CRM, device management. </li></ul><ul><li>Data record obtained from customer is coarse grained and provides more data than fine grained application requirements. </li></ul><ul><li>Challenge </li></ul><ul><li>Avoid high latency on repeated calls for data which would impact customer service experience. </li></ul><ul><li>Avoid development overheard of bespoke cache solution. </li></ul>Service Bus Portal Orchestration Engine Service Provider Service MySelfServPortal 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.
    7. 7. WOA: good but unpredictable Client side Server side
    8. 8. Data demand Vs Data supply <ul><li>Data Demand outpacing Data Supply </li></ul><ul><li>Rate of growth outpacing ability to cost effectively scale applications </li></ul>Application Servers Web Servers Ever Expanding Universe of Users Data Supply Data Demand 1011000101100101110110010110010111000111011001 10110001011000101110110010110010111000111011001011101100
    9. 9. Data demand Vs Data supply Data Sources <ul><li>Data Demand outpacing Data Supply </li></ul><ul><li>Rate of growth outpacing ability to cost effectively scale applications </li></ul>10110001011001011101100101100101110001110 101100010110010111011001011001011100011101111110001110 Application Servers Web Servers Ever Expanding Universe of Users Data Demand Java Objects
    10. 10. Coherence Overview
    11. 11. Oracle Coherence Data Grid <ul><li>Provides a reliable data tier with a single, consistent view of data </li></ul><ul><li>Enables dynamic data capacity including fault tolerance and load balancing </li></ul><ul><li>Ensures that data capacity scales with processing capacity </li></ul>Distributed in Memory Data Management Oracle Coherence Data Grid Mainframes Databases Web Services Enterprise Applications Real Time Clients Web Services Data Services
    12. 12. Oracle Coherence: Data Grid Uses Caching Applications request data from the Data Grid rather than backend data sources Analytics Applications ask the Data Grid questions from simple queries to advanced scenario modeling Transactions Data Grid acts as a transactional System of Record, hosting data and business logic Events Automated processing based on event
    13. 13. Coherence: A Unique Approach <ul><li>In Coherence… </li></ul><ul><ul><li>Members share responsibilities (health, services, data…) </li></ul></ul><ul><ul><li>Completely Peer-to-Peer </li></ul></ul><ul><ul><li>No Single Points of Bottleneck (SPOBs) </li></ul></ul><ul><ul><li>No Single Points of Failure (SPOFs) </li></ul></ul><ul><ul><li>Linearly scalable to hundreds of servers by design </li></ul></ul><ul><li>Servers form a full “mesh” </li></ul><ul><ul><li>No Masters / Slaves etc. </li></ul></ul><ul><ul><li>Data Grid members work together as a team </li></ul></ul><ul><ul><li>Communication is almost always point-to-point </li></ul></ul><ul><ul><ul><li>Designed for commodity switched infrastructures </li></ul></ul></ul><ul><ul><ul><li>Scalable throughput up to the limit of the backplane </li></ul></ul></ul>
    14. 14. How Does Oracle Coherence Data Grid Work? <ul><li>Data load-balanced in-memory across a cluster of servers </li></ul><ul><li>Data automatically and synchronously replicated to at least one other server for continuous availability </li></ul><ul><li>Single System Image: Logical view of all data on all servers </li></ul><ul><li>Servers monitor the health of each other </li></ul><ul><li>In the event a server fails or is unhealthy, other servers cooperatively diagnose the state </li></ul><ul><li>The healthy servers immediately assume the responsibilities of the failed server </li></ul><ul><li>Continuous Operation: No interruption of service or loss of data due when a server fails </li></ul>? X
    15. 15. Partitioned Topology : Data Access <ul><li>Data spread and backed up across Members </li></ul><ul><li>Transparent to developer </li></ul><ul><li>Members have access to all Data </li></ul><ul><li>All Data locations are known – no lookup & no registry! </li></ul>
    16. 16. Partitioned Topology : Data Update <ul><li>Synchronous Update </li></ul><ul><li>Avoids potential Data Loss & Corruption </li></ul><ul><li>Predictable Performance </li></ul><ul><li>Backup Partitions are partitioned away from Primaries for resilience </li></ul><ul><li>No engineering requirement to setup Primaries or Backups </li></ul><ul><li>Automatically and Dynamically Managed </li></ul><ul><li>Write-behind </li></ul>
    17. 17. Partitioned Topology : Recovery <ul><li>Membership changes (new members added or members leaving) </li></ul><ul><li>Other members, using consensus , recover and repartition automatically </li></ul><ul><li>No in-flight operations lost, no availability gap! </li></ul><ul><li>Some latencies (due to higher priority of asynchronous recovery) </li></ul><ul><li>Information Reliability & Continuous Availability are the priorities </li></ul>
    18. 18. Read-Through & Write-Through <ul><li>Access to the data sources go through the Data Grid. </li></ul><ul><li>Read and write operations are always managed by the node that owns the data within the Data Grid. </li></ul><ul><li>Concurrent accesses are combined, greatly reducing database load. </li></ul><ul><li>Write-Through keeps the in-memory data and the database in sync. </li></ul>
    19. 19. Write-Behind <ul><li>Write-Behind accepts data modifications directly into the Data Grid </li></ul><ul><li>The modifications are then asynchronously written back to the data source, optionally after a specified delay </li></ul><ul><li>All write-behind data is synchronously and redundantly managed, making it resilient to server failure </li></ul>
    20. 20. Features : Observable Interface
    21. 21. Features : QueryMap Interface
    22. 22. Features : InvocableMap Interface
    23. 23. Coherence Use cases
    24. 24. Seamless Consolidation Data Grid Application Server Cluster with multiple JVMs / Managed Application Server Cluster with less members and data grid cluster connected <ul><li>Application data can overwhelm available server memory. </li></ul><ul><li>Adding more application servers only compounds problem. </li></ul><ul><li>Each app server requires fixed overhead. </li></ul><ul><li>Memory management issues. </li></ul><ul><li>Keep application data outside the application server. </li></ul><ul><li>Instant 25% increase of users per WLS application. </li></ul><ul><li>Scale application data linearly thru commodity hardware. </li></ul><ul><li>Increase availability thru data redundancy. </li></ul>Challenges Benefits
    25. 25. GAP <ul><li>One of the largest clothing retailer </li></ul><ul><li>3100 Stores </li></ul><ul><li>FY2006 revenue $16 Billion </li></ul><ul><li>Four nationally recognized brand names </li></ul>Oracle Confidential - Do not distribute <ul><li>Coherence eliminates lost connections to the back-end systems </li></ul><ul><li>Customers can shop between different brands using a single unified check out experience </li></ul><ul><li>Customer data now available in memory for innovative features </li></ul><ul><li>Loss of database connections means lost shopping carts </li></ul><ul><li>Customers needed to re-enter lost items after failure, impacting customer satisfaction </li></ul><ul><li>Slow on-line store performance increased customer frustration </li></ul><ul><li>Online retail store </li></ul><ul><li>High availability of the web site, shopping cart </li></ul>Scenario Problem Solution
    26. 26. GAP <ul><li>Profile </li></ul><ul><li>One of the largest clothing retailer </li></ul><ul><li>3100 Stores </li></ul><ul><li>FY2006 revenue $16 Billion </li></ul><ul><li>Gap, Banana Republic, Old Navy, Piperlime </li></ul><ul><li>Coherence data grid and Coherence Web solution provides better caching for the data and no loss connections to the back-end systems </li></ul><ul><li>Q1 2008, customers can shop between different brands (Gap, banana Republic, Old Navy and Piperlime) without having to check out between sites. </li></ul><ul><li>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 </li></ul><ul><li>Slow on-line store performance </li></ul><ul><li>Online retail store </li></ul><ul><li>High availability of the web site , shopping cart </li></ul>Scenario Problem Solution
    27. 27. DB Offload Data Grid Challenges Benefits <ul><li>Limited/scalability on the data tier </li></ul><ul><li>Improve latency on data access </li></ul><ul><li>Improve overall performance of Application </li></ul><ul><li>Local side cache boost reading operations </li></ul><ul><li>DB offload (less reads and CRUD operations performed in batch) </li></ul>
    28. 28. eCommerce store <ul><li>e-commerce </li></ul><ul><li>On-line gaming and entertainment </li></ul><ul><li>iTunes </li></ul><ul><li>Information is put in Coherence with a high frequency, on the dot you get millions of objects into coherence. </li></ul><ul><li>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). </li></ul><ul><li>Coherence enables for more time-consuming analysis than otherwise possible for transient data </li></ul><ul><li>More data needed to be stored than available local memory </li></ul><ul><li>Database roundtrips too long </li></ul><ul><li>Investing in new databases too costly </li></ul><ul><li>Find a cost-efficient way to store transient data </li></ul><ul><li>Find a cost-efficient way to store transient data </li></ul>Scenario Problem Solution
    29. 29. Mainframe Offload <ul><li>Reduce operational costs </li></ul><ul><li>Business logic in Java with Mainframe data (ex: Risk Calculations) </li></ul>Challenges Benefits <ul><li>Save money by saving MIPS </li></ul><ul><li>Save money by using commodity hardware </li></ul><ul><li>Modernise legacy apps </li></ul><ul><li>Reduce accesses to the mainframe back-ends </li></ul><ul><li>Improve performance UI applications </li></ul>Data Grid Workers Mainframe / Back End
    30. 30. Rent a Car <ul><li>One of the leading car rental companies </li></ul><ul><li>2100 locations worldwide, 218K fleet of vehicles </li></ul><ul><li>Multi-channel sales model – Partners, Direct </li></ul><ul><li>Created an XML gateway for partners to serve them Quotes. This channel alone produces 26 million a month mainframe requests. </li></ul><ul><li>Coherence serves about 20% of these quests (5.2 million requests per month). </li></ul><ul><li>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. </li></ul><ul><li>Reduce cost of Mainframe operations </li></ul><ul><li>Partner channels growth driving cost of business higher </li></ul><ul><li>Meet customer SLAs </li></ul><ul><li>Better understanding of partners and their business behavior </li></ul><ul><li>Multiple Channels created a constant growth on the mainframe consumption, which was affecting the overall mainframe cost </li></ul>Scenario Problem Solution
    31. 31. Data Grid power on SOA <ul><li>Cache data from federated services </li></ul><ul><li>Maintain state between service invocations </li></ul><ul><li>Predicable latency on service levels </li></ul><ul><li>Distributed transactions </li></ul>Challenges Benefits <ul><li>Performance on SOA </li></ul><ul><li>Reduce the number of accesses to the backend systems </li></ul><ul><li>Expose service data like POJO’s through Coherence </li></ul><ul><li>Increase performance for services delivering static information </li></ul>Data Grid Custom Tuxedo FTP File SMTP Oracle Service Bus Web Services JMS MQ EJB/RMI
    32. 32. Wells Fargo <ul><li>41 st on Fortune 500 list </li></ul><ul><li>About 6000 locations </li></ul><ul><li>$540 Billion in assets </li></ul><ul><li>Harmonize the access to their data sources thru the deployment of web services in an SOA </li></ul><ul><li>Offload their backend system by processing the majority of their operations in the Coherence data grid </li></ul><ul><li>Consistently meet SLAs resulting in improved employee and customer satisfaction and reduced customer and employee turnover </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Enterprise Service Bus for in-branch client relationship management application had slow performance </li></ul>Scenario Problem Solution
    33. 33. Betfair …. Bets on XTP Database Tier PL/SQL Stored Procedures Oracle DB Sun Solaris Oracle Coherence Linux Clustered Data Cache Application Logic JBoss Linux Application and Caching Tier User Tier Online Bettors/Gamblers Third-Party Applications The Internet
    34. 34. Sun’s use case 1/4
    35. 35. Sun’s use case 2/4
    36. 36. Sun’s use case 3/4
    37. 37. Sun’s use case 4/4
    38. 38. Summary and demo
    39. 39. Oracle Coherence Advantage <ul><li>Protect the Database Investment </li></ul><ul><ul><li>Ensure DB does what it does best, limit cost of rearchitecture </li></ul></ul><ul><li>Scale as you Grow </li></ul><ul><ul><li>Cost effective: Start small with 3-5 servers, scale to hundreds of servers as business grows </li></ul></ul><ul><li>Enables business continuity </li></ul><ul><ul><li>Providing continuous data availability </li></ul></ul>
    40. 40. Oracle Coherence Data Grid <ul><li>Continuous Availability for application data and processing </li></ul><ul><li>Scales out linearly, whether 2 or 2,000 servers </li></ul><ul><li>Power to perform massive Data Grid based analytics, transaction and event processing </li></ul><ul><li>Provides instant data access while reducing load on back-end data sources </li></ul><ul><li>Oracle Coherence simultaneously addresses Reliability, Scalability and Performance </li></ul>
    41. 41. Demo
    42. 42. Q & A