SlideShare une entreprise Scribd logo
1  sur  40
Scalable eCommerce Platform Solutions
Scalable eCommerce Platform Solutions
In-Memory Data Grids Essentials. Oracle Coherence
Vladimir Kondraschenko
Max Myslyvtsev
Scalable eCommerce Platform Solutions
About me
Vladimir Kondraschenko
• Lead Java engineer
• More than 10 years of hands on experience in
– software design and coding
– technical leadership
– development management
vkondraschenko@griddynamics.com
Scalable eCommerce Platform Solutions
Agenda
• Preconditions of using IMDG
• Architecture overview
– topology
– distributed cache layer
– local cache layer
• Cache operations
• Persistence integration
• Tips
Scalable eCommerce Platform Solutions
Different Solutions
Coherence
Scalable eCommerce Platform Solutions
Preconditions of Using IMDG
• Big amounts of data (10-100 GB)
• Low latency
• High availability
• Distributed calculations
Scalable eCommerce Platform Solutions
Transport
Local Data
Architecture Layers
Transport
Local Data
Transport
Local Data
Shared Data
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Transport Layer
Discovery and communication
Scalable eCommerce Platform Solutions
IMDG Topology
Scalable eCommerce Platform Solutions
Discovery
• Multicast
• Well-known address
Scalable eCommerce Platform Solutions
Discovery
• Multicast
• Well-known address
New
Scalable eCommerce Platform Solutions
Discovery
• Multicast
• Well-known address
WKA
WKA
New
Scalable eCommerce Platform Solutions
Communication
• Custom protocols over TCP or UDP
• Senior node
• Heartbeats
– Cluster heartbeats
– Node heartbeats
Senior
Scalable eCommerce Platform Solutions
Communication
• Custom protocols over TCP or UDP
• Senior node
• Heartbeats
– Cluster heartbeats
– Node heartbeats
Senior
Scalable eCommerce Platform Solutions
Communication
• Custom protocols over TCP or UDP
• Senior node
• Heartbeats
– Cluster heartbeats
– Node heartbeats
Senior
Scalable eCommerce Platform Solutions
Node Departure
• TCP Ring
• IP monitor
• Timeout
Scalable eCommerce Platform Solutions
Node Departure
• TCP Ring
• IP monitor
• Timeouts
Scalable eCommerce Platform Solutions
Node Departure
• TCP Ring
• IP monitor
• Timeouts
Box1: IP 177.230.14.5
IP ping
Scalable eCommerce Platform Solutions
Node Departure
• TCP Ring
• IP monitor
• Timeout
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Shared Data Layer
Cluster-wide data
Scalable eCommerce Platform Solutions
Distributed Cache
Cluster
Client Node
Cache Interface
Storage Node
Data Storage
Cache Interface
Scalable eCommerce Platform Solutions
Cache Topology
• Replicated
Storage 1
A
D
B
E
C
F
Storage 2
A
D
B
E
C
F
Storage 3
A
D
B
E
C
F
Storage 1
A
D
B
E
Storage 2
C
A
D
F
Storage 3
E
B
F
C
• Partitioned
Scalable eCommerce Platform Solutions
Storage 3
Repartitioning
Storage 1
A
D
B
E
Storage 3
E
B
F
CE
Storage 2
C
A
D
FF
FCEB
Scalable eCommerce Platform Solutions
CAP Theorem
C
A
P
Coherence Coherence
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Get/Put/Remove, Query, Invocation, Map-Reduce
Cache operations
Scalable eCommerce Platform Solutions
Key hashing
Cache Operations: Put/Get
Storage 1 Storage 2
Client
Primary A
A B C D E F
• Client knows responsible storage
– Key hash is used to find it
• Automatic backups
Backup A
Backup F Primary F
Scalable eCommerce Platform Solutions
Storage 2Storage 2Storage 1
Cache Operations: Query
• Broadcast request
– Unless Query is Key-Associated
• All entries are evaluated
– Unless Indexes are used
field1=10 or field2>70field1=10 and key=A
key:
field1:
field2:
D
70
80
key:
field1:
field2:
C
50
60
key:
field1:
field2:
B
30
40
key:
field1:
field2:
D
70
80
key:
field1:
field2:
C
50
60
key:
field1:
field2:
B
30
40
key:
field1:
field2:
A
10
20
Scalable eCommerce Platform Solutions
Cache Operations: Invocation/Entry Processor
• Task is serialized and distributed
– May contain additional data
• Configurable execution scope
– Specific nodes
– All nodes
– Nodes bound to data
Node 1 Node 2
Task Task
Client
Task
Scalable eCommerce Platform Solutions
• Data-bound mapping
– By keys
– By Query
• Parallel execution
Storage 2Storage 1
key:
field1:
field2:
A
10
20
key:
field1:
field2:
B
30
40
key:
field1:
field2:
C
50
60
key:
field1:
field2:
D
70
80
Cache Operations: Map-Reduce
sum(field2) where field1>20
40 60 80
180
key:
field1:
field2:
A
10
20
140
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Persistence integration
Scalable eCommerce Platform Solutions
Synchronous Persistence Integration
• Read-through
• Write-through
StorageClient Durable
Storage
Data Grid
Client Durable
Storage
Data Grid
Storage
Scalable eCommerce Platform Solutions
• Refresh-ahead
• Write-behind
Asynchronous Persistence Integration
Storage QueueClient Durable
Storage
Data Grid
Storage QueueClient Durable
Storage
Data Grid
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Local Data Layer
Node-specific data
Scalable eCommerce Platform Solutions
Storage Storage
Node
Near Caching
• Local access by primary key
• Lazy population
• Invalidation
– On entry change
– By timeout
Near Cache
Distributed Cache
A
A B
Scalable eCommerce Platform Solutions
Continuous Caching
• Local access by any Query
• Eager population
• Near real-time data
Storage Storage
Node
Continuous Cache
Distributed Cache
A B
A B
Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions
Tips
Using Oracle Coherence in practice
Scalable eCommerce Platform Solutions
Before integrating Oracle Coherence
• Do I really need IMDG or just a cache?
• How large my cluster should be?
• How much heap memory should be
configured for each node?
• What GC configuration to use?
• Do I have a relevant environment
to test my application?
Scalable eCommerce Platform Solutions
Memory usage
Limit cache size
• By binary size (per node)
• By number of objects in cache (per node)
Estimate cache object memory consumption
• Use BinaryMemoryCalculator
• Remember about backup copies
• Cache listeners (near cache, custom)
Scalable eCommerce Platform Solutions
Investigation & troubleshooting
• Coherence Management Framework (JMX)
– view cluster and nodes settings
– list caches (front and back) on each node
– view cache dynamic metrics
• Coherence command-line tool
– manage cache services
– manipulate cache data
• Profiling and heap analysis
– analyze heap dump
– analyze GC logs
Scalable eCommerce Platform Solutions
Scalable eCommerce Platform Solutions
Thank you!
Questions & Answers
Scalable eCommerce Platform Solutions
References
• Workshop
– https://github.com/mmyslyvtsev/imdg-workshop
• Coherence Knowledge Base
– http://coherence.oracle.com
• Developers Guide
– http://docs.oracle.com/cd/E18686_01/coh.37/e18677/toc.htm
• Book
– http://www.amazon.com/Oracle-Coherence-3-5-Aleksandar-
Seovic/dp/1847196128

Contenu connexe

Tendances

Tendances (20)

KNIME Meetup 2016-04-16
KNIME Meetup 2016-04-16KNIME Meetup 2016-04-16
KNIME Meetup 2016-04-16
 
Hekaton (xtp) introduction
Hekaton (xtp) introductionHekaton (xtp) introduction
Hekaton (xtp) introduction
 
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UNMariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12
 
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
#GeodeSummit: Combining Stream Processing and In-Memory Data Grids for Near-R...
 
Leveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMSLeveraging Big Data with Hadoop, NoSQL and RDBMS
Leveraging Big Data with Hadoop, NoSQL and RDBMS
 
B1Magic- Unlocking the Power of Cloud for SAP Business One
B1Magic- Unlocking the Power of Cloud for SAP Business OneB1Magic- Unlocking the Power of Cloud for SAP Business One
B1Magic- Unlocking the Power of Cloud for SAP Business One
 
Build and Manage Hadoop & Oracle NoSQL DB Solutions- Impetus Webinar
Build and Manage Hadoop & Oracle NoSQL DB Solutions- Impetus WebinarBuild and Manage Hadoop & Oracle NoSQL DB Solutions- Impetus Webinar
Build and Manage Hadoop & Oracle NoSQL DB Solutions- Impetus Webinar
 
Build your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open SourceBuild your first Internet of Things app today with Open Source
Build your first Internet of Things app today with Open Source
 
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleAutomating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
 
Public Sector Virtual Town Hall
Public Sector Virtual Town HallPublic Sector Virtual Town Hall
Public Sector Virtual Town Hall
 
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
Real-time Freight Visibility: How TMW Systems uses NiFi and SAM to create sub...
 
2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement2017 DB Trends for Powering Real-Time Systems of Engagement
2017 DB Trends for Powering Real-Time Systems of Engagement
 
Leveraging NoSQL Database Technology to Implement Real-time Data Architecture...
Leveraging NoSQL Database Technology to Implement Real-time Data Architecture...Leveraging NoSQL Database Technology to Implement Real-time Data Architecture...
Leveraging NoSQL Database Technology to Implement Real-time Data Architecture...
 
Lenovo SAPPHIRE 2016 presentation at SUSE booth
Lenovo SAPPHIRE 2016 presentation at SUSE boothLenovo SAPPHIRE 2016 presentation at SUSE booth
Lenovo SAPPHIRE 2016 presentation at SUSE booth
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CITApache Geode Meetup, Cork, Ireland at CIT
Apache Geode Meetup, Cork, Ireland at CIT
 
Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?Which Change Data Capture Strategy is Right for You?
Which Change Data Capture Strategy is Right for You?
 
#BDAM: EDW Optimization with Hadoop and CDAP, by Sagar Kapare from Cask
#BDAM: EDW Optimization with Hadoop and CDAP, by Sagar Kapare from Cask #BDAM: EDW Optimization with Hadoop and CDAP, by Sagar Kapare from Cask
#BDAM: EDW Optimization with Hadoop and CDAP, by Sagar Kapare from Cask
 
Geode Meetup Apachecon
Geode Meetup ApacheconGeode Meetup Apachecon
Geode Meetup Apachecon
 

En vedette

En vedette (7)

Apache Hadoop YARN - The Future of Data Processing with Hadoop
Apache Hadoop YARN - The Future of Data Processing with HadoopApache Hadoop YARN - The Future of Data Processing with Hadoop
Apache Hadoop YARN - The Future of Data Processing with Hadoop
 
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow Management
 
Apache Spark & Hadoop : Train-the-trainer
Apache Spark & Hadoop : Train-the-trainerApache Spark & Hadoop : Train-the-trainer
Apache Spark & Hadoop : Train-the-trainer
 
Demystifying Columnar Databases
Demystifying Columnar DatabasesDemystifying Columnar Databases
Demystifying Columnar Databases
 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
 

Similaire à In-Memory Data Grids Essentials. Oracle Coherence

Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013
Bertrand Le Roy
 

Similaire à In-Memory Data Grids Essentials. Oracle Coherence (20)

Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
Drinking our own Champagne: How Woot, an Amazon subsidiary, uses AWS (ARC212)...
 
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
MongoDB Evenings Houston: Implementing EDW Using MongoDB by Purvesh Patel, Ch...
 
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
Scylla Summit 2022: Building Zeotap's Privacy Compliant Customer Data Platfor...
 
Operational-Analytics
Operational-AnalyticsOperational-Analytics
Operational-Analytics
 
Dell EMC: Virtualizace není jen hypervisor!
Dell EMC: Virtualizace není jen hypervisor!Dell EMC: Virtualizace není jen hypervisor!
Dell EMC: Virtualizace není jen hypervisor!
 
AWS re:Invent 2013 Scalable Media Processing in the Cloud
AWS re:Invent 2013 Scalable Media Processing in the CloudAWS re:Invent 2013 Scalable Media Processing in the Cloud
AWS re:Invent 2013 Scalable Media Processing in the Cloud
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, London
 
Scalable Media Processing in the Cloud (MED302) | AWS re:Invent 2013
Scalable Media Processing in the Cloud (MED302) | AWS re:Invent 2013Scalable Media Processing in the Cloud (MED302) | AWS re:Invent 2013
Scalable Media Processing in the Cloud (MED302) | AWS re:Invent 2013
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Serverless SQL
Serverless SQLServerless SQL
Serverless SQL
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
How Data Drives Business at Choice Hotels
How Data Drives Business at Choice HotelsHow Data Drives Business at Choice Hotels
How Data Drives Business at Choice Hotels
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013
 
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...Dev Lakhani, Data Scientist at Batch Insights  "Real Time Big Data Applicatio...
Dev Lakhani, Data Scientist at Batch Insights "Real Time Big Data Applicatio...
 
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data ArchitectureADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
ADV Slides: When and How Data Lakes Fit into a Modern Data Architecture
 
Low Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexLow Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache Apex
 
Designing, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons LearnedDesigning, Building, and Maintaining Large Cubes using Lessons Learned
Designing, Building, and Maintaining Large Cubes using Lessons Learned
 
Data & Analytics - Session 1 - Big Data Analytics
Data & Analytics - Session 1 -  Big Data AnalyticsData & Analytics - Session 1 -  Big Data Analytics
Data & Analytics - Session 1 - Big Data Analytics
 
Webinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-ServiceWebinar: Enterprise Trends for Database-as-a-Service
Webinar: Enterprise Trends for Database-as-a-Service
 

Dernier

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Dernier (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

In-Memory Data Grids Essentials. Oracle Coherence

  • 1. Scalable eCommerce Platform Solutions Scalable eCommerce Platform Solutions In-Memory Data Grids Essentials. Oracle Coherence Vladimir Kondraschenko Max Myslyvtsev
  • 2. Scalable eCommerce Platform Solutions About me Vladimir Kondraschenko • Lead Java engineer • More than 10 years of hands on experience in – software design and coding – technical leadership – development management vkondraschenko@griddynamics.com
  • 3. Scalable eCommerce Platform Solutions Agenda • Preconditions of using IMDG • Architecture overview – topology – distributed cache layer – local cache layer • Cache operations • Persistence integration • Tips
  • 4. Scalable eCommerce Platform Solutions Different Solutions Coherence
  • 5. Scalable eCommerce Platform Solutions Preconditions of Using IMDG • Big amounts of data (10-100 GB) • Low latency • High availability • Distributed calculations
  • 6. Scalable eCommerce Platform Solutions Transport Local Data Architecture Layers Transport Local Data Transport Local Data Shared Data
  • 7. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Transport Layer Discovery and communication
  • 8. Scalable eCommerce Platform Solutions IMDG Topology
  • 9. Scalable eCommerce Platform Solutions Discovery • Multicast • Well-known address
  • 10. Scalable eCommerce Platform Solutions Discovery • Multicast • Well-known address New
  • 11. Scalable eCommerce Platform Solutions Discovery • Multicast • Well-known address WKA WKA New
  • 12. Scalable eCommerce Platform Solutions Communication • Custom protocols over TCP or UDP • Senior node • Heartbeats – Cluster heartbeats – Node heartbeats Senior
  • 13. Scalable eCommerce Platform Solutions Communication • Custom protocols over TCP or UDP • Senior node • Heartbeats – Cluster heartbeats – Node heartbeats Senior
  • 14. Scalable eCommerce Platform Solutions Communication • Custom protocols over TCP or UDP • Senior node • Heartbeats – Cluster heartbeats – Node heartbeats Senior
  • 15. Scalable eCommerce Platform Solutions Node Departure • TCP Ring • IP monitor • Timeout
  • 16. Scalable eCommerce Platform Solutions Node Departure • TCP Ring • IP monitor • Timeouts
  • 17. Scalable eCommerce Platform Solutions Node Departure • TCP Ring • IP monitor • Timeouts Box1: IP 177.230.14.5 IP ping
  • 18. Scalable eCommerce Platform Solutions Node Departure • TCP Ring • IP monitor • Timeout
  • 19. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Shared Data Layer Cluster-wide data
  • 20. Scalable eCommerce Platform Solutions Distributed Cache Cluster Client Node Cache Interface Storage Node Data Storage Cache Interface
  • 21. Scalable eCommerce Platform Solutions Cache Topology • Replicated Storage 1 A D B E C F Storage 2 A D B E C F Storage 3 A D B E C F Storage 1 A D B E Storage 2 C A D F Storage 3 E B F C • Partitioned
  • 22. Scalable eCommerce Platform Solutions Storage 3 Repartitioning Storage 1 A D B E Storage 3 E B F CE Storage 2 C A D FF FCEB
  • 23. Scalable eCommerce Platform Solutions CAP Theorem C A P Coherence Coherence
  • 24. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Get/Put/Remove, Query, Invocation, Map-Reduce Cache operations
  • 25. Scalable eCommerce Platform Solutions Key hashing Cache Operations: Put/Get Storage 1 Storage 2 Client Primary A A B C D E F • Client knows responsible storage – Key hash is used to find it • Automatic backups Backup A Backup F Primary F
  • 26. Scalable eCommerce Platform Solutions Storage 2Storage 2Storage 1 Cache Operations: Query • Broadcast request – Unless Query is Key-Associated • All entries are evaluated – Unless Indexes are used field1=10 or field2>70field1=10 and key=A key: field1: field2: D 70 80 key: field1: field2: C 50 60 key: field1: field2: B 30 40 key: field1: field2: D 70 80 key: field1: field2: C 50 60 key: field1: field2: B 30 40 key: field1: field2: A 10 20
  • 27. Scalable eCommerce Platform Solutions Cache Operations: Invocation/Entry Processor • Task is serialized and distributed – May contain additional data • Configurable execution scope – Specific nodes – All nodes – Nodes bound to data Node 1 Node 2 Task Task Client Task
  • 28. Scalable eCommerce Platform Solutions • Data-bound mapping – By keys – By Query • Parallel execution Storage 2Storage 1 key: field1: field2: A 10 20 key: field1: field2: B 30 40 key: field1: field2: C 50 60 key: field1: field2: D 70 80 Cache Operations: Map-Reduce sum(field2) where field1>20 40 60 80 180 key: field1: field2: A 10 20 140
  • 29. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Persistence integration
  • 30. Scalable eCommerce Platform Solutions Synchronous Persistence Integration • Read-through • Write-through StorageClient Durable Storage Data Grid Client Durable Storage Data Grid Storage
  • 31. Scalable eCommerce Platform Solutions • Refresh-ahead • Write-behind Asynchronous Persistence Integration Storage QueueClient Durable Storage Data Grid Storage QueueClient Durable Storage Data Grid
  • 32. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Local Data Layer Node-specific data
  • 33. Scalable eCommerce Platform Solutions Storage Storage Node Near Caching • Local access by primary key • Lazy population • Invalidation – On entry change – By timeout Near Cache Distributed Cache A A B
  • 34. Scalable eCommerce Platform Solutions Continuous Caching • Local access by any Query • Eager population • Near real-time data Storage Storage Node Continuous Cache Distributed Cache A B A B
  • 35. Scalable eCommerce Platform SolutionsScalable eCommerce Platform Solutions Tips Using Oracle Coherence in practice
  • 36. Scalable eCommerce Platform Solutions Before integrating Oracle Coherence • Do I really need IMDG or just a cache? • How large my cluster should be? • How much heap memory should be configured for each node? • What GC configuration to use? • Do I have a relevant environment to test my application?
  • 37. Scalable eCommerce Platform Solutions Memory usage Limit cache size • By binary size (per node) • By number of objects in cache (per node) Estimate cache object memory consumption • Use BinaryMemoryCalculator • Remember about backup copies • Cache listeners (near cache, custom)
  • 38. Scalable eCommerce Platform Solutions Investigation & troubleshooting • Coherence Management Framework (JMX) – view cluster and nodes settings – list caches (front and back) on each node – view cache dynamic metrics • Coherence command-line tool – manage cache services – manipulate cache data • Profiling and heap analysis – analyze heap dump – analyze GC logs
  • 39. Scalable eCommerce Platform Solutions Scalable eCommerce Platform Solutions Thank you! Questions & Answers
  • 40. Scalable eCommerce Platform Solutions References • Workshop – https://github.com/mmyslyvtsev/imdg-workshop • Coherence Knowledge Base – http://coherence.oracle.com • Developers Guide – http://docs.oracle.com/cd/E18686_01/coh.37/e18677/toc.htm • Book – http://www.amazon.com/Oracle-Coherence-3-5-Aleksandar- Seovic/dp/1847196128

Notes de l'éditeur

  1. Macys: сотни тысяч продуктов Кохеренс
  2. Macys: сотни тысяч продуктов Кохеренс
  3. кох – ведущий, широкий функционал, широко применяется, я его знаю
  4. Говорить план след слайдов
  5. DHT
  6. Showcase node leave Reference to real data amount:
  7. IMDG -> Coh CA – one node leave AP – brain split
  8. Filter-Map-Reduce
  9. Write-behind batching didn’t work in 3.5