Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Oracle Coherence: in-memory datagrid

16,654 views

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

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

×