SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
What's New in MongoDB 2.4
Improvements made across…
•  Development
•  Operations
•  Performance
•  Security
•  Enterprise Features
MongoDB 2.4
Developer Improvements
Geospatial
New Geospatial Features
•  Polygon intersections
•  More accurate spherical model
•  $near and $within work with Aggregation
Framework
•  Analytics now location-aware
GeoJSON
•  Geospatial interchange format based on JSON
•  Supports Points,LineStrings & Polygons
•  Complete spec available at http://geojson.org
Point1 = {
type : "Point",
coordinates : [-73.947807, 40.663973]
}
somePoly = {
type : "Polygon",
coordinates : [[[40,5], [40,6],
[41,6], [41,5], [40,5]]]
}
GeoJSON
$GeoIntersects
•  Leverages GeoJSON
•  Geospatial query operator that selects all locations
that intersect with a GeoJSON object
•  Uses spherical geometry
point1 = { type: "Point", coordinates: [40, 5.5]}
line1 = { type: "LineString",
coordinates: [[40, 3.5], [40, 4.5]]};
somePoly = { type : "Polygon",
coordinates : [[[40,5], [40,6],
[41,6], [41,5], [40,5]]]};
res = c.find({ geo : {
"$geoIntersects" :
{"$geometry" : somePoly}
}});
$GeoIntersects
Aggregation Framework
New Aggregation Framework
Features
•  Introduced in 2.2,came of age in 2.4
•  Performance Improvements
•  3–5 x faster
•  Geo $near and $within support
•  $concat support
•  Support for Binary Data (pass through)
Text Search (beta)
Text Search (beta)
•  Real-time indexes
•  Case-insensitive
•  Stemming,tokenization & stop words for 15 languages
•  Index size is comparable with other full text search
implementations (larger than standard MongoDB
indexes)
•  BETA status…please use in dev & give feedback
Stemming Examples
•  { walk,walked,walking,walks } ⇒ walk
•  {magazine,magazines,magazine’s } ⇒ magazine
•  {runs,running,run,ran } ⇒ { run,ran }
Examples of English Stop Words
{ am,themselves,of,before,here,
while,what's,myself,ought,me,the,
into,about,this,do,can't,a,...}
Option 1: on the command line
$ mongod --setParameter textSearchEnabled=true
Option 2: as admin command to mongod or mongos
> db.adminCommand(
{ setParameter: 1, textSearchEnabled: true }
)
Enabling Text Search
db.t.ensureIndex(
{ title: "text", post: "text" },
{ weights: { title: 10, post: 5 }}
)
Create a Text Search Index
db.t.runCommand(
"text",
{ search: ""my first blog entry"" }
);
Run a Text Search Command
{
"queryDebugString":"blog|entri|first||||my first blog entry||",
"language" : "english",
"results" : [{
"score" : 12,
"obj" : {
"_id" : 1,
"title" : "1st post",
"post" : "this is my first blog entry."
}}],
"stats" : {
"nscanned" : 7,
"nscannedObjects" : 0,
"n" : 0,
"nfound" : 1,
"timeMicros" : 122
},
"ok" : 1
}
Text Search Result
Note: debug string shows the stemmed terms, stop-words deleted
New Update Operators
Capped Arrays
•  Provides the ability to manipulate arrays with
more control than ever before
•  $push now supports the following:
•  $each permits pushing multiple entries onto an
array
•  $slice maintains a fixed size array
•  Can be stacked with $sort
db.students.update(!
{ _id: 1 },!
{ $push: {!
scores: {!
$each: [!
{ attempt: 3, score: 7 },!
{ attempt: 4, score: 4 } ],!
$sort: { score: 1 },!
$slice: -3!
}!
}}!
)
Top 3 Scores
New Upsert Operator
db.products.update(!
{ _id: 1 },!
{ $setOnInsert: { defaultQty: 500, inStock: true },!
$set: { item: "apple" } },!
{ upsert: true }!
)
$setOnInsert
MongoDB 2.4
Operational Improvements
Hash-based Sharding
Hash-based Sharding
•  Easier to manage clusters
•  Less rebalancing 
•  More event distribution for reads and writes
•  Lower potential performance from range based,but more
consistent.
•  The hash stored in the hashed index is 64 bits of the 128
bit md5 hash
•  MongoDB can use the hashed index to support equality
queries,but hashed indexes do not support range queries.
db.activeCollection.ensureIndex(
{ field_to_hash: "hashed" }
)
Creating a Hashed Shard Key
Working Set Analyzer
Working Set Analyzer
•  Working Set: The set of data kept in memory
•  MongoDB performance best when working
set < RAM
•  Working set analyzer measures resources used
over time
•  Leads to more efficient MongoDB usage
db.serverStatus( { workingSet: 1 } )
db.runCommand( { serverStatus: 1, workingSet: 1 } )
"workingSet" : {
"note" : "thisIsAnEstimate",
"pagesInMemory" : <num>,
"computationTimeMicros" : <num>,
"overSeconds" : num
},
MongoStatus
Index Operation
Management
Index Operation Management
•  A single mongod instance can build multiple
indexes in the background at the same time.
•  db.killOp() can now kill foreground index builds
•  Improved validation of index types
db.currentOp()
{
"inprog" : [ {
"opid" : 45,
"active" : true,
"secs_running" : 2,
"op" : "insert",
"ns" : "test.system.indexes",
...
}]
}
db.killOp(45)
Index Operation Management
Replication Improvements
Role Based Privileges
Replication Improvements
•  Better detection of network hiccups (less false
negatives)
•  Faster initial sync when adding new secondary
MongoDB 2.4
Performance Improvements
V8 JavaScript Engine
•  Affects all JS processing including MapReduce,the
shell and $where queries 
•  Greater concurrency
•  User feedback very positive indicating dramatic
improvement in overall processing time with new
V8
Improvements All Over
•  Aggregation 3x–5x faster
•  Faster Counting
–  Low-cardinality index-based counts up to 20x faster
–  Better performance on counting,e.g.,count all the
males/females in my user list
•  Faster $elemMatch
MongoDB 2.4
Security Improvements
Role Based Privileges
Role Based Privileges
•  Builds on access controls introduced in 2.2
•  Users granted roles that have specific privileges per
database
•  Users can have multiple roles
•  Roles include
–  read
–  readWrite
–  userAdmin
–  dbAdmin
–  clusterAdmin
Role Based Privileges
Enhanced SSL Support
•  Supported in open source edition of MongoDB
•  Must be compiled using--ssl flag
•  Uses a standard .pem file that contains the SSL
certificate and key
•  Complete directions available in the MongoDB
documentation
http://docs.mongodb.org/manual/administration/ssl/
Introducing MongoDB
Enterprise 2.4
MongoDB Enterprise
•  Advanced Security
–  Kerberos authentication protocol
–  SSL support built in
•  Monitoring
–  On-Prem Monitoring-visualization,alerts on 100+ system metrics
–  Includes same features as (MMS)
•  Enterprise Software Integration
–  SNMP supports integration w/popular monitoring tools (e.g.,Nagios )
•  Certified OS Support
–  Red Hat/CentOS,Ubuntu and Amazon Linux
Subscriptions
Basic Standard Enterprise
Edition MongoDB MongoDB MongoDB Enterprise
SLA 4 hours 1 Hour 30 Minutes
Support
9am – 9pm ET
M – F
24x7x365 24x7x365
License AGPL Commercial Commercial
Price per Host $2,500 $5,000 $7,500

Más contenido relacionado

La actualidad más candente

Getting Started with MongoDB
Getting Started with MongoDBGetting Started with MongoDB
Getting Started with MongoDBMichael Redlich
 
Back to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationBack to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationMongoDB
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsMongoDB
 
MongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMoshe Kaplan
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance TuningMongoDB
 
Getting Started with MongoDB and NodeJS
Getting Started with MongoDB and NodeJSGetting Started with MongoDB and NodeJS
Getting Started with MongoDB and NodeJSMongoDB
 
微博cache设计谈
微博cache设计谈微博cache设计谈
微博cache设计谈Tim Y
 
MongoDB's New Aggregation framework
MongoDB's New Aggregation frameworkMongoDB's New Aggregation framework
MongoDB's New Aggregation frameworkChris Westin
 
NoSQL Infrastructure - Late 2013
NoSQL Infrastructure - Late 2013NoSQL Infrastructure - Late 2013
NoSQL Infrastructure - Late 2013Server Density
 
Mastering the MongoDB Javascript Shell
Mastering the MongoDB Javascript ShellMastering the MongoDB Javascript Shell
Mastering the MongoDB Javascript ShellScott Hernandez
 
5 Pitfalls to Avoid with MongoDB
5 Pitfalls to Avoid with MongoDB5 Pitfalls to Avoid with MongoDB
5 Pitfalls to Avoid with MongoDBTim Callaghan
 
Timyang新浪微博设计谈
Timyang新浪微博设计谈Timyang新浪微博设计谈
Timyang新浪微博设计谈Cevin Cheung
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation FrameworkTyler Brock
 
Aggregation Framework in MongoDB Overview Part-1
Aggregation Framework in MongoDB Overview Part-1Aggregation Framework in MongoDB Overview Part-1
Aggregation Framework in MongoDB Overview Part-1Anuj Jain
 
mongoDB Performance
mongoDB PerformancemongoDB Performance
mongoDB PerformanceMoshe Kaplan
 
10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators  10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators iammutex
 
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDB
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDBBreaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDB
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDBMongoDB
 
High Performance, Scalable MongoDB in a Bare Metal Cloud
High Performance, Scalable MongoDB in a Bare Metal CloudHigh Performance, Scalable MongoDB in a Bare Metal Cloud
High Performance, Scalable MongoDB in a Bare Metal CloudMongoDB
 

La actualidad más candente (20)

Getting Started with MongoDB
Getting Started with MongoDBGetting Started with MongoDB
Getting Started with MongoDB
 
You, me, and jsonb
You, me, and jsonbYou, me, and jsonb
You, me, and jsonb
 
Back to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationBack to Basics: My First MongoDB Application
Back to Basics: My First MongoDB Application
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica Sets
 
MongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMongoDB Best Practices for Developers
MongoDB Best Practices for Developers
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance Tuning
 
Getting Started with MongoDB and NodeJS
Getting Started with MongoDB and NodeJSGetting Started with MongoDB and NodeJS
Getting Started with MongoDB and NodeJS
 
微博cache设计谈
微博cache设计谈微博cache设计谈
微博cache设计谈
 
MongoDB-SESSION03
MongoDB-SESSION03MongoDB-SESSION03
MongoDB-SESSION03
 
MongoDB's New Aggregation framework
MongoDB's New Aggregation frameworkMongoDB's New Aggregation framework
MongoDB's New Aggregation framework
 
NoSQL Infrastructure - Late 2013
NoSQL Infrastructure - Late 2013NoSQL Infrastructure - Late 2013
NoSQL Infrastructure - Late 2013
 
Mastering the MongoDB Javascript Shell
Mastering the MongoDB Javascript ShellMastering the MongoDB Javascript Shell
Mastering the MongoDB Javascript Shell
 
5 Pitfalls to Avoid with MongoDB
5 Pitfalls to Avoid with MongoDB5 Pitfalls to Avoid with MongoDB
5 Pitfalls to Avoid with MongoDB
 
Timyang新浪微博设计谈
Timyang新浪微博设计谈Timyang新浪微博设计谈
Timyang新浪微博设计谈
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
 
Aggregation Framework in MongoDB Overview Part-1
Aggregation Framework in MongoDB Overview Part-1Aggregation Framework in MongoDB Overview Part-1
Aggregation Framework in MongoDB Overview Part-1
 
mongoDB Performance
mongoDB PerformancemongoDB Performance
mongoDB Performance
 
10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators  10 Key MongoDB Performance Indicators
10 Key MongoDB Performance Indicators
 
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDB
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDBBreaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDB
Breaking the Oracle Tie; High Performance OLTP and Analytics Using MongoDB
 
High Performance, Scalable MongoDB in a Bare Metal Cloud
High Performance, Scalable MongoDB in a Bare Metal CloudHigh Performance, Scalable MongoDB in a Bare Metal Cloud
High Performance, Scalable MongoDB in a Bare Metal Cloud
 

Destacado

Education for Sustainable Development
Education for Sustainable DevelopmentEducation for Sustainable Development
Education for Sustainable Developmentegamahelga
 
สื่อการสอนวิชาคณิตศาสตร์ลองทำ
สื่อการสอนวิชาคณิตศาสตร์ลองทำสื่อการสอนวิชาคณิตศาสตร์ลองทำ
สื่อการสอนวิชาคณิตศาสตร์ลองทำฟองเพียร ใจติ๊บ
 
Microsoft power point การวัดตำแหน่งที่ใช้สอน3
Microsoft power point   การวัดตำแหน่งที่ใช้สอน3Microsoft power point   การวัดตำแหน่งที่ใช้สอน3
Microsoft power point การวัดตำแหน่งที่ใช้สอน3ฟองเพียร ใจติ๊บ
 
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3ฟองเพียร ใจติ๊บ
 
Froscon2011: How i learned to use sql and then learned not to use it
Froscon2011:  How i learned to use sql and then learned not to use itFroscon2011:  How i learned to use sql and then learned not to use it
Froscon2011: How i learned to use sql and then learned not to use itHenrik Ingo
 
Building Your First MongoDB App
Building Your First MongoDB AppBuilding Your First MongoDB App
Building Your First MongoDB AppHenrik Ingo
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failoverHenrik Ingo
 
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorAnalytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorHenrik Ingo
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Henrik Ingo
 
Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0Henrik Ingo
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to GaleraHenrik Ingo
 
Ergonomic Chair Product Design
Ergonomic Chair Product DesignErgonomic Chair Product Design
Ergonomic Chair Product DesignPooja Rai
 

Destacado (17)

Microsoft power point ตารางแจกแจงความถี่-1
Microsoft power point   ตารางแจกแจงความถี่-1Microsoft power point   ตารางแจกแจงความถี่-1
Microsoft power point ตารางแจกแจงความถี่-1
 
Education for Sustainable Development
Education for Sustainable DevelopmentEducation for Sustainable Development
Education for Sustainable Development
 
Rokok
RokokRokok
Rokok
 
ตารางแจกแจงความถี่ 1
ตารางแจกแจงความถี่ 1ตารางแจกแจงความถี่ 1
ตารางแจกแจงความถี่ 1
 
สื่อการสอนวิชาคณิตศาสตร์ลองทำ
สื่อการสอนวิชาคณิตศาสตร์ลองทำสื่อการสอนวิชาคณิตศาสตร์ลองทำ
สื่อการสอนวิชาคณิตศาสตร์ลองทำ
 
Microsoft power point การวัดตำแหน่งที่ใช้สอน3
Microsoft power point   การวัดตำแหน่งที่ใช้สอน3Microsoft power point   การวัดตำแหน่งที่ใช้สอน3
Microsoft power point การวัดตำแหน่งที่ใช้สอน3
 
ESD
ESDESD
ESD
 
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3
การนำเสนอคุณธรรมและจริยธรรมสำหรับผู้นำ3
 
TESIPOLI
TESIPOLITESIPOLI
TESIPOLI
 
Froscon2011: How i learned to use sql and then learned not to use it
Froscon2011:  How i learned to use sql and then learned not to use itFroscon2011:  How i learned to use sql and then learned not to use it
Froscon2011: How i learned to use sql and then learned not to use it
 
Building Your First MongoDB App
Building Your First MongoDB AppBuilding Your First MongoDB App
Building Your First MongoDB App
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
 
Analytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop ConnectorAnalytics with MongoDB Aggregation Framework and Hadoop Connector
Analytics with MongoDB Aggregation Framework and Hadoop Connector
 
Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)Using and Benchmarking Galera in different architectures (PLUK 2012)
Using and Benchmarking Galera in different architectures (PLUK 2012)
 
Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0Introduction to new high performance storage engines in mongodb 3.0
Introduction to new high performance storage engines in mongodb 3.0
 
Introduction to Galera
Introduction to GaleraIntroduction to Galera
Introduction to Galera
 
Ergonomic Chair Product Design
Ergonomic Chair Product DesignErgonomic Chair Product Design
Ergonomic Chair Product Design
 

Similar a Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19

1403 app dev series - session 5 - analytics
1403   app dev series - session 5 - analytics1403   app dev series - session 5 - analytics
1403 app dev series - session 5 - analyticsMongoDB
 
2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongo2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongoMichael Bright
 
Using MongoDB and Python
Using MongoDB and PythonUsing MongoDB and Python
Using MongoDB and PythonMike Bright
 
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverWebinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverMongoDB
 
Social Data and Log Analysis Using MongoDB
Social Data and Log Analysis Using MongoDBSocial Data and Log Analysis Using MongoDB
Social Data and Log Analysis Using MongoDBTakahiro Inoue
 
Webinar: Applikationsentwicklung mit MongoDB : Teil 5: Reporting & Aggregation
Webinar: Applikationsentwicklung mit MongoDB: Teil 5: Reporting & AggregationWebinar: Applikationsentwicklung mit MongoDB: Teil 5: Reporting & Aggregation
Webinar: Applikationsentwicklung mit MongoDB : Teil 5: Reporting & AggregationMongoDB
 
Mongo db tutorials
Mongo db tutorialsMongo db tutorials
Mongo db tutorialsAnuj Jain
 
Mongodb intro
Mongodb introMongodb intro
Mongodb introchristkv
 
MongoDB at ZPUGDC
MongoDB at ZPUGDCMongoDB at ZPUGDC
MongoDB at ZPUGDCMike Dirolf
 
Buildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbBuildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbMongoDB APAC
 
PostgreSQLからMongoDBへ
PostgreSQLからMongoDBへPostgreSQLからMongoDBへ
PostgreSQLからMongoDBへBasuke Suzuki
 
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesBack to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesMongoDB
 
9b. Document-Oriented Databases lab
9b. Document-Oriented Databases lab9b. Document-Oriented Databases lab
9b. Document-Oriented Databases labFabio Fumarola
 
The Fine Art of Schema Design in MongoDB: Dos and Don'ts
The Fine Art of Schema Design in MongoDB: Dos and Don'tsThe Fine Art of Schema Design in MongoDB: Dos and Don'ts
The Fine Art of Schema Design in MongoDB: Dos and Don'tsMatias Cascallares
 
Indexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleIndexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleMongoDB
 
MongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overviewMongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overviewAntonio Pintus
 

Similar a Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19 (20)

1403 app dev series - session 5 - analytics
1403   app dev series - session 5 - analytics1403   app dev series - session 5 - analytics
1403 app dev series - session 5 - analytics
 
2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongo2016 feb-23 pyugre-py_mongo
2016 feb-23 pyugre-py_mongo
 
Using MongoDB and Python
Using MongoDB and PythonUsing MongoDB and Python
Using MongoDB and Python
 
Webinar: What's new in the .NET Driver
Webinar: What's new in the .NET DriverWebinar: What's new in the .NET Driver
Webinar: What's new in the .NET Driver
 
Social Data and Log Analysis Using MongoDB
Social Data and Log Analysis Using MongoDBSocial Data and Log Analysis Using MongoDB
Social Data and Log Analysis Using MongoDB
 
Webinar: Applikationsentwicklung mit MongoDB : Teil 5: Reporting & Aggregation
Webinar: Applikationsentwicklung mit MongoDB: Teil 5: Reporting & AggregationWebinar: Applikationsentwicklung mit MongoDB: Teil 5: Reporting & Aggregation
Webinar: Applikationsentwicklung mit MongoDB : Teil 5: Reporting & Aggregation
 
Mongo db tutorials
Mongo db tutorialsMongo db tutorials
Mongo db tutorials
 
MongoDB at GUL
MongoDB at GULMongoDB at GUL
MongoDB at GUL
 
Mongodb intro
Mongodb introMongodb intro
Mongodb intro
 
MongoDB at ZPUGDC
MongoDB at ZPUGDCMongoDB at ZPUGDC
MongoDB at ZPUGDC
 
Buildingsocialanalyticstoolwithmongodb
BuildingsocialanalyticstoolwithmongodbBuildingsocialanalyticstoolwithmongodb
Buildingsocialanalyticstoolwithmongodb
 
PostgreSQLからMongoDBへ
PostgreSQLからMongoDBへPostgreSQLからMongoDBへ
PostgreSQLからMongoDBへ
 
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial IndexesBack to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
Back to Basics Webinar 4: Advanced Indexing, Text and Geospatial Indexes
 
9b. Document-Oriented Databases lab
9b. Document-Oriented Databases lab9b. Document-Oriented Databases lab
9b. Document-Oriented Databases lab
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
The Fine Art of Schema Design in MongoDB: Dos and Don'ts
The Fine Art of Schema Design in MongoDB: Dos and Don'tsThe Fine Art of Schema Design in MongoDB: Dos and Don'ts
The Fine Art of Schema Design in MongoDB: Dos and Don'ts
 
Mongo indexes
Mongo indexesMongo indexes
Mongo indexes
 
Indexing Strategies to Help You Scale
Indexing Strategies to Help You ScaleIndexing Strategies to Help You Scale
Indexing Strategies to Help You Scale
 
MongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overviewMongoDB: a gentle, friendly overview
MongoDB: a gentle, friendly overview
 

Más de Henrik Ingo

Meteor - The next generation software stack
Meteor - The next generation software stackMeteor - The next generation software stack
Meteor - The next generation software stackHenrik Ingo
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 Henrik Ingo
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersHenrik Ingo
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup ManagerHenrik Ingo
 
Froscon 2012 how big corporations play the open source game
Froscon 2012   how big corporations play the open source gameFroscon 2012   how big corporations play the open source game
Froscon 2012 how big corporations play the open source gameHenrik Ingo
 
Databases and the Cloud
Databases and the CloudDatabases and the Cloud
Databases and the CloudHenrik Ingo
 
Fixed in drizzle
Fixed in drizzleFixed in drizzle
Fixed in drizzleHenrik Ingo
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Henrik Ingo
 
How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011Henrik Ingo
 

Más de Henrik Ingo (9)

Meteor - The next generation software stack
Meteor - The next generation software stackMeteor - The next generation software stack
Meteor - The next generation software stack
 
MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014 MongoDB for Oracle Experts - OUGF Harmony 2014
MongoDB for Oracle Experts - OUGF Harmony 2014
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
 
Introducing Xtrabackup Manager
Introducing Xtrabackup ManagerIntroducing Xtrabackup Manager
Introducing Xtrabackup Manager
 
Froscon 2012 how big corporations play the open source game
Froscon 2012   how big corporations play the open source gameFroscon 2012   how big corporations play the open source game
Froscon 2012 how big corporations play the open source game
 
Databases and the Cloud
Databases and the CloudDatabases and the Cloud
Databases and the Cloud
 
Fixed in drizzle
Fixed in drizzleFixed in drizzle
Fixed in drizzle
 
Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011Choosing a MySQL High Availability solution - Percona Live UK 2011
Choosing a MySQL High Availability solution - Percona Live UK 2011
 
How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011How to grow your open source project 10x and revenues 5x OSCON2011
How to grow your open source project 10x and revenues 5x OSCON2011
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Whats new in mongoDB 2.4 at Copenhagen user group 2013-06-19

  • 1. What's New in MongoDB 2.4
  • 2. Improvements made across… •  Development •  Operations •  Performance •  Security •  Enterprise Features
  • 5. New Geospatial Features •  Polygon intersections •  More accurate spherical model •  $near and $within work with Aggregation Framework •  Analytics now location-aware
  • 6. GeoJSON •  Geospatial interchange format based on JSON •  Supports Points,LineStrings & Polygons •  Complete spec available at http://geojson.org
  • 7. Point1 = { type : "Point", coordinates : [-73.947807, 40.663973] } somePoly = { type : "Polygon", coordinates : [[[40,5], [40,6], [41,6], [41,5], [40,5]]] } GeoJSON
  • 8. $GeoIntersects •  Leverages GeoJSON •  Geospatial query operator that selects all locations that intersect with a GeoJSON object •  Uses spherical geometry
  • 9. point1 = { type: "Point", coordinates: [40, 5.5]} line1 = { type: "LineString", coordinates: [[40, 3.5], [40, 4.5]]}; somePoly = { type : "Polygon", coordinates : [[[40,5], [40,6], [41,6], [41,5], [40,5]]]}; res = c.find({ geo : { "$geoIntersects" : {"$geometry" : somePoly} }}); $GeoIntersects
  • 11. New Aggregation Framework Features •  Introduced in 2.2,came of age in 2.4 •  Performance Improvements •  3–5 x faster •  Geo $near and $within support •  $concat support •  Support for Binary Data (pass through)
  • 13. Text Search (beta) •  Real-time indexes •  Case-insensitive •  Stemming,tokenization & stop words for 15 languages •  Index size is comparable with other full text search implementations (larger than standard MongoDB indexes) •  BETA status…please use in dev & give feedback
  • 14. Stemming Examples •  { walk,walked,walking,walks } ⇒ walk •  {magazine,magazines,magazine’s } ⇒ magazine •  {runs,running,run,ran } ⇒ { run,ran }
  • 15. Examples of English Stop Words { am,themselves,of,before,here, while,what's,myself,ought,me,the, into,about,this,do,can't,a,...}
  • 16. Option 1: on the command line $ mongod --setParameter textSearchEnabled=true Option 2: as admin command to mongod or mongos > db.adminCommand( { setParameter: 1, textSearchEnabled: true } ) Enabling Text Search
  • 17. db.t.ensureIndex( { title: "text", post: "text" }, { weights: { title: 10, post: 5 }} ) Create a Text Search Index
  • 18. db.t.runCommand( "text", { search: ""my first blog entry"" } ); Run a Text Search Command
  • 19. { "queryDebugString":"blog|entri|first||||my first blog entry||", "language" : "english", "results" : [{ "score" : 12, "obj" : { "_id" : 1, "title" : "1st post", "post" : "this is my first blog entry." }}], "stats" : { "nscanned" : 7, "nscannedObjects" : 0, "n" : 0, "nfound" : 1, "timeMicros" : 122 }, "ok" : 1 } Text Search Result Note: debug string shows the stemmed terms, stop-words deleted
  • 21. Capped Arrays •  Provides the ability to manipulate arrays with more control than ever before •  $push now supports the following: •  $each permits pushing multiple entries onto an array •  $slice maintains a fixed size array •  Can be stacked with $sort
  • 22. db.students.update(! { _id: 1 },! { $push: {! scores: {! $each: [! { attempt: 3, score: 7 },! { attempt: 4, score: 4 } ],! $sort: { score: 1 },! $slice: -3! }! }}! ) Top 3 Scores
  • 24. db.products.update(! { _id: 1 },! { $setOnInsert: { defaultQty: 500, inStock: true },! $set: { item: "apple" } },! { upsert: true }! ) $setOnInsert
  • 27. Hash-based Sharding •  Easier to manage clusters •  Less rebalancing  •  More event distribution for reads and writes •  Lower potential performance from range based,but more consistent. •  The hash stored in the hashed index is 64 bits of the 128 bit md5 hash •  MongoDB can use the hashed index to support equality queries,but hashed indexes do not support range queries.
  • 30. Working Set Analyzer •  Working Set: The set of data kept in memory •  MongoDB performance best when working set < RAM •  Working set analyzer measures resources used over time •  Leads to more efficient MongoDB usage
  • 31. db.serverStatus( { workingSet: 1 } ) db.runCommand( { serverStatus: 1, workingSet: 1 } ) "workingSet" : { "note" : "thisIsAnEstimate", "pagesInMemory" : <num>, "computationTimeMicros" : <num>, "overSeconds" : num }, MongoStatus
  • 33. Index Operation Management •  A single mongod instance can build multiple indexes in the background at the same time. •  db.killOp() can now kill foreground index builds •  Improved validation of index types
  • 34. db.currentOp() { "inprog" : [ { "opid" : 45, "active" : true, "secs_running" : 2, "op" : "insert", "ns" : "test.system.indexes", ... }] } db.killOp(45) Index Operation Management
  • 36. Role Based Privileges Replication Improvements •  Better detection of network hiccups (less false negatives) •  Faster initial sync when adding new secondary
  • 38. V8 JavaScript Engine •  Affects all JS processing including MapReduce,the shell and $where queries  •  Greater concurrency •  User feedback very positive indicating dramatic improvement in overall processing time with new V8
  • 39. Improvements All Over •  Aggregation 3x–5x faster •  Faster Counting –  Low-cardinality index-based counts up to 20x faster –  Better performance on counting,e.g.,count all the males/females in my user list •  Faster $elemMatch
  • 41. Role Based Privileges Role Based Privileges •  Builds on access controls introduced in 2.2 •  Users granted roles that have specific privileges per database •  Users can have multiple roles •  Roles include –  read –  readWrite –  userAdmin –  dbAdmin –  clusterAdmin
  • 42. Role Based Privileges Enhanced SSL Support •  Supported in open source edition of MongoDB •  Must be compiled using--ssl flag •  Uses a standard .pem file that contains the SSL certificate and key •  Complete directions available in the MongoDB documentation http://docs.mongodb.org/manual/administration/ssl/
  • 44. MongoDB Enterprise •  Advanced Security –  Kerberos authentication protocol –  SSL support built in •  Monitoring –  On-Prem Monitoring-visualization,alerts on 100+ system metrics –  Includes same features as (MMS) •  Enterprise Software Integration –  SNMP supports integration w/popular monitoring tools (e.g.,Nagios ) •  Certified OS Support –  Red Hat/CentOS,Ubuntu and Amazon Linux
  • 45. Subscriptions Basic Standard Enterprise Edition MongoDB MongoDB MongoDB Enterprise SLA 4 hours 1 Hour 30 Minutes Support 9am – 9pm ET M – F 24x7x365 24x7x365 License AGPL Commercial Commercial Price per Host $2,500 $5,000 $7,500