SlideShare a Scribd company logo
Solution Architect
Jay Runkel
@jayrunkel
Time Series Data:
Aggregations in Action
Agenda
• Review Traffic Use Case
• Review Schema Design
• Document Retention Model
• Aggregation Queries
• Map Reduce
• Hadoop
Use Case Review
We need to prepare for this
Develop Nationwide traffic monitoring
system
MongoDB for Time Series Data: Analyzing Time Series Data Using the Aggregation Framework and Hadoop
Traffic sensors to monitor interstate
conditions
• 16,000 sensors
• Measure at one minute intervals
• Speed
• Travel time
• Weather, pavement, and traffic conditions
• Support desktop, mobile, and car navigation
systems
What we want from our data
Charting and Trending
What we want from our data
Historical & Predictive Analysis
What we want from our data
Real Time Traffic Dashboard
Review Schema Design
Document Structure
{ _id: ObjectId("5382ccdd58db8b81730344e2"),
linkId: 900006,
date: ISODate("2014-03-12T17:00:00Z"),
data: [
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
...
],
conditions: {
status: ”Snow / Ice Conditions",
pavement: ”Ice Spots",
weather: ”Light Snow"
}
}
Sample Document Structure
Compound, unique
Index identifies the
Individual document
{ _id: ObjectId("5382ccdd58db8b81730344e2"),
linkId: 900006,
date: ISODate("2014-03-12T17:00:00Z"),
data: [
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
...
],
conditions: {
status: ”Snow / Ice Conditions",
pavement: ”Icy Spots",
weather: ”Light Snow"
}
}
Sample Document Structure
Saves an extra index
{ _id: “900006:14031217”,
data: [
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
...
],
conditions: {
status: ”Snow / Ice Conditions",
pavement: ”Icy Spots",
weather: ”Light Snow"
}
}
{ _id: “900006:14031217”,
data: [
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
...
],
conditions: {
status: ”Snow / Ice Conditions",
pavement: ”Icy Spots",
weather: ”Light Snow"
}
}
Sample Document Structure
Range queries:
/^900006:1403/
Regex must be
left-anchored &
case-sensitive
{ _id: “900006:14031217”,
data: [
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
{ speed: NaN, time: NaN },
...
],
conditions: {
status: ”Snow / Ice Conditions",
pavement: ”Icy Spots",
weather: ”Light Snow"
}
}
Sample Document Structure
Pre-allocated,
60 element array of
per-minute data
Advantages
1. In place updates  efficient
2. Dashboards  simple queries
Dashboards
0
10
20
30
40
50
60
70
MonMar10201404:57:00…
MonMar10201405:28:00…
MonMar10201405:59:00…
MonMar10201406:30:00…
MonMar10201407:01:00…
MonMar10201407:32:00…
MonMar10201408:03:00…
MonMar10201408:34:00…
MonMar10201409:05:00…
MonMar10201409:36:00…
MonMar10201410:07:00…
MonMar10201410:38:00…
MonMar10201411:52:00…
TueMar11201402:35:00…
TueMar11201403:05:00…
TueMar11201403:36:00…
TueMar11201404:23:00…
TueMar11201404:54:00…
TueMar11201405:25:00…
TueMar11201405:56:00…
TueMar11201406:27:00…
TueMar11201406:58:00…
TueMar11201407:29:00…
TueMar11201408:00:00…
TueMar11201408:31:00…
TueMar11201409:05:00…
TueMar11201410:32:00…
TueMar11201411:03:00…
TueMar11201411:34:00…
TueMar11201412:05:00…
TueMar11201412:39:00…
TueMar11201413:10:00…
TueMar11201413:41:00…
TueMar11201414:15:00…
TueMar11201415:54:00…
WedMar12201401:39:00…
WedMar12201402:10:00…
WedMar12201402:41:00…
WedMar12201403:12:00…
WedMar12201404:35:00…
WedMar12201406:58:00…
WedMar12201408:36:00…
WedMar12201409:07:00…
WedMar12201410:15:00…
WedMar12201410:46:00…
db.linkData.find({_id : /^20484087:2014031/})
Supporting Queries From
Navigation Systems
Navigation System Queries
What is the average speed for the last 10 minutes on
50 upcoming road segments?
Current Real-Time Conditions
Last ten minutes of speeds and
times
{ _id : “I-87:10656”,
description : "NYS Thruway Harriman Section Exits 14A - 16",
update : ISODate(“2013-10-10T23:06:37.000Z”),
speeds : [ 52, 49, 45, 51, ... ],
times : [ 237, 224, 246, 233,... ],
pavement: "Wet Spots",
status: "Wet Conditions",
weather: "Light Rain”,
averageSpeed: 50.23,
averageTime: 234,
maxSafeSpeed: 53.1,
location" : {
"type" : "LineString",
"coordinates" : [
[ -74.056, 41.098 ],
[ -74.077, 41.104 ] }
}
{ _id : “I-87:10656”,
description : "NYS Thruway Harriman Section Exits 14A - 16",
update : ISODate(“2013-10-10T23:06:37.000Z”),
speeds : [ 52, 49, 45, 51, ... ],
times : [ 237, 224, 246, 233,... ],
pavement: "Wet Spots",
status: "Wet Conditions",
weather: "Light Rain”,
averageSpeed: 50.23,
averageTime: 234,
maxSafeSpeed: 53.1,
location" : {
"type" : "LineString",
"coordinates" : [
[ -74.056, 41.098 ],
[ -74.077, 41.104 ] }
}
Current Real-Time Conditions
Pre-aggregated
metrics
{ _id : “I-87:10656”,
description : "NYS Thruway Harriman Section Exits 14A - 16",
update : ISODate(“2013-10-10T23:06:37.000Z”),
speeds : [ 52, 49, 45, 51, ... ],
times : [ 237, 224, 246, 233,... ],
pavement: "Wet Spots",
status: "Wet Conditions",
weather: "Light Rain”,
averageSpeed: 50.23,
averageTime: 234,
maxSafeSpeed: 53.1,
location" : {
"type" : "LineString",
"coordinates" : [
[ -74.056, 41.098 ],
[ -74.077, 41.104 ] }
}
Current Real-Time Conditions
Geo-spatially indexed
road segment
db.linksAvg.update(
{"_id" : linkId},
{ "$set" : {"lUpdate" : date},
"$push" : {
"times" : { "$each" : [ time ], "$slice" : -10 },
"speeds" : {"$each" : [ speed ], "$slice" : -10}
}
})
Maintaining the current conditions
Each update pops the last element off the
array and pushes the new value
Document Retention
Document retention
Doc per hour
Doc per day
2 weeks
2 months
1year
Doc per Month
Rollup – 1 day
// daily document
// retained for 2 months
{
_id: "link:date",
// 24 element array
hourly: [
{ speed: { sum: , count: },
time: { sum: , count: }
},
{ speed: { sum: , count: },
time: { sum: , count: }
}
]
}
Analysis With The Aggregation
Framework
Pipelining operations
grep | sort | uniq
Piping command line operations
Pipelining operations
$match $group | $sort|
Piping aggregation operations
Stream of documents Result document
What is the average speed for a
given road segment?
> db.linkData.aggregate(
{ $match: { ”_id" : /^20484097:/ } },
{ $project: { "data.speed": 1, linkId: 1 } } ,
{ $unwind: "$data"},
{ $group: { _id: "$linkId", ave: { $avg: "$data.speed"} } }
);
{ "_id" : 20484097, "ave" : 47.067650676506766 }
What is the average speed for a
given road segment?
Select documents on the target segment
> db.linkData.aggregate(
{ $match: { ”_id" : /^20484097:/ } },
{ $project: { "data.speed": 1, linkId: 1 } } ,
{ $unwind: "$data"},
{ $group: { _id: "$linkId", ave: { $avg: "$data.speed"} } }
);
{ "_id" : 20484097, "ave" : 47.067650676506766 }
What is the average speed for a
given road segment?
Keep only the fields we really need
> db.linkData.aggregate(
{ $match: { ”_id" : /^20484097:/ } },
{ $project: { "data.speed": 1, _id: 1 } } ,
{ $unwind: "$data"},
{ $group: { _id: "$_id", ave: { $avg: "$data.speed"} } }
);
{ "_id" : 20484097, "ave" : 47.067650676506766 }
What is the average speed for a
given road segment?
Loop over the array of data points
> db.linkData.aggregate(
{ $match: { ”_id" : /^20484097:/ } },
{ $project: { "data.speed": 1, _id: 1 } } ,
{ $unwind: "$data"},
{ $group: { _id: "$_id", ave: { $avg: "$data.speed"} } }
);
{ "_id" : 20484097, "ave" : 47.067650676506766 }
What is the average speed for a
given road segment?
Use the handy $avg operator
> db.linkData.aggregate(
{ $match: { ”_id" : /^20484097:/ } },
{ $project: { "data.speed": 1, “_id”: 1 } } ,
{ $unwind: "$data"},
{ $group: { _id: "$_id", ave: { $avg: "$data.speed"} } }
);
{ "_id" : 20484097, "ave" : 47.067650676506766 }
More Sophisticated Pipelines:
average speed with variance
{ "$project" : {
mean: "$meanSpd",
spdDiffSqrd : {
"$map" : {
"input": {
"$map" : {
"input" : "$speeds",
"as" : "samp",
"in" : { "$subtract" : [ "$$samp", "$meanSpd" ] }
}
},
as: "df", in: { $multiply: [ "$$df", "$$df" ] }
} } } },
{ $unwind: "$spdDiffSqrd" },
{ $group: { _id: mean: "$mean", variance: { $avg: "$spdDiffSqrd" } } }
Analysis With MapReduce
Historic Analysis
How does weather and road conditions affect
traffic?
The Ask: what are the average speeds per
weather, status and pavement
MapReduce
function map() {
for( var i = 0; i < this.data.length; i++ ) {
emit (
this.conditions.weather,
{ speed : this.data[i].speed }
);
emit (
this.conditions.status,
{ speed : this.data[i].speed }
);
emit (
this.conditions.pavement,
{ speed : this.data[i].speed }
);
} }
MapReduce
function map() {
for( var i = 0; i < this.data.length; i++ ) {
emit (
this.conditions.weather,
{ speed : this.data[i].speed }
);
emit (
this.conditions.status,
{ speed : this.data[i].speed }
);
emit (
this.conditions.pavement,
{ speed : this.data[i].speed }
);
} }
“Snow”,
34
MapReduce
function map() {
for( var i = 0; i < this.data.length; i++ ) {
emit (
this.conditions.weather,
{ speed : this.data[i].speed }
);
emit (
this.conditions.status,
{ speed : this.data[i].speed }
);
emit (
this.conditions.pavement,
{ speed : this.data[i].speed }
);
} }
“Icy spots”, 34
MapReduce
function map() {
for( var i = 0; i < this.data.length; i++ ) {
emit (
this.conditions.weather,
{ speed : this.data[i].speed }
);
emit (
this.conditions.status,
{ speed : this.data[i].speed }
);
emit (
this.conditions.pavement,
{ speed : this.data[i].speed }
);
} }
“Delays”, 34
MapReduce
MapReduce
Weather: “Rain”, speed: 44
MapReduce
Weather: “Rain”, speed: 39
MapReduce
Weather: “Rain”, speed: 46
MapReduce
function reduce ( key, values ) {
var result = { count : 1, speedSum : 0 };
values.forEach( function( v ){
result.speedSum += v.speed;
result.count++;
});
return result;
}
MapReduce
function reduce ( key, values ) {
var result = { count : 1, speedSum : 0 };
values.forEach( function( v ){
result.speedSum += v.speed;
result.count++;
});
return result;
}
Results
results: [
{
"_id" : "Generally Clear and Dry Conditions",
"value" : {
"count" : 902,
"speedSum" : 45100
}
},
{
"_id" : "Icy Spots",
"value" : {
"count" : 242,
"speedSum" : 9438
}
},
{
"_id" : "Light Snow",
"value" : {
"count" : 122,
"speedSum" : 7686
}
},
{
"_id" : "No Report",
"value" : {
"count" : 782,
"speedSum" : NaN
}
}
Analysis With Hadoop
(using the MongoDB
Connector)
Processing Large Data Sets
• Need to break data into smaller pieces
• Process data across multiple nodes
Hadoop Hadoop Hadoop Hadoop
Hadoop Hadoop Hadoop HadoopHadoop
Hadoop
Benefits of the Hadoop Connector
• Increased parallelism
• Access to analytics libraries
• Separation of concerns
• Integrates with existing tool chains
MongoDB Hadoop Connector
• Multi-source analytics
• Interactive & Batch
• Data lake
• Online, Real-time
• High concurrency & HA
• Live analytics
Operational
Post
Processingand
MongoDB
Connector for
Hadoop
Questions?
@jayrunkel
jay.runkel@mongodb.com
Part 3 - July 16th, 2:00 PM EST
Sign up for our “Path to Proof” Program
and get expert advice on implementation,
architecture, and configuration.
www.mongodb.com/lp/contact/path-proof-program
MongoDB for Time Series Data: Analyzing Time Series Data Using the Aggregation Framework and Hadoop
HVDF:
https://github.com/10gen-labs/hvdf
Hadoop Connector:
https://github.com/mongodb/mongo-hadoop
Consulting Engineer, MongoDB Inc.
Bryan Reinero
#ConferenceHashtag
Thank You

More Related Content

PPTX
MongoDB for Time Series Data Part 3: Sharding
PPTX
MongoDB for Time Series Data: Setting the Stage for Sensor Management
PPTX
MongoDB for Time Series Data
PPTX
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
PPTX
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
PPTX
MongoDB for Time Series Data: Schema Design
PPTX
Choosing a Shard key
PPTX
Андрей Козлов (Altoros): Оптимизация производительности Cassandra
MongoDB for Time Series Data Part 3: Sharding
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data
MongoDB for Time Series Data Part 2: Analyzing Time Series Data Using the Agg...
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Schema Design
Choosing a Shard key
Андрей Козлов (Altoros): Оптимизация производительности Cassandra

What's hot (20)

PPTX
Operational Intelligence with MongoDB Webinar
PDF
Analytics with MongoDB Aggregation Framework and Hadoop Connector
PDF
PPTX
Bucket Your Partitions Wisely (Markus Höfer, codecentric AG) | Cassandra Summ...
PPTX
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
PPTX
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
PPTX
Webinar: Best Practices for Getting Started with MongoDB
PPTX
Advanced Sharding Features in MongoDB 2.4
PPTX
MongoDB: Comparing WiredTiger In-Memory Engine to Redis
PDF
Transforming Mobile Push Notifications with Big Data
PDF
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
PPTX
Bucket your partitions wisely - Cassandra summit 2016
PPTX
Druid at naver.com - part 1
PDF
MongoDB: Intro & Application for Big Data
PDF
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
PPTX
MongoDB Chunks - Distribution, Splitting, and Merging
PDF
Time series databases
PPTX
Back to Basics, webinar 2: La tua prima applicazione MongoDB
PDF
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
PPTX
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Operational Intelligence with MongoDB Webinar
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Bucket Your Partitions Wisely (Markus Höfer, codecentric AG) | Cassandra Summ...
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
Webinarserie: Einführung in MongoDB: “Back to Basics” - Teil 3 - Interaktion ...
Webinar: Best Practices for Getting Started with MongoDB
Advanced Sharding Features in MongoDB 2.4
MongoDB: Comparing WiredTiger In-Memory Engine to Redis
Transforming Mobile Push Notifications with Big Data
2015-12-05 Александр Коротков, Иван Панченко - Слабо-структурированные данные...
Bucket your partitions wisely - Cassandra summit 2016
Druid at naver.com - part 1
MongoDB: Intro & Application for Big Data
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
MongoDB Chunks - Distribution, Splitting, and Merging
Time series databases
Back to Basics, webinar 2: La tua prima applicazione MongoDB
Clickhouse Capacity Planning for OLAP Workloads, Mik Kocikowski of CloudFlare
Conceptos básicos. Seminario web 5: Introducción a Aggregation Framework
Ad

Similar to MongoDB for Time Series Data: Analyzing Time Series Data Using the Aggregation Framework and Hadoop (20)

PDF
Analytics with Spark
PPTX
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
PPTX
Everything That Is Really Useful in Oracle Database 12c for Application Devel...
PPTX
Weather of the Century: Design and Performance
PDF
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
PPTX
Big Data for each one of us
ODP
Introduction To PostGIS
PDF
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
PDF
Visualizing Mobile Broadband with MongoDB
PPTX
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
PPTX
2014 bigdatacamp asya_kamsky
PDF
node.js and the AR.Drone: building a real-time dashboard using socket.io
PDF
A Century Of Weather Data - Midwest.io
PPTX
Example R usage for oracle DBA UKOUG 2013
PPTX
Advancing Scientific Data Support in ArcGIS
PDF
Nyc open data project ii -- predict where to get and return my citibike
PDF
Querying Data Pipeline with AWS Athena
PDF
How to Hack a Road Trip with a Webcam, a GSP and Some Fun with Node
PPTX
Il tempo vola: rappresentare e manipolare sequenze di eventi e time series co...
PDF
Analytic Data Report with MongoDB
Analytics with Spark
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
Everything That Is Really Useful in Oracle Database 12c for Application Devel...
Weather of the Century: Design and Performance
Monitoring Your ISP Using InfluxDB Cloud and Raspberry Pi
Big Data for each one of us
Introduction To PostGIS
Codepot - Pig i Hive: szybkie wprowadzenie / Pig and Hive crash course
Visualizing Mobile Broadband with MongoDB
OrientDB - Time Series and Event Sequences - Codemotion Milan 2014
2014 bigdatacamp asya_kamsky
node.js and the AR.Drone: building a real-time dashboard using socket.io
A Century Of Weather Data - Midwest.io
Example R usage for oracle DBA UKOUG 2013
Advancing Scientific Data Support in ArcGIS
Nyc open data project ii -- predict where to get and return my citibike
Querying Data Pipeline with AWS Athena
How to Hack a Road Trip with a Webcam, a GSP and Some Fun with Node
Il tempo vola: rappresentare e manipolare sequenze di eventi e time series co...
Analytic Data Report with MongoDB
Ad

More from MongoDB (20)

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

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
A Presentation on Artificial Intelligence
PPTX
Big Data Technologies - Introduction.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Machine Learning_overview_presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Encapsulation theory and applications.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPT
Teaching material agriculture food technology
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation_ Review paper, used for researhc scholars
SOPHOS-XG Firewall Administrator PPT.pptx
A Presentation on Artificial Intelligence
Big Data Technologies - Introduction.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Network Security Unit 5.pdf for BCA BBA.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine Learning_overview_presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
A comparative analysis of optical character recognition models for extracting...
Encapsulation theory and applications.pdf
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
MIND Revenue Release Quarter 2 2025 Press Release

MongoDB for Time Series Data: Analyzing Time Series Data Using the Aggregation Framework and Hadoop

Editor's Notes

  • #13: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #14: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #15: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #16: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #17: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #19: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #22: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #23: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #24: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #25: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #28: Compound unique index on linkId & Interval update field used to identify new documents for aggregation
  • #32: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #33: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #34: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #35: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #36: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #37: Priority Floating point number between 0..1000 Highest member that is up to date wins Up to date == within 10 seconds of primary If a higher priority member catches up, it will force election and win Slave Delay Lags behind master by configurable time delay Automatically hidden from clients Protects against operator errors Fat fingering Application corrupts data
  • #54: Makes MongoDB a Hadoop-enabled file system Read and write to live data, in-place Copy data between Hadoop and MongoDB Uses MongoDB indexes to filter data Full support for data processing Hive MapReduce Pig Streaming