SlideShare a Scribd company logo
Ch-ch-ch-ch-changes
Taking Your Stitch Application to the Next Level
with Stitch Triggers
ANDREW MORGAN
Principal Product Marketing
Manager, MongoDB
@andrewmorgan
Agenda
1. Database Triggers
2. RDBMS vs. Stitch Triggers
3. Evolution of computing and App architectures
4. MongoDB Stitch – Serverless Platform
5. Oplog -> Change Streams -> Stitch Triggers
6. MongoDB Swag store demo
Why Triggers
• Propagate changes in real
time to multiple
apps/channels
• Apps act on the changes as
they see fit
• No code changes to original
application
• Simpler development, faster
time to market, lower risk
Legacy
App
Mobile App
Web App
Microservic
e
Cloud
Service
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular table or view in
a database. The trigger is mostly used for maintaining
the integrity of the information on the database. For example, when
a new record (representing a new worker) is added to the employees
table, new records should also be created in the tables of the taxes,
vacations and salaries. Triggers can also be used to log historical
data, for example to keep track of employees' previous salaries.
https://en.wikipedia.org/wiki/Database_trigger
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular table or view in
a database.
https://en.wikipedia.org/wiki/Database_trigger
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular table or view in
a database.
https://en.wikipedia.org/wiki/Database_trigger
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
https://en.wikipedia.org/wiki/Database_trigger
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is mostly used for maintaining the integrity of the
information on the database.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is mostly used for maintaining the integrity of the
information on the database.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff. For
example, when a new record (representing a new worker) is added to
the employees table, new records should also be created in the tables
of the taxes, vacations and salaries.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff. For
example, when a new record (representing a new worker) is added to
the employees table, new records should also be created in the tables
of the taxes, vacations and salaries.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff. For
example, when you need a database update from a legacy application
to trigger actions in a new App, or you want to add exciting new
features to an existing app.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff. For
example, when you need a database update from a legacy application
to trigger actions in a new App, or you want to add exciting new
features to an existing app. Triggers can also be used to log historical
data, for example to keep track of employees' previous salaries.
What Are Database Triggers
A database trigger is procedural code that is automatically executed
in response to certain events on a particular collection in a database.
The trigger is partly used for maintaining the integrity of the
information on the database but also for exciting other stuff. For
example, when you need a database update from a legacy application
to trigger actions in a new App, or you want to add exciting new
features to an existing app. Triggers can also be used to log historical
data, for example to keep track of employees' previous salaries.
RDBMS vs. Stitch Triggers
RDBMS Triggers Stitch Triggers
Runs within/competes for
resources with the database
Runs in our Stitch infrastructure
RDBMS vs. Stitch Triggers
RDBMS Triggers Stitch Triggers
Runs within/competes for
resources with the database
Runs in our Stitch infrastructure
Used to impose referential Notifications, side effects,
integrating apps
RDBMS vs. Stitch Triggers
RDBMS Triggers Stitch Triggers
Runs within/competes for
resources with the database
Runs in our Stitch infrastructure
Used to impose referential Notifications, side effects,
integrating apps
Written in proprietary languages JavaScript (ES6)
RDBMS vs. Stitch Triggers
RDBMS Triggers Stitch Triggers
Runs within/competes for
resources with the database
Runs in our Stitch infrastructure
Used to impose referential Notifications, side effects,
integrating apps
Written in proprietary languages JavaScript (ES6)
Invoked before | after DB change Triggers invoked after DB
use Stitch Functions for pre-
change requirements
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$$ $$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$$ $$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$$ $$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$$ $$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
Evolution of Computing Models
$$$$$ $$$$ $$$ $$ $
Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless
Manage H/W
Complex ops
Manage less H/W
Complex ops
Size & provision VMs
Simpler ops
Size & provision containers
Simpler ops
Just send in requests
Negligible ops
Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go
$$$$$ $$$$ $$$ $$ $
Evolution of Computing Models
Evolution to more streamlined, managed
infrastructure– Cheaper to build
– Cheaper to run
– Faster time to market
Frontend vs. Backend (Historical)
• Frontend
• What the user interacts with
Frontend vs. Backend (Historical)
• Frontend
• What the user interacts with
• Backend (App Server)
• Does the heavy lifting
• More secure than frontend
• Authentication
• Stores data in MongoDB
Migration of
functionality
Frontend vs. Backend (Historical)
• Frontend
• What the user interacts with
• Backend (App Server)
• Does the heavy lifting
• More secure than frontend
• Authentication
• Stores data in MongoDB
But this has changed over
last 10 years with Mobile
First + powerful browsers!
Migration to Cloud Services &
Microservices
• Backend increasingly delegates
essential but generic tasks
• Processing payments
• Authenticating users
• Posting to social media
• Nothing that makes your app unique
• Developers spend less time on
plumbing – better apps, delivered
quicker
Cloud Service & Microservice Integration
• Mundane, repetitive code to
integrate with cloud services &
microservices
• 41% of development time wasted here
• Data access control code
Developers spend even less time
on plumbing code.
Developers focus more on high-
value code that differentiates the
experience delivered by their app.
Streamlines app development with simple, secure access to data and services from the client with thousands of lines less
code to write and no infrastructure to manage – getting your apps to market faster while reducing operational costs.
MongoDB Stitch Serverless Platform
Services
Stitch Triggers
Real-time notifications that
launch functions in response to
changes in the database
Make further database
changes, push data to other
places, or interact with users
Streamlines app development with simple, secure access to data and services from the client with thousands of lines less
code to write and no infrastructure to manage – getting your apps to market faster while reducing operational costs.
Stitch QueryAnywhere Stitch Functions Stitch Mobile Sync (Beta)
MongoDB Stitch Serverless Platform
Services
Stitch Triggers
Real-time notifications that
launch functions in response
to changes in the database
Make further database
changes, push data to other
places, or interact with users
MongoD
B Stitch
MongoD
B Atlas
MongoD
B Stitch
MongAir
Authenticat
e
MongoD
B Atlas
Welcom
e email
Stitch
Triggers
MongoD
B Stitch
Flight Search Flight
Search
MongoD
B Atlas
Stitch
QueryAnywher
e
MongoD
B Stitch
Flight Search Flight
Search
MongoD
B Atlas
Stitch
QueryAnywher
e
MongoD
B Atlas
MongoD
B Stitch
Book Flight
Assign
Flight
email
invoice
Stitch
Functions
MongoD
B Stitch
Weather @
destination
Fetch
dest
MongoD
B Atlas
Weather
in
NYC?
Stitch
Functions
MongoD
B Stitch
MongoD
B Atlashttps://mongair.com/agency/findflight?dest=nyc&... db.flights.find({...})
Stitch
Functions
MongoD
B Stitch
Gate
Updated
MongoD
B Atlas
Stitch
Triggers
Text new
gate
Application
W R
PRIMARY SECONDAR
Y
SECONDAR
Y
A
C
K R
What’s an Oplog?
OPLOG
Application
W
R
db.users.insert({,,,})
PRIMARY SECONDAR
Y
SECONDAR
Y
A
C
K R
What’s an Oplog?
OUT OF
DATE
OUT OF
DATE
OPLOGOPLOG OPLOG
Application
R
db.users.insert({,,,})
PRIMARY SECONDAR
Y
SECONDAR
Y
db.users.insert({,,,})
A
C
K
db.users.insert({,,,})
R
What’s an Oplog?
OPLOGOPLOG OPLOG
Application
W
R
db.users.insert({,,,})
PRIMARY SECONDAR
Y
SECONDAR
Y
db.users.insert({,,,})
A
C
K
db.users.insert({,,,})
R
What’s an Oplog?
OUT OF
DATE
OUT OF
DATE
OPLOGOPLOG OPLOG
Application
W
R
db.users.insert({,,,})
PRIMARY SECONDAR
Y
SECONDAR
Y
db.users.insert({,,,})
A
C
K
db.users.insert({,,,})
R
What’s an Oplog?
OUT OF
DATE
OUT OF
DATE
Oplog Format
Field Description
ts
The value for this field is a timestamp, which is a data type supported by BSON that is
ever used for replication.
h The hash field gives each entry a unique identity.
v Version of the oplog format.
op The type of operation. This will be either d (delete), u (update) or i (insert).
ns
The value of the namespace field is the name of the database followed by the name of
collection.
o2
For updates, the value for this field will be the _id of the document being updated. This
won’t exist for insertions or deletions.
o
For updates, this field contains the operation that was performed, whilst for inserts and
deletions, it will be the _id of the document that was operated on.
Responding to Database Changes in the Past
Before Change Streams: Oplog
}
"ts" : Timestamp(1395663575, 1),
"h" : NumberLong("-5862498903080440015"),
"v" : 2,
"op" : "i",
"ns" : ”music.songs",
"o" : {
"_id" : ObjectId("533024470d7e2c31d4443d22"),
"author" : ”David Bowie",
"title" : ”Changes"
}
}
Responding to Database Changes in the Past
Before Change Streams: Oplog
var MongoDB = require('mongodb');
oplogurl = 'mongodb+srv://mike:<PASSWORD>@dotlocaltalk-hhfkg.mongodb.net/test?retryWrites=true’;
MongoDB.MongoClient.connect(oplogurl, function(err, db) {
db.collection("oplog.rs", function(err, oplog) {
oplog.find({}, {
ts: 1
}).sort({
$natural: -1
}).limit(1).toArray(function(err, data) {
lastOplogTime = data[0].ts;
if (lastOplogTime) {
queryForTime = {
$gt: lastOplogTime
};
} else {
tstamp = new MongoDB.Timestamp(0, Math.floor(new Date().getTime() / 1000))
queryForTime = {
$gt: tstamp
};
}
cursor = oplog.find({
ts: queryForTime
}, {
tailable: true,
awaitdata: true,
oplogReplay: true,
numberOfRetries: -1
});
stream = cursor.stream();
stream.on('data', function(oplogdoc) {
console.log(oplogdoc);
});
});
});
})
Setting up a Change Stream (NodeJS)
Setting up a Change Stream (NodeJS)
The MongoDB Swagstore
What is the Swagstore
Standard Retail Store:
• Browse Items
• Add items to cart
• Checkout
• Request Notification for Restock
Additional Features:
• Update/text on item re-stock
• Shipping text/e-mail notification
Stitch Features
• Functions
• Triggers
• 3rd Party Services
Demo
Try Stitch For Yourself
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan

More Related Content

What's hot

Getting Started with Real-Time Analytics
Getting Started with Real-Time AnalyticsGetting Started with Real-Time Analytics
Getting Started with Real-Time Analytics
Amazon Web Services
 
Big Data Use Cases and Solutions in the AWS Cloud
Big Data Use Cases and Solutions in the AWS CloudBig Data Use Cases and Solutions in the AWS Cloud
Big Data Use Cases and Solutions in the AWS Cloud
Amazon Web Services
 
Python Awareness for Exploration and Production Students and Professionals
Python Awareness for Exploration and Production Students and ProfessionalsPython Awareness for Exploration and Production Students and Professionals
Python Awareness for Exploration and Production Students and Professionals
Yohanes Nuwara
 
Data Antipatterns
Data AntipatternsData Antipatterns
Data Antipatterns
Ines Sombra
 
The AWS Big Data Platform – Overview
The AWS Big Data Platform – OverviewThe AWS Big Data Platform – Overview
The AWS Big Data Platform – Overview
Amazon Web Services
 
BDA311 Introduction to AWS Glue
BDA311 Introduction to AWS GlueBDA311 Introduction to AWS Glue
BDA311 Introduction to AWS Glue
Amazon Web Services
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on aws
Amazon Web Services
 
AWS Big Data Solution Days
AWS Big Data Solution DaysAWS Big Data Solution Days
AWS Big Data Solution Days
Amazon Web Services
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
Amr Awadallah
 
AWS Webcast - Tableau Big Data Solution Showcase
AWS Webcast - Tableau Big Data Solution ShowcaseAWS Webcast - Tableau Big Data Solution Showcase
AWS Webcast - Tableau Big Data Solution Showcase
Amazon Web Services
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Big Data Spain
 
Big data Hadoop Analytic and Data warehouse comparison guide
Big data Hadoop Analytic and Data warehouse comparison guideBig data Hadoop Analytic and Data warehouse comparison guide
Big data Hadoop Analytic and Data warehouse comparison guide
Danairat Thanabodithammachari
 
Building Analytics Applications in the AWS Cloud
Building Analytics Applications in the AWS CloudBuilding Analytics Applications in the AWS Cloud
Building Analytics Applications in the AWS Cloud
Amazon Web Services
 
How Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS AnalyticsHow Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS Analytics
Amazon Web Services
 
Nov 2010 HUG: Business Intelligence for Big Data
Nov 2010 HUG: Business Intelligence for Big DataNov 2010 HUG: Business Intelligence for Big Data
Nov 2010 HUG: Business Intelligence for Big Data
Yahoo Developer Network
 
Securing Your Big Data on AWS
Securing Your Big Data on AWSSecuring Your Big Data on AWS
Securing Your Big Data on AWS
Amazon Web Services
 
Data Warehouses and Data Lakes
Data Warehouses and Data LakesData Warehouses and Data Lakes
Data Warehouses and Data Lakes
Amazon Web Services
 
Databases & Analytics AWS re:invent 2019 Recap
Databases & Analytics AWS re:invent 2019 RecapDatabases & Analytics AWS re:invent 2019 Recap
Databases & Analytics AWS re:invent 2019 Recap
Sungmin Kim
 
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
Dave Nielsen
 

What's hot (20)

Getting Started with Real-Time Analytics
Getting Started with Real-Time AnalyticsGetting Started with Real-Time Analytics
Getting Started with Real-Time Analytics
 
Big Data Use Cases and Solutions in the AWS Cloud
Big Data Use Cases and Solutions in the AWS CloudBig Data Use Cases and Solutions in the AWS Cloud
Big Data Use Cases and Solutions in the AWS Cloud
 
Python Awareness for Exploration and Production Students and Professionals
Python Awareness for Exploration and Production Students and ProfessionalsPython Awareness for Exploration and Production Students and Professionals
Python Awareness for Exploration and Production Students and Professionals
 
Data Antipatterns
Data AntipatternsData Antipatterns
Data Antipatterns
 
The AWS Big Data Platform – Overview
The AWS Big Data Platform – OverviewThe AWS Big Data Platform – Overview
The AWS Big Data Platform – Overview
 
BDA311 Introduction to AWS Glue
BDA311 Introduction to AWS GlueBDA311 Introduction to AWS Glue
BDA311 Introduction to AWS Glue
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on aws
 
AWS Big Data Solution Days
AWS Big Data Solution DaysAWS Big Data Solution Days
AWS Big Data Solution Days
 
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and FacebookHow Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
How Hadoop Revolutionized Data Warehousing at Yahoo and Facebook
 
AWS Webcast - Tableau Big Data Solution Showcase
AWS Webcast - Tableau Big Data Solution ShowcaseAWS Webcast - Tableau Big Data Solution Showcase
AWS Webcast - Tableau Big Data Solution Showcase
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
Fishing Graphs in a Hadoop Data Lake by Jörg Schad and Max Neunhoeffer at Big...
 
Big data Hadoop Analytic and Data warehouse comparison guide
Big data Hadoop Analytic and Data warehouse comparison guideBig data Hadoop Analytic and Data warehouse comparison guide
Big data Hadoop Analytic and Data warehouse comparison guide
 
Building Analytics Applications in the AWS Cloud
Building Analytics Applications in the AWS CloudBuilding Analytics Applications in the AWS Cloud
Building Analytics Applications in the AWS Cloud
 
How Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS AnalyticsHow Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS Analytics
 
Nov 2010 HUG: Business Intelligence for Big Data
Nov 2010 HUG: Business Intelligence for Big DataNov 2010 HUG: Business Intelligence for Big Data
Nov 2010 HUG: Business Intelligence for Big Data
 
Securing Your Big Data on AWS
Securing Your Big Data on AWSSecuring Your Big Data on AWS
Securing Your Big Data on AWS
 
Data Warehouses and Data Lakes
Data Warehouses and Data LakesData Warehouses and Data Lakes
Data Warehouses and Data Lakes
 
Databases & Analytics AWS re:invent 2019 Recap
Databases & Analytics AWS re:invent 2019 RecapDatabases & Analytics AWS re:invent 2019 Recap
Databases & Analytics AWS re:invent 2019 Recap
 
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017BigDL Deep Learning in Apache Spark - AWS re:invent 2017
BigDL Deep Learning in Apache Spark - AWS re:invent 2017
 

Similar to Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan

Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
Stylight
 
Distributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the cloudsDistributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the clouds
Robert Coup
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Tim Vaillancourt
 
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida  Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
CLARA CAMPROVIN
 
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWSAWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
Amazon Web Services
 
How to Reduce your Spend on AWS
How to Reduce your Spend on AWSHow to Reduce your Spend on AWS
How to Reduce your Spend on AWS
Joseph K. Ziegler
 
Take Action: The New Reality of Data-Driven Business
Take Action: The New Reality of Data-Driven BusinessTake Action: The New Reality of Data-Driven Business
Take Action: The New Reality of Data-Driven Business
Inside Analysis
 
Amazon Redshift Deep Dive
Amazon Redshift Deep Dive Amazon Redshift Deep Dive
Amazon Redshift Deep Dive
Amazon Web Services
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database Roundtable
Eric Kavanagh
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
Brian Blanchard
 
"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
Fwdays
 
Mr bi
Mr biMr bi
Mr bi
renjan131
 
Data vault what's Next: Part 2
Data vault what's Next: Part 2Data vault what's Next: Part 2
Data vault what's Next: Part 2
Empowered Holdings, LLC
 
Azure JumpStart
Azure JumpStartAzure JumpStart
Azure JumpStart
Rateb Abu Hawieleh
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
dhruv_chaudhari
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
Amazon Web Services
 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Vadym Kazulkin
 
Big Data Building Blocks with AWS Cloud
Big Data Building Blocks with AWS CloudBig Data Building Blocks with AWS Cloud
Big Data Building Blocks with AWS Cloud
Blazeclan Technologies Private Limited
 
AWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde Nast
Amazon Web Services
 
Aws vs azure bakeoff
Aws vs azure bakeoffAws vs azure bakeoff
Aws vs azure bakeoff
SoHo Dragon
 

Similar to Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan (20)

Lean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big DataLean Enterprise, Microservices and Big Data
Lean Enterprise, Microservices and Big Data
 
Distributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the cloudsDistributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the clouds
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
 
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida  Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
Jet Reports es la herramienta para construir el mejor BI y de forma mas rapida
 
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWSAWS APAC Webinar Series: How to Reduce Your Spend on AWS
AWS APAC Webinar Series: How to Reduce Your Spend on AWS
 
How to Reduce your Spend on AWS
How to Reduce your Spend on AWSHow to Reduce your Spend on AWS
How to Reduce your Spend on AWS
 
Take Action: The New Reality of Data-Driven Business
Take Action: The New Reality of Data-Driven BusinessTake Action: The New Reality of Data-Driven Business
Take Action: The New Reality of Data-Driven Business
 
Amazon Redshift Deep Dive
Amazon Redshift Deep Dive Amazon Redshift Deep Dive
Amazon Redshift Deep Dive
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database Roundtable
 
Jumpstart Azure
Jumpstart AzureJumpstart Azure
Jumpstart Azure
 
"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
 
Mr bi
Mr biMr bi
Mr bi
 
Data vault what's Next: Part 2
Data vault what's Next: Part 2Data vault what's Next: Part 2
Data vault what's Next: Part 2
 
Azure JumpStart
Azure JumpStartAzure JumpStart
Azure JumpStart
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
 
Big Data Building Blocks with AWS Cloud
Big Data Building Blocks with AWS CloudBig Data Building Blocks with AWS Cloud
Big Data Building Blocks with AWS Cloud
 
AWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde Nast
 
Aws vs azure bakeoff
Aws vs azure bakeoffAws vs azure bakeoff
Aws vs azure bakeoff
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
aeeva
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 

Recently uploaded (20)

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
TMU毕业证书精仿办理
TMU毕业证书精仿办理TMU毕业证书精仿办理
TMU毕业证书精仿办理
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 

Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan

  • 1. Ch-ch-ch-ch-changes Taking Your Stitch Application to the Next Level with Stitch Triggers
  • 2. ANDREW MORGAN Principal Product Marketing Manager, MongoDB @andrewmorgan
  • 3. Agenda 1. Database Triggers 2. RDBMS vs. Stitch Triggers 3. Evolution of computing and App architectures 4. MongoDB Stitch – Serverless Platform 5. Oplog -> Change Streams -> Stitch Triggers 6. MongoDB Swag store demo
  • 4. Why Triggers • Propagate changes in real time to multiple apps/channels • Apps act on the changes as they see fit • No code changes to original application • Simpler development, faster time to market, lower risk Legacy App Mobile App Web App Microservic e Cloud Service
  • 5.
  • 6. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for maintaining the integrity of the information on the database. For example, when a new record (representing a new worker) is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries. https://en.wikipedia.org/wiki/Database_trigger
  • 7. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. https://en.wikipedia.org/wiki/Database_trigger
  • 8. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. https://en.wikipedia.org/wiki/Database_trigger
  • 9. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. https://en.wikipedia.org/wiki/Database_trigger
  • 10. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is mostly used for maintaining the integrity of the information on the database.
  • 11. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is mostly used for maintaining the integrity of the information on the database.
  • 12. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff.
  • 13. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff.
  • 14. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff. For example, when a new record (representing a new worker) is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries.
  • 15. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff. For example, when a new record (representing a new worker) is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries.
  • 16. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff. For example, when you need a database update from a legacy application to trigger actions in a new App, or you want to add exciting new features to an existing app.
  • 17. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff. For example, when you need a database update from a legacy application to trigger actions in a new App, or you want to add exciting new features to an existing app. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries.
  • 18. What Are Database Triggers A database trigger is procedural code that is automatically executed in response to certain events on a particular collection in a database. The trigger is partly used for maintaining the integrity of the information on the database but also for exciting other stuff. For example, when you need a database update from a legacy application to trigger actions in a new App, or you want to add exciting new features to an existing app. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries.
  • 19. RDBMS vs. Stitch Triggers RDBMS Triggers Stitch Triggers Runs within/competes for resources with the database Runs in our Stitch infrastructure
  • 20. RDBMS vs. Stitch Triggers RDBMS Triggers Stitch Triggers Runs within/competes for resources with the database Runs in our Stitch infrastructure Used to impose referential Notifications, side effects, integrating apps
  • 21. RDBMS vs. Stitch Triggers RDBMS Triggers Stitch Triggers Runs within/competes for resources with the database Runs in our Stitch infrastructure Used to impose referential Notifications, side effects, integrating apps Written in proprietary languages JavaScript (ES6)
  • 22. RDBMS vs. Stitch Triggers RDBMS Triggers Stitch Triggers Runs within/competes for resources with the database Runs in our Stitch infrastructure Used to impose referential Notifications, side effects, integrating apps Written in proprietary languages JavaScript (ES6) Invoked before | after DB change Triggers invoked after DB use Stitch Functions for pre- change requirements
  • 23. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$ $$$ $$ $
  • 24. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$$ $$$$ $$$ $$ $
  • 25. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$$ $$$$ $$$ $$ $
  • 26. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$$ $$$$ $$$ $$ $
  • 27. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$$ $$$$ $$$ $$ $
  • 28. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go Evolution of Computing Models $$$$$ $$$$ $$$ $$ $
  • 29. Large Data Center Virtual Machines VMs in the Cloud (EC2) Containers Serverless Manage H/W Complex ops Manage less H/W Complex ops Size & provision VMs Simpler ops Size & provision containers Simpler ops Just send in requests Negligible ops Wasted resources Better utilization Rent, not buy Rent with less waste Pay as you go $$$$$ $$$$ $$$ $$ $ Evolution of Computing Models Evolution to more streamlined, managed infrastructure– Cheaper to build – Cheaper to run – Faster time to market
  • 30. Frontend vs. Backend (Historical) • Frontend • What the user interacts with
  • 31. Frontend vs. Backend (Historical) • Frontend • What the user interacts with • Backend (App Server) • Does the heavy lifting • More secure than frontend • Authentication • Stores data in MongoDB
  • 32. Migration of functionality Frontend vs. Backend (Historical) • Frontend • What the user interacts with • Backend (App Server) • Does the heavy lifting • More secure than frontend • Authentication • Stores data in MongoDB But this has changed over last 10 years with Mobile First + powerful browsers!
  • 33. Migration to Cloud Services & Microservices • Backend increasingly delegates essential but generic tasks • Processing payments • Authenticating users • Posting to social media • Nothing that makes your app unique • Developers spend less time on plumbing – better apps, delivered quicker
  • 34. Cloud Service & Microservice Integration • Mundane, repetitive code to integrate with cloud services & microservices • 41% of development time wasted here • Data access control code
  • 35. Developers spend even less time on plumbing code. Developers focus more on high- value code that differentiates the experience delivered by their app.
  • 36. Streamlines app development with simple, secure access to data and services from the client with thousands of lines less code to write and no infrastructure to manage – getting your apps to market faster while reducing operational costs. MongoDB Stitch Serverless Platform Services Stitch Triggers Real-time notifications that launch functions in response to changes in the database Make further database changes, push data to other places, or interact with users
  • 37. Streamlines app development with simple, secure access to data and services from the client with thousands of lines less code to write and no infrastructure to manage – getting your apps to market faster while reducing operational costs. Stitch QueryAnywhere Stitch Functions Stitch Mobile Sync (Beta) MongoDB Stitch Serverless Platform Services Stitch Triggers Real-time notifications that launch functions in response to changes in the database Make further database changes, push data to other places, or interact with users
  • 38.
  • 41. MongoD B Stitch Flight Search Flight Search MongoD B Atlas Stitch QueryAnywher e
  • 42. MongoD B Stitch Flight Search Flight Search MongoD B Atlas Stitch QueryAnywher e
  • 43. MongoD B Atlas MongoD B Stitch Book Flight Assign Flight email invoice Stitch Functions
  • 44. MongoD B Stitch Weather @ destination Fetch dest MongoD B Atlas Weather in NYC? Stitch Functions
  • 47.
  • 53. Oplog Format Field Description ts The value for this field is a timestamp, which is a data type supported by BSON that is ever used for replication. h The hash field gives each entry a unique identity. v Version of the oplog format. op The type of operation. This will be either d (delete), u (update) or i (insert). ns The value of the namespace field is the name of the database followed by the name of collection. o2 For updates, the value for this field will be the _id of the document being updated. This won’t exist for insertions or deletions. o For updates, this field contains the operation that was performed, whilst for inserts and deletions, it will be the _id of the document that was operated on.
  • 54. Responding to Database Changes in the Past Before Change Streams: Oplog } "ts" : Timestamp(1395663575, 1), "h" : NumberLong("-5862498903080440015"), "v" : 2, "op" : "i", "ns" : ”music.songs", "o" : { "_id" : ObjectId("533024470d7e2c31d4443d22"), "author" : ”David Bowie", "title" : ”Changes" } }
  • 55. Responding to Database Changes in the Past Before Change Streams: Oplog var MongoDB = require('mongodb'); oplogurl = 'mongodb+srv://mike:<PASSWORD>@dotlocaltalk-hhfkg.mongodb.net/test?retryWrites=true’; MongoDB.MongoClient.connect(oplogurl, function(err, db) { db.collection("oplog.rs", function(err, oplog) { oplog.find({}, { ts: 1 }).sort({ $natural: -1 }).limit(1).toArray(function(err, data) { lastOplogTime = data[0].ts; if (lastOplogTime) { queryForTime = { $gt: lastOplogTime }; } else { tstamp = new MongoDB.Timestamp(0, Math.floor(new Date().getTime() / 1000)) queryForTime = { $gt: tstamp }; } cursor = oplog.find({ ts: queryForTime }, { tailable: true, awaitdata: true, oplogReplay: true, numberOfRetries: -1 }); stream = cursor.stream(); stream.on('data', function(oplogdoc) { console.log(oplogdoc); }); }); }); })
  • 56. Setting up a Change Stream (NodeJS)
  • 57. Setting up a Change Stream (NodeJS)
  • 59. What is the Swagstore Standard Retail Store: • Browse Items • Add items to cart • Checkout • Request Notification for Restock Additional Features: • Update/text on item re-stock • Shipping text/e-mail notification Stitch Features • Functions • Triggers • 3rd Party Services
  • 60. Demo
  • 61. Try Stitch For Yourself