Your SlideShare is downloading. ×
Oracle Coherence
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Oracle Coherence

2,805
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,805
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
153
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Oracle Coherence
    By Mustafa Ahmed
    1
  • 2. Agenda
    The Problem
    Solution
    Data Grids
    Replicated Topology
    Partitioned Topology
    Near Topology
    Events
    Query
    Read Through Caching
    Write Through Caching
    Write Behind Caching
    Coherence Code Examples
    Conclusion
    • Performance
    • 3. Availability
    • 4. Scalability
    2
  • 5. Data
    • Extreme increase in Access Volume & Complexity of Data
    Driving Data Demand
    • Virtualization
    Ability to move applications around several machines
    • Service Oriented Architecture (SOA)
    Integrated services that can be used in Multiple business domains
    Relying on other services
    The Problem
    3
  • 6. Provide Reliable, Scalable, Universal Data Access and Management.
    • Performance
    Solves Latency and Bandwidth Problems
    • Availability
    Having the data available at all times
    • Scalability
    Handle growing demand of Data Efficiently
    4
    Solution – Oracle Coherence
  • 7. Manages Information in a grid environment
    • Lots of servers working together
    • 8. Servers do not run independently
    Server manages state
    Even server failure occurs.
    • Adding more servers
    Concept of scale out
    It will manage more data and can handle more transactions per second.
    Data as a Service
    • Middle Tier
    • 9. In App Server
    Data Integration is in Data Service
    • Integration can occur in Domain Model
    5
    Data Grids
  • 10. Combines Data Management with Data Processing
    • Push processing where data is being managed
    • 11. Read or Write data across any number of servers
    Single System Image
    • No need to show server infrastructure
    • 12. Pretend all the information is Local
    • 13. Logical view of all data in all the servers
    6
    Data Grids
  • 14. There are two things you can move in a Distributed Environment
    • State
    Distribution of a state is referred to as replication
    • Behavior
    Moving messages
    Data Grids combine these two concepts
    • You can either move data or the processing where data is sitting
    • 15. Push all the processes to the Information
    7
    Data Grids
  • 16. Locality of Data
    • Most applications spend most of the time waiting for data
    • 17. If the data is partitioned with non overlapping regions the behavior can be moved to the server that owns the data to process
    • 18. Results In lower latency
    8
    Data Grids
  • 19. Technology introduced In 2001
    Replicate information among all servers
    Data is replicated to all members in Data Grid
    Problems
    Scalability Problem
    Capacity of
    Information Stays
    the same
    9
    Replicated Topology
  • 20. 10
    Replicated Topology
    Expensive
    • Update Each Server every time
    • 21. Conceptually its expensive
  • Each Information is spread out across the servers (Peer to Peer)
    Load Balancer
    • Keeps track of the load
    • 22. Move from one server to another
    • 23. Sends to the server which owns the data
    Exactly one server owns the information
    • Has a sync back up for it
    11
    Partitioned Topology
  • 24. 12
    Partitioned Topology
    Failure Occurs
    • The operation still finishes correctly
    • 25. Increase servers from 2 to 2000 servers it increases scalability
    • 26. All servers are disposable at any period of time
  • L2 Cache vs. L1 Cache
    • Partitioned Topology as L2 Cache
    • 27. Near Topology as L1 Cache
    Stores it Locally
    • If asks again then gets it locally
    Demand base replicated caching
    Zero Latency access to recently used data
    13
    Near Topology
  • 28. 14
    Near Topology
  • 29. 15
    Events
    All the dataset provide events regardless of Topology
    Events are distributed efficiently to the interested listeners
  • 30. Parallel Query
    • Query performed parallel across the data grid using indexing
    • 31. All doing the local portion of the Query
    16
    Query
  • 32. Continuous Query
    • Combines a Query with Events to provide a local materialized view
    • 33. Result is up to date in real time
    • 34. Like in near topology but always contains the desired data
    17
    Query
  • 35. 18
    Read Through Caching
    Finds it in L1 or L2 Cache
    Otherwise sends a request to the database
    Only sends one requests
    Coalesces multiple reads to reduce the database load
  • 36. Writes first to the database and then commits to the cache
    Not a Two-Phase Commit
    Keeps the in-memory data and the database in sync.
    19
    Write Through Caching
  • 37. First writes it to the cache
    Later commits it to the database
    This assures the latest version of the cache
    Batches all the writes into one object
    Geico uses it
    Improved performance
    90% reduction in database usage
    20
    Write Behind Caching
  • 38. Joins an existing cluster or forms a new one
    Leaves the current cluster
    21
    Coherence Code Examples
    Cluster cluster = CacheFactory.ensureCluster();
    CacheFactory.shutdown();
  • 39. 22
    Coherence Code Examples
    NamedCachenc = CacheFactory.getCache(“mine”);
    Object previous = nc.put(“key”, “hello world”);
    Object current = nc.get(“key”);
    int size = nc.size();
    boolean exists = nc.containsKey(“key”);
  • 40. Observe changes in real time as the occur
    23
    Coherence Code Examples
    NamedCachenc = CacheFactory.getCache(“stocks”);
    nc.addMapListener(new MapListener() {
    public void onInsert(MapEventmapEvent) {
    }
    public void onUpdate(MapEventmapEvent) {
    }
    public void onDelete(MapEventmapEvent) {
    }
    });
  • 41. Performance
    Solves Latency Problems And Preserve network bandwidth
    Cache recently used data
    Ability to execute tasks parallel across the data grid
    Moving the process where the data is
    24
    Conclusion - Performance
  • 42. Availability
    Remove all single point of failure
    Added redundancy to improve availability
    Able to Queue updates if database is not available
    Increase availability from 11 days to 2.5 hours per year
    25
    Conclusion - Availability
  • 43. Scalability
    Scale Out functionality
    Database Sharding
    Coherence eliminates Database Sharding
    Distributed cache
    Updates performed against the cache data
    Scaling both capacity and throughput
    Adding more nodes to the Coherence Cluster
    26
    Conclusion - Scalability
  • 44. Any Questions
    27