Coherence GoldenGate HotCache

2,587 views

Published on

Watch on YouTube:
http://www.youtube.com/watch?v=O0TIG3hgbg0

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,587
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
121
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Oracle GoldenGate for JavaOracle GoldenGate for Java can be used to integrate data from the Oracle GoldenGate environment to Java systems. Prior to 11gR1, the focus of this was delivery. Using Oracle GoldenGate for Java customers can deliver data captured by any Oracle GoldenGate capture process to Java APIs. Out of the box functionality provides direct integration with JMS APIs to enable data captured by Oracle GoldenGate to be delivered to JMS compliant message buses in a variety of highly customizable formats. In addition customers can write custom handlers in Java that plug into the Adapter to enable delivery directly to their APIs where appropriate.We have seen many varying use cases for this, including data distribution, real-time ETL integration, invoking of business processes and cache invalidation. No additional features were added in 11gR1 for Oracle GoldenGate for Java delivery.We introduced the ability to capture data from JMS compliant message buses in 11gR1
  • TopLink 11gR1 is Oracle's strategic persistence framework for Java. It supports a number of different persistence standards includingJava Persistence API (JPA)Java Architecture for XML Binding (JAXB)A new component called DBWS allows you to access relational database through web services. It is an XML/Relational bridge technology wrapped in a web service.TopLink is based on the open source EclipseLink project which is developed at the Eclipse Foundation. Oracle augments EclipseLink with support for Coherence integration and distributes this combination as Oracle TopLink. The Coherence integration feature is called “TopLink Grid” and is the focus of this session.GlassFish
  • Coherence GoldenGate HotCache

    1. 1. <Insert Picture Here> Oracle Coherence 12.1.2 HotCache Shaun Smith Senior Principal Product Manager Oracle Cloud Application Foundation
    2. 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
    3. 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 Cloud Application Foundation Coherence 12c Demonstration – HotCache  Complete  Open  Integrated  Best in Class  On Premise – Private Cloud  Public Cloud Cloud Application Foundation Traffic Director/Web Tier WebLogic Server Coherence Tuxedo Virtual Assembly Builder ORACLE Cloud Exalogic Elastic Cloud Coherence 12c HotCache
    4. 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Agenda  The Shared Database Challenge  Coherence GoldenGate HotCache  Integrated Products  Demo  Summary
    5. 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 The Shared Database Challenge
    6. 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 Database Backed Coherence Application  Database access/update via CacheStore read/write  Works well when Coherence application is the only source of database changes Database Coherence CacheStore CacheStore CacheStore Read/Write Read/Write Read/Write Coherence Application Coherence Application Coherence Application
    7. 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 Challenge: Shared Database  Coherence applications backed by a relational database can suffer from stale caches due to 3rd party database updates.  Existing solutions: – Cache Expiry  Inefficient—expires fresh data – Refresh Ahead  Inefficient pull model refreshes fresh data  Possible high latency Database Coherence ApplicationCoherence ApplicationCoherence Application 3rd Party Application Read/Write Coherence Read/Write
    8. 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 Solution: Update Cache on DB Change  Ideally – Event Driven – Low Latency – Efficient – Understand what objects in what caches are affected by a change to a given column in a given table. Database Coherence ApplicationCoherence ApplicationCoherence Application 3rd Party Application Coherence UpdateCache UpdateDatabase
    9. 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Coherence GoldenGate HotCache  Built on TopLink, it integrates with GoldenGate to push database changes into Coherence cache – Maps data changes to affected objects using JPA metadata – Zero to minimal change to Coherence application – Efficient push model—only stale data is processed – Low latency—push happens on change Database Coherence Coherence ApplicationCoherence ApplicationCoherence Application 3rd Party Application Read/Write GoldenGate HotCache GoldenGate Read/Write
    10. 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 Coherence HotCache Solution Products
    11. 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 Oracle GoldenGate
    12. 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 Oracle GoldenGate for Java Through Oracle GoldenGate for Java, transactional data captured by Oracle GoldenGate can be delivered to targets such as BPM / CEP & ETL through JMS or integrating with a custom application’s Java API.
    13. 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 Coherence GoldenGate HotCache
    14. 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 Oracle TopLink  Comprehensive Java Persistence Solution – Java Persistence (JPA 2.0 Reference Implementation), Java Architecture for XML Binding (JAXB 2.x), Database Web Service (DBWS)  Strong Developer Support – Developed in open source EclipseLink project at Eclipse.org – Tool support in OEPE (Eclipse EE), NetBeans, JDeveloper  Performance – Key contributor to Oracle's SpecJ World Record – Superior results across the board against key competitors in internal benchmarks
    15. 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Coherence GoldenGate HotCache and JPA  Coherence GoldenGate HotCache uses Java standard Java Persistence API (JPA) mappings to map from database changes to affected objects <entity class="example.model.Employee"> <attributes> <id name="id"> <generated-value /> </id> </attributes> </entity> XML Mappings Java Annotations OR
    16. 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16 Coherence GoldenGate HotCache  JPA object-table mappings – Can determine what entity class is affected by change to any table  JPA Id mappings – Can identify which specific object in cache is affected by database change via PK mapping  JPA object field/column mappings enable updating basic values  TLG—Object relationships are known so can determine which embedded objects need updating Leveraging JPA Metadata
    17. 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17 Coherence GoldenGate HotCache and JPA (cont)  HotCache identifies what objects in what cache need to be updated based on database change  EntryProcessors are used to update data in place  JPA optimistic locking supported – Only applies change if newer than cache value  Configurable error handling policy
    18. 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18 Coherence HotCache Demo
    19. 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19 Database Coherence CacheStore Read/Write Get/Put/Remove Employee Objects
    20. 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20 Database Coherence CacheStore Read/Write SELECT, INSERT, UPDATE EMPLOYEE rows
    21. 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21 Database Coherence Read/Write CacheStore Read/Write SELECT, INSERT, UPDATE, DELETE EMPLOYEE rows
    22. 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22 Database Coherence CacheStore Read/Write GoldenGate HotCache GoldenGate Read/Write
    23. 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23 Database Coherence GoldenGate HotCache GoldenGate CacheStore Read/Write EMPLOYEE table events Read/Write
    24. 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24 Database Coherence GoldenGate HotCache GoldenGate CacheStore Read/Write Employee Objects Read/Write
    25. 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25 Database Coherence GoldenGate HotCache GoldenGate CacheStore Read/Write Employee Objects EMPLOYEE table events Read/Write
    26. 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26 How HotCache Works
    27. 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27 Coherence id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID FIRST SALARY 1 Bob $100,000
    28. 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28 Coherence EMPLOYEE ID FIRST SALARY 1 Bob $200,000 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000 id: 1 first: Bob salary: $100,000 Employee-1
    29. 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29 Coherence <entity class=“example.model.Employee"> <attributes> <id name="id"> <generated-value /> </id> </attributes> </entity> EMPLOYEE ID FIRST SALARY 1 Bob $200,000 id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000
    30. 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30 Coherence <entity class=“example.model.Employee"> <attributes> <id name="id"> <generated-value /> </id> </attributes> </entity> EMPLOYEE ID FIRST SALARY 1 Bob $200,000 id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000
    31. 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31 Coherence <entity class=“example.model.Employee"> <attributes> <id name="id"> <generated-value /> </id> </attributes> </entity> EMPLOYEE ID FIRST SALARY 1 Bob $200,000 id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000
    32. 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32 Coherence <entity class=“example.model.Employee"> <attributes> <id name="id"> <generated-value /> </id> </attributes> </entity> EMPLOYEE ID FIRST SALARY 1 Bob $200,000 id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000
    33. 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33 Coherence id: 1 first: Bob salary: $100,000 Employee-1 EMPLOYEE ID SALARY BEFORE 1 $100,000 AFTER 1 $200,000 EMPLOYEE ID FIRST SALARY 1 Bob $200,000
    34. 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34 Coherence Id: 1 First: Bob Salary: $200,000 id: 1 first: Bob salary: $200,000 Employee-1 EMPLOYEE ID FIRST SALARY 1 Bob $200,000 Cache matches Database!
    35. 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.35 Summary  Propagates database changes to corresponding objects in Coherence cache leveraging: – GoldenGate for database change capture – TopLink to map database changes to cached objects  Available in Coherence 12.1.2 Coherence GoldenGate HotCache
    36. 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.36 Join the Coherence Community http://coherence.oracle.com @OracleCoherence /OracleCoherence blogs.oracle.com/OracleCoherence Group: Oracle Coherence Users /OracleCoherence coherence.oracle.com/display/CSIG Coherence Special Interest Group
    37. 37. <Insert Picture Here> Oracle Coherence 12.1.2 HotCache Shaun Smith Senior Principal Product Manager Oracle Cloud Application Foundation

    ×