SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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✔ Eric David Benari, PMP
 
An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)An Introduction to Apache Geode (incubating)
An Introduction to Apache Geode (incubating)Anthony Baker
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12EDB
 
#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...PivotalOpenSourceHub
 
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 RDBMSAerospike, Inc.
 
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 OneSharma Aashish
 
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 WebinarImpetus Technologies
 
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 SourceApache Geode
 
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 AnsibleEDB
 
Public Sector Virtual Town Hall
Public Sector Virtual Town HallPublic Sector Virtual Town Hall
Public Sector Virtual Town HallEDB
 
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...DataWorks Summit
 
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 EngagementAerospike, Inc.
 
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...Impetus Technologies
 
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 boothMike Nelson
 
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 CITApache Geode
 
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?Precisely
 
#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 Cask Data
 

Was ist angesagt? (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
 

Andere mochten auch

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 HadoopHortonworks
 
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,...In-Memory Computing Summit
 
Spark Workflow Management
Spark Workflow ManagementSpark Workflow Management
Spark Workflow ManagementRomi Kuntsman
 
Apache Spark & Hadoop : Train-the-trainer
Apache Spark & Hadoop : Train-the-trainerApache Spark & Hadoop : Train-the-trainer
Apache Spark & Hadoop : Train-the-trainerIMC Institute
 
Demystifying Columnar Databases
Demystifying Columnar DatabasesDemystifying Columnar Databases
Demystifying Columnar DatabasesJune Tong
 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for HadoopJoe Crobak
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture EMC
 

Andere mochten auch (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
 

Ähnlich wie In-Memory Data Grids Essentials. Oracle Coherence

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)...Amazon Web Services
 
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...MongoDB
 
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...ScyllaDB
 
Dell EMC: Virtualizace není jen hypervisor!
Dell EMC: Virtualizace není jen hypervisor!Dell EMC: Virtualizace není jen hypervisor!
Dell EMC: Virtualizace není jen hypervisor!MarketingArrowECS_CZ
 
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 CloudDavid Sayed
 
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)Arnaud Bouchez
 
Apache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode Meetup, London
Apache Geode Meetup, LondonApache Geode
 
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 2013Amazon Web Services
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersAmazon Web Services
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsYong Feng
 
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 HotelsCloudera, Inc.
 
Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Commerce - Orchard Harvest Amsterdam 2013
Commerce - Orchard Harvest Amsterdam 2013Bertrand Le Roy
 
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...Dataconomy Media
 
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 ArchitectureDATAVERSITY
 
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 ApexApache 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 LearnedDenny Lee
 
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 AnalyticsAmazon Web Services
 
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-ServiceMongoDB
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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 CCTVshikhaohhpro
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
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 ...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
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.jsAndolasoft Inc
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
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...ICS
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Kürzlich hochgeladen (20)

Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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 ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
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...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

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

Hinweis der Redaktion

  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