SlideShare a Scribd company logo
1 of 24
February 24, 2021
Denver (Virtual) MuleSoft Meetup Group
Data Synchronization and Replication -
What’s Batch Got to Do with It
2
● 6:30 - 6:35 - Attendees join Meetup
● 6:35 - 6:40 - Introductions
● 6:40 - 7:50 - What’s Batch Got to Do with It
● 7:50 - 8:00 - Wrap up and next Meetup
● 8:00 - Meetup concludes
Agenda
3
●About Big Compass:
○ Stephanie Lawrence
○ Linda Gunn
○ Aaron Lieberman
○ Brian Statkevicus
Introductions
Use Chat - tell us where you are joining us from
4
● Use Chat
● One answer per person per question
○ If you answer more than 1x per question, you are ineligible for that question
● If you’ve already won during today’s Meetup, you cannot win again
● Big Compass makes the final decision on the trivia winners that will be submitted to MuleSoft
(see next slide)
Trivia Questions - “House Rules”
More important Trivia guidelines on next slide
5
● Big Compass submits trivia winners (name plus email) to MuleSoft Meetups team
● MuleSoft will verify:
○ You haven’t already won this month
○ You’re not trying other means to circumvent the 1x/month rule
● MuleSoft will send you the voucher within 10 days of Big Compass notifying MuleSoft
○ The voucher is a training voucher, not a standalone exam voucher
○ MuleSoft retains the final decision on determining your eligibility to receive a training voucher
● If you have trouble redeeming a voucher, open a ticket at training.mulesoft.com/question
Trivia Questions - MuleSoft Guidelines
6
● Developer at Big Compass for the last year
● MuleSoft developer for a year and a half
● Avid board gamer and rock climber
● First time presenter for MuleSoft Meetups
About Me
What’s Batch Got to Do with It
8
● Data sync vs data replication
● Batch Job deep dive
● Demo time
Agenda
Data Synchronization vs
Data Replication
10
● Synchronization
○ Ensuring multiple systems have identical data
○ Takes different forms in different system hierarchies
○ Often real-time and event driven
○ Smaller data size
● Replication
○ Loading data from one system to another
■ I.e., loading from a backup, standing up a new system
○ Scheduled or manually triggered
○ Large amounts of data
Definitions
11
● Synchronization
○ Typical MuleSoft use case
○ Event driven APIs are straightforward to build
●Replication
○ Not typically associated with MuleSoft
○ Requires long running, heavy ETL operations
○ Can be achieved with the Batch Scope!
Using MuleSoft
The Batch Job
Batch Basics
● Parallelized asynchronous processing handled transparently
Anatomy of a Batch Job
1. Load and Dispatch - implicit, behind the scenes setup
1. Process - actual execution of the job
1. On Complete - optional metric aggregation
Which of the following is true in a Batch Job with two Batch Steps?
Trivia Question #1
a) Every record starts step one at the same time
b) Different records can be in different steps at the same time
c) After a record finishes step one, it immediately starts step two
d) All records will finish step one before any records finish step two
Batch Aggregation
● Aggregate subset of records within one Batch Step
● Choose between fixed size and streaming
○ Fixed size:
■ Random access
■ Choose block size to optimize memory usage
○ Streaming:
■ Can aggregate every record in an entire job instance
■ Sequential access
■ Performance hit
● Transactions within a Batch Step end before the aggregator
Which of these is a reason to use a streaming aggregator instead of a fixed-size aggregator?
Trivia Question #2
a) You want to sum a value across all your records
b) You are loading data into Salesforce
c) You want to access multiple records at once in your aggregation
d) You want to optimize performance of the Batch Job
Variable Propagation
● Each record has its own set of variables that are propagated with it
● Think of records as self-contained units
● In aggregators, each record still has its own version of each variable
● Variable modifications or creations are not visible after completion
Error Handling
● Errors are handled at a record level
○ By default, records that fail one step are not processed through subsequent Batch Steps
○ Specific errors are only logged once per step
○ Error history is accessible by DataWeave per record
● Create reports in the On Complete phase
● Use filters to refine your batch processing
○ AcceptPolicy - NO_FAILURES, ONLY_FAILURES, or ALL
○ AcceptExpression - specific validations using DataWeave
Demo Time
What values does the logger in the On Complete phase print?
Trivia Question #3
A. Counter: 1, stepVar: null
B. Counter: 1, stepVar: 31
C. Counter: 31, stepVar:
null
D. Counter: 31, stepVar:
31
22
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/denver
● Feedback:
○ Complete the Meetup survey, provide feedback, and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
23
● Next (Virtual) Meetup: Mar 31, 2021 @ 6:30p US Mountain Time
○ Topic: Delayed Message Reprocessing
● Future Meetup (tentative) schedule:
○ May 19 (virtual)
○ July 28 (Site TBD based on local guidance)
○ Sep 22 (Site TBD based on local guidance)
○ Nov 10 (Site TBD based on local guidance)
● We are looking for topic suggestions:
○ DataWeave (of course!)
○ Other suggestions:
■ Flow Designer revisited
■ Error Handling
■ Logging revisited
■ Runtime Fabric
■ Others???
● We’re also looking for speakers - please contact us if you are
interested
Denver Meetups 2021
Thank you

More Related Content

Similar to Denver MuleSoft Meetup Feb 24, 2021 - What's Batch Got to Do with It

Big data @ uber vu (1)
Big data @ uber vu (1)Big data @ uber vu (1)
Big data @ uber vu (1)Mihnea Giurgea
 
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB AtlasMongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB AtlasMongoDB
 
MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14shyamraj55
 
Online learning with structured streaming, spark summit brussels 2016
Online learning with structured streaming, spark summit brussels 2016Online learning with structured streaming, spark summit brussels 2016
Online learning with structured streaming, spark summit brussels 2016Ram Sriharsha
 
Efficient Geographic Replication & Disaster Recovery
Efficient Geographic Replication & Disaster RecoveryEfficient Geographic Replication & Disaster Recovery
Efficient Geographic Replication & Disaster RecoveryOpen Networking Summit
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)Agile En Seine
 
Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3LibbySchulze
 
Our Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.doOur Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.doMetehan Çetinkaya
 
BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102Linaro
 
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...Jitendra Bafna
 
Lecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdfLecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdfAmanuelmergia
 
Warsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptxWarsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptxPatryk Bandurski
 
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4Big Compass
 
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022HostedbyConfluent
 
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...MysoreMuleSoftMeetup
 
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...InfluxData
 
Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the fieldJoAnna Cheshire
 
SFO15-301: Benchmarking Best Practices 101
SFO15-301: Benchmarking Best Practices 101SFO15-301: Benchmarking Best Practices 101
SFO15-301: Benchmarking Best Practices 101Linaro
 
Production-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroProduction-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroDaniel Marcous
 

Similar to Denver MuleSoft Meetup Feb 24, 2021 - What's Batch Got to Do with It (20)

Big data @ uber vu (1)
Big data @ uber vu (1)Big data @ uber vu (1)
Big data @ uber vu (1)
 
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB AtlasMongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
MongoDB World 2019: Packing Up Your Data and Moving to MongoDB Atlas
 
MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14MuleSoft Composer | Patna MuleSoft Meetup #14
MuleSoft Composer | Patna MuleSoft Meetup #14
 
Online learning with structured streaming, spark summit brussels 2016
Online learning with structured streaming, spark summit brussels 2016Online learning with structured streaming, spark summit brussels 2016
Online learning with structured streaming, spark summit brussels 2016
 
Efficient Geographic Replication & Disaster Recovery
Efficient Geographic Replication & Disaster RecoveryEfficient Geographic Replication & Disaster Recovery
Efficient Geographic Replication & Disaster Recovery
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)
 
Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3Scaling Monitoring At Databricks From Prometheus to M3
Scaling Monitoring At Databricks From Prometheus to M3
 
Our Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.doOur Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.do
 
More than MOPS: Wall-to-Wall Automations
More than MOPS: Wall-to-Wall AutomationsMore than MOPS: Wall-to-Wall Automations
More than MOPS: Wall-to-Wall Automations
 
BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102BKK16-300 Benchmarking 102
BKK16-300 Benchmarking 102
 
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...
MuleSoft Surat Virtual Meetup#29 - Deep Dive into MuleSoft Batch Processing (...
 
Lecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdfLecture 5- Process Synchonization_revised.pdf
Lecture 5- Process Synchonization_revised.pdf
 
Warsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptxWarsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptx
 
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4
Denver MuleSoft Meetup: Cool Features in DataWeave 2.3 and 2.4
 
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
SQL Extensions to Support Streaming Data With Fabian Hueske | Current 2022
 
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
 
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
 
Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
 
SFO15-301: Benchmarking Best Practices 101
SFO15-301: Benchmarking Best Practices 101SFO15-301: Benchmarking Best Practices 101
SFO15-301: Benchmarking Best Practices 101
 
Production-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to heroProduction-Ready BIG ML Workflows - from zero to hero
Production-Ready BIG ML Workflows - from zero to hero
 

Recently uploaded

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
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
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
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
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...MyIntelliSource, Inc.
 
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.comFatema Valibhai
 
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
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
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.pdfkalichargn70th171
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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 ...MyIntelliSource, Inc.
 

Recently uploaded (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...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
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
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
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...
 
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
 
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...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
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 ...
 

Denver MuleSoft Meetup Feb 24, 2021 - What's Batch Got to Do with It

  • 1. February 24, 2021 Denver (Virtual) MuleSoft Meetup Group Data Synchronization and Replication - What’s Batch Got to Do with It
  • 2. 2 ● 6:30 - 6:35 - Attendees join Meetup ● 6:35 - 6:40 - Introductions ● 6:40 - 7:50 - What’s Batch Got to Do with It ● 7:50 - 8:00 - Wrap up and next Meetup ● 8:00 - Meetup concludes Agenda
  • 3. 3 ●About Big Compass: ○ Stephanie Lawrence ○ Linda Gunn ○ Aaron Lieberman ○ Brian Statkevicus Introductions Use Chat - tell us where you are joining us from
  • 4. 4 ● Use Chat ● One answer per person per question ○ If you answer more than 1x per question, you are ineligible for that question ● If you’ve already won during today’s Meetup, you cannot win again ● Big Compass makes the final decision on the trivia winners that will be submitted to MuleSoft (see next slide) Trivia Questions - “House Rules” More important Trivia guidelines on next slide
  • 5. 5 ● Big Compass submits trivia winners (name plus email) to MuleSoft Meetups team ● MuleSoft will verify: ○ You haven’t already won this month ○ You’re not trying other means to circumvent the 1x/month rule ● MuleSoft will send you the voucher within 10 days of Big Compass notifying MuleSoft ○ The voucher is a training voucher, not a standalone exam voucher ○ MuleSoft retains the final decision on determining your eligibility to receive a training voucher ● If you have trouble redeeming a voucher, open a ticket at training.mulesoft.com/question Trivia Questions - MuleSoft Guidelines
  • 6. 6 ● Developer at Big Compass for the last year ● MuleSoft developer for a year and a half ● Avid board gamer and rock climber ● First time presenter for MuleSoft Meetups About Me
  • 7. What’s Batch Got to Do with It
  • 8. 8 ● Data sync vs data replication ● Batch Job deep dive ● Demo time Agenda
  • 10. 10 ● Synchronization ○ Ensuring multiple systems have identical data ○ Takes different forms in different system hierarchies ○ Often real-time and event driven ○ Smaller data size ● Replication ○ Loading data from one system to another ■ I.e., loading from a backup, standing up a new system ○ Scheduled or manually triggered ○ Large amounts of data Definitions
  • 11. 11 ● Synchronization ○ Typical MuleSoft use case ○ Event driven APIs are straightforward to build ●Replication ○ Not typically associated with MuleSoft ○ Requires long running, heavy ETL operations ○ Can be achieved with the Batch Scope! Using MuleSoft
  • 13. Batch Basics ● Parallelized asynchronous processing handled transparently
  • 14. Anatomy of a Batch Job 1. Load and Dispatch - implicit, behind the scenes setup 1. Process - actual execution of the job 1. On Complete - optional metric aggregation
  • 15. Which of the following is true in a Batch Job with two Batch Steps? Trivia Question #1 a) Every record starts step one at the same time b) Different records can be in different steps at the same time c) After a record finishes step one, it immediately starts step two d) All records will finish step one before any records finish step two
  • 16. Batch Aggregation ● Aggregate subset of records within one Batch Step ● Choose between fixed size and streaming ○ Fixed size: ■ Random access ■ Choose block size to optimize memory usage ○ Streaming: ■ Can aggregate every record in an entire job instance ■ Sequential access ■ Performance hit ● Transactions within a Batch Step end before the aggregator
  • 17. Which of these is a reason to use a streaming aggregator instead of a fixed-size aggregator? Trivia Question #2 a) You want to sum a value across all your records b) You are loading data into Salesforce c) You want to access multiple records at once in your aggregation d) You want to optimize performance of the Batch Job
  • 18. Variable Propagation ● Each record has its own set of variables that are propagated with it ● Think of records as self-contained units ● In aggregators, each record still has its own version of each variable ● Variable modifications or creations are not visible after completion
  • 19. Error Handling ● Errors are handled at a record level ○ By default, records that fail one step are not processed through subsequent Batch Steps ○ Specific errors are only logged once per step ○ Error history is accessible by DataWeave per record ● Create reports in the On Complete phase ● Use filters to refine your batch processing ○ AcceptPolicy - NO_FAILURES, ONLY_FAILURES, or ALL ○ AcceptExpression - specific validations using DataWeave
  • 21. What values does the logger in the On Complete phase print? Trivia Question #3 A. Counter: 1, stepVar: null B. Counter: 1, stepVar: 31 C. Counter: 31, stepVar: null D. Counter: 31, stepVar: 31
  • 22. 22 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/denver ● Feedback: ○ Complete the Meetup survey, provide feedback, and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next?
  • 23. 23 ● Next (Virtual) Meetup: Mar 31, 2021 @ 6:30p US Mountain Time ○ Topic: Delayed Message Reprocessing ● Future Meetup (tentative) schedule: ○ May 19 (virtual) ○ July 28 (Site TBD based on local guidance) ○ Sep 22 (Site TBD based on local guidance) ○ Nov 10 (Site TBD based on local guidance) ● We are looking for topic suggestions: ○ DataWeave (of course!) ○ Other suggestions: ■ Flow Designer revisited ■ Error Handling ■ Logging revisited ■ Runtime Fabric ■ Others??? ● We’re also looking for speakers - please contact us if you are interested Denver Meetups 2021