SlideShare a Scribd company logo
1 of 62
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 AnalyticsAmazon 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 CloudAmazon 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 ProfessionalsYohanes Nuwara
 
Data Antipatterns
Data AntipatternsData Antipatterns
Data AntipatternsInes Sombra
 
The AWS Big Data Platform – Overview
The AWS Big Data Platform – OverviewThe AWS Big Data Platform – Overview
The AWS Big Data Platform – OverviewAmazon Web Services
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsAmazon 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 FacebookAmr 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 ShowcaseAmazon 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 guideDanairat 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 CloudAmazon Web Services
 
How Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS AnalyticsHow Amazon.com Uses AWS Analytics
How Amazon.com Uses AWS AnalyticsAmazon 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 DataYahoo Developer Network
 
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 RecapSungmin 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 2017Dave 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 DataStylight
 
Distributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the cloudsDistributed-ness: Distributed computing & the clouds
Distributed-ness: Distributed computing & the cloudsRobert 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 DatabaseTim 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 AWSAmazon 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 AWSJoseph 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 BusinessInside Analysis
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database RoundtableEric Kavanagh
 
"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 NikulchenkoFwdays
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platformdhruv_chaudhari
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon 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
 
AWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAWS Customer Presentation - Conde Nast
AWS Customer Presentation - Conde NastAmazon Web Services
 
Aws vs azure bakeoff
Aws vs azure bakeoffAws vs azure bakeoff
Aws vs azure bakeoffSoHo 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 AtlasMongoDB
 
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 MongoDBMongoDB
 
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 DataMongoDB
 
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 StartMongoDB
 
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.2MongoDB
 
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 MindsetMongoDB
 
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 JumpstartMongoDB
 
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 DiveMongoDB
 
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 & GolangMongoDB
 
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

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
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
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
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.
 
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
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
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
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
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...
 
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
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
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
 

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