Submit Search
Upload
Dropping ACID with MongoDB
•
Download as PPTX, PDF
•
14 likes
•
2,564 views
K
kchodorow
Follow
http://yapc2010.com/yn2010/talk/2578
Read less
Read more
Technology
Report
Share
Report
Share
1 of 158
Download now
Recommended
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB
Wsomdp
Wsomdp
riahialae
Inc
Inc
Lax Sindikat
Topological indices (t is) of the graphs to seek qsar models of proteins com...
Topological indices (t is) of the graphs to seek qsar models of proteins com...
Jitendra Kumar Gupta
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the Good
Jeremy Kendall
Recommended
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB
Wsomdp
Wsomdp
riahialae
Inc
Inc
Lax Sindikat
Topological indices (t is) of the graphs to seek qsar models of proteins com...
Topological indices (t is) of the graphs to seek qsar models of proteins com...
Jitendra Kumar Gupta
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the Good
Jeremy Kendall
wget.pl
wget.pl
Yasuhiro Onishi
Powerful Analysis with the Aggregation Pipeline
Powerful Analysis with the Aggregation Pipeline
MongoDB
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
Tomohiro Nishimura
php Mailer
php Mailer
Randy Arios
Parallel Computing With Dask - PyDays 2017
Parallel Computing With Dask - PyDays 2017
Christian Aichinger
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
MongoDB
Reading the .explain() Output
Reading the .explain() Output
MongoDB
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
MongoDB
PHP code examples
PHP code examples
programmingslides
php plus mysql
php plus mysql
Jayson de Leon
R57php 1231677414471772-2
R57php 1231677414471772-2
ady36
Schema design short
Schema design short
MongoDB
Data mangling with mongo db the right way [pyconit 2016]
Data mangling with mongo db the right way [pyconit 2016]
Alexander Hendorf
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB
(Ab)Using the MetaCPAN API for Fun and Profit
(Ab)Using the MetaCPAN API for Fun and Profit
Olaf Alders
01 ElasticSearch : Getting Started
01 ElasticSearch : Getting Started
OpenThink Labs
03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out
OpenThink Labs
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
Dev2Dev
PHP Tutorial (funtion)
PHP Tutorial (funtion)
Tinnakorn Puttha
Bringing Transactional Guarantees to MongoDB
Bringing Transactional Guarantees to MongoDB
Paul Robinson
Blending MongoDB and RDBMS for ecommerce
Blending MongoDB and RDBMS for ecommerce
Steven Francia
More Related Content
What's hot
wget.pl
wget.pl
Yasuhiro Onishi
Powerful Analysis with the Aggregation Pipeline
Powerful Analysis with the Aggregation Pipeline
MongoDB
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
Tomohiro Nishimura
php Mailer
php Mailer
Randy Arios
Parallel Computing With Dask - PyDays 2017
Parallel Computing With Dask - PyDays 2017
Christian Aichinger
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
MongoDB
Reading the .explain() Output
Reading the .explain() Output
MongoDB
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
MongoDB
PHP code examples
PHP code examples
programmingslides
php plus mysql
php plus mysql
Jayson de Leon
R57php 1231677414471772-2
R57php 1231677414471772-2
ady36
Schema design short
Schema design short
MongoDB
Data mangling with mongo db the right way [pyconit 2016]
Data mangling with mongo db the right way [pyconit 2016]
Alexander Hendorf
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB
(Ab)Using the MetaCPAN API for Fun and Profit
(Ab)Using the MetaCPAN API for Fun and Profit
Olaf Alders
01 ElasticSearch : Getting Started
01 ElasticSearch : Getting Started
OpenThink Labs
03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out
OpenThink Labs
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
Dev2Dev
PHP Tutorial (funtion)
PHP Tutorial (funtion)
Tinnakorn Puttha
What's hot
(20)
wget.pl
wget.pl
Powerful Analysis with the Aggregation Pipeline
Powerful Analysis with the Aggregation Pipeline
NoSQL を Ruby で実践するための n 個の方法
NoSQL を Ruby で実践するための n 個の方法
php Mailer
php Mailer
Parallel Computing With Dask - PyDays 2017
Parallel Computing With Dask - PyDays 2017
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
Reading the .explain() Output
Reading the .explain() Output
ETL for Pros: Getting Data Into MongoDB
ETL for Pros: Getting Data Into MongoDB
PHP code examples
PHP code examples
php plus mysql
php plus mysql
R57php 1231677414471772-2
R57php 1231677414471772-2
Schema design short
Schema design short
Data mangling with mongo db the right way [pyconit 2016]
Data mangling with mongo db the right way [pyconit 2016]
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Chicago 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
MongoDB .local Toronto 2019: Aggregation Pipeline Power++: How MongoDB 4.2 Pi...
(Ab)Using the MetaCPAN API for Fun and Profit
(Ab)Using the MetaCPAN API for Fun and Profit
01 ElasticSearch : Getting Started
01 ElasticSearch : Getting Started
03. ElasticSearch : Data In, Data Out
03. ElasticSearch : Data In, Data Out
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
Линзы - комбинаторная манипуляция данными Александр Гранин Dev2Dev v2.0 30.05...
PHP Tutorial (funtion)
PHP Tutorial (funtion)
Viewers also liked
Bringing Transactional Guarantees to MongoDB
Bringing Transactional Guarantees to MongoDB
Paul Robinson
Blending MongoDB and RDBMS for ecommerce
Blending MongoDB and RDBMS for ecommerce
Steven Francia
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
Giuseppe Maxia
A Technical Introduction to WiredTiger
A Technical Introduction to WiredTiger
MongoDB
NoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learned
La FeWeb
MongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTiger
WiredTiger
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
Jongwon Kim
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
Steven Francia
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
Steven Francia
Viewers also liked
(9)
Bringing Transactional Guarantees to MongoDB
Bringing Transactional Guarantees to MongoDB
Blending MongoDB and RDBMS for ecommerce
Blending MongoDB and RDBMS for ecommerce
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
A Technical Introduction to WiredTiger
A Technical Introduction to WiredTiger
NoSQL into E-Commerce: lessons learned
NoSQL into E-Commerce: lessons learned
MongoDB World 2015 - A Technical Introduction to WiredTiger
MongoDB World 2015 - A Technical Introduction to WiredTiger
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
Hybrid MongoDB and RDBMS Applications
Hybrid MongoDB and RDBMS Applications
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
Similar to Dropping ACID with MongoDB
Graph Databases
Graph Databases
Josh Adell
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Michael Wales
London XQuery Meetup: Querying the World (Web Scraping)
London XQuery Meetup: Querying the World (Web Scraping)
Dennis Knochenwefel
Ae internals
Ae internals
mnikolenko
20 modules i haven't yet talked about
20 modules i haven't yet talked about
Tatsuhiko Miyagawa
Ten modules I haven't yet talked about
Ten modules I haven't yet talked about
acme
PHP 102: Out with the Bad, In with the Good
PHP 102: Out with the Bad, In with the Good
Jeremy Kendall
Schema design with MongoDB (Dwight Merriman)
Schema design with MongoDB (Dwight Merriman)
MongoSF
Drupal Development (Part 2)
Drupal Development (Part 2)
Jeff Eaton
Daily notes
Daily notes
meghendra168
Php
Php
Linh Tran
Intro to #memtech PHP 2011-12-05
Intro to #memtech PHP 2011-12-05
Jeremy Kendall
Php My Sql
Php My Sql
mussawir20
Exploiting Php With Php
Exploiting Php With Php
Jeremy Coates
Introduction To Moco
Introduction To Moco
Naoya Ito
High-level Web Testing
High-level Web Testing
petersergeant
Further Php
Further Php
Digital Insights - Digital Marketing Agency
Modern Perl
Modern Perl
Marcos Rebelo
Dealing with Legacy Perl Code - Peter Scott
Dealing with Legacy Perl Code - Peter Scott
O'Reilly Media
Secure Coding With Wordpress (BarCamp Orlando 2009)
Secure Coding With Wordpress (BarCamp Orlando 2009)
Mark Jaquith
Similar to Dropping ACID with MongoDB
(20)
Graph Databases
Graph Databases
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
London XQuery Meetup: Querying the World (Web Scraping)
London XQuery Meetup: Querying the World (Web Scraping)
Ae internals
Ae internals
20 modules i haven't yet talked about
20 modules i haven't yet talked about
Ten modules I haven't yet talked about
Ten modules I haven't yet talked about
PHP 102: Out with the Bad, In with the Good
PHP 102: Out with the Bad, In with the Good
Schema design with MongoDB (Dwight Merriman)
Schema design with MongoDB (Dwight Merriman)
Drupal Development (Part 2)
Drupal Development (Part 2)
Daily notes
Daily notes
Php
Php
Intro to #memtech PHP 2011-12-05
Intro to #memtech PHP 2011-12-05
Php My Sql
Php My Sql
Exploiting Php With Php
Exploiting Php With Php
Introduction To Moco
Introduction To Moco
High-level Web Testing
High-level Web Testing
Further Php
Further Php
Modern Perl
Modern Perl
Dealing with Legacy Perl Code - Peter Scott
Dealing with Legacy Perl Code - Peter Scott
Secure Coding With Wordpress (BarCamp Orlando 2009)
Secure Coding With Wordpress (BarCamp Orlando 2009)
Recently uploaded
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
Ravi Sanghani
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
itnewsafrica
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Nikki Chapple
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Neo4j
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
LoriGlavin3
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
panagenda
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
itnewsafrica
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
Wes McKinney
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Cprime
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Kaya Weers
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Ingrid Airi González
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
TopCSSGallery
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Recently uploaded
(20)
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Dropping ACID with MongoDB
1.
2.
Who am I?
3.
what is ?
4.
Application Perl Apache
Linux
5.
Application Perl Database
Apache Linux
6.
Application Perl Apache
Windows
7.
Application Perl Apache
Linux
8.
Application Perl Apache
Linux
9.
Application Perl Apache
Linux
10.
Application The world's
most popular open source database Perl Apache Linux
11.
Application Perl Apache
Linux The world's most advanced open source database
12.
13.
databases contain tables
contain rows
14.
schema databases contain
tables contain rows
15.
schema databases contain
tables contain rows joins
16.
schema databases contain
tables contain rows joins
17.
18.
19.
20.
21.
Application Perl Apache
Linux
22.
getting started
23.
www.mongodb.org
24.
cpan -i MongoDB
25.
$conn = MongoDB::Connection->new;
26.
$conn = MongoDB::Connection->new;
$db = $conn->foo;
27.
$conn = MongoDB::Connection->new;
$db = $conn->foo; NO ADMINISTRATION
28.
$conn = MongoDB::Connection->new;
$db = $conn->foo; $table = $db->bar;
29.
$conn = MongoDB::Connection->new;
$db = $conn->foo; $table = $db->bar;
30.
server
31.
server databases
32.
server databases contain
tables
33.
server databases contain
tables
34.
server databases collections
contain tables
35.
server databases collections
contain tables contain rows
36.
server databases collections
contain tables contain rows
37.
server databases collections
contain tables documents contain rows
38.
server schema databases
collections contain tables documents contain rows
39.
server schema databases
collections contain tables documents contain rows joins
40.
server databases contain
collections contain documents
41.
$conn = MongoDB::Connection->new;
$db = $conn->foo; $collection = $db->bar;
42.
$conn = MongoDB::Connection->new;
$db = $conn->foo; $collection = $db->bar; NO ADMINISTRATION
43.
$conn = MongoDB::Connection->new;
$db = $conn->foo $collection = $db->bar; $doc = {"name" => "kristina", "contact info" => { "twitter" => "@kchodorow", "email" => "kristina@10gen.com" }, "friends" => 400232, "pic" => file_str, "member since" => DateTime->now};
44.
$conn = MongoDB::Connection->new;
$db = $conn->foo $collection = $db->bar; $doc = {"name" => "kristina", "contact info" => { "twitter" => "@kchodorow", "email" => "kristina@10gen.com" }, "friends" => 400232, "pic" => file_str, "member since" => DateTime->now}; $collection->insert($doc);
45.
mongo is type-sensitive
and type-rich
46.
47.
boolean
48.
integer
49.
double
50.
string
51.
array
52.
hash
53.
qr/fobar/i
54.
bindata
55.
DateTime
56.
MongoDB::OID
57.
MongoDB::Code
58.
MongoDB::MinKey
59.
60.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"});
61.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"}); $collection->find({ "member since" => { '$gt' => $yesterday, '$lt' => $now }});
62.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"}); $collection->find({ "member since" => { '$gt' => $yesterday, '$lt' => $now }})->sort({"friends" => 1});
63.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"}); $collection->find({ "member since" => { '$gt' => $yesterday, '$lt' => $now }})->sort({"friends" => 1})->limit(10);
64.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"}); $collection->find({ "member since" => { '$gt' => $yesterday, '$lt' => $now }})->sort({"friends" => 1})->limit(10) ->skip(100);
65.
$collection->find_one({
"name" => "kristina"}); $collection->find_one({ "contact.twitter" => "@kchodorow"}); $cursor = $collection->find({ "member since" => { '$gt' => $yesterday, '$lt' => $now }})->sort({"friends" => 1})->limit(10) ->skip(100);
66.
while (my $doc
= $cursor->next) { # ... } my @results = $cursor->all;
67.
x < 3
{"x" => {'$lt' => 3}}
68.
$gt $lte $ne
$mod $exists $type ...
69.
$collection->update(
{"name" => "kristina"},
70.
$collection->update(
{"name" => "kristina"}, {'$set' =>
71.
$collection->update(
{"name" => "kristina"}, {'$set' => {"contact.website" => "snailinaturtleneck.com" }});
72.
73.
in-place (when possible)
74.
able to create
and delete fields
75.
76.
77.
78.
$set $inc $push
$pop $pull ...
79.
$set $inc $push
$pop $pull ...
80.
$set $inc $push
$pop $pull ...
81.
$set $inc $push
$pop $pull ...
82.
"$gte"
83.
"<null>"
84.
""
85.
'$gte' or "gte"
86.
Or define your
own! ":gte" "=gte" "?gte"
87.
Or define your
own! " gte"
88.
Or define your
own! " gte" " ♕ gte"
89.
Or define your
own! " gte" " ♕ gte" "xgte"
90.
features
91.
I suddenly have
a deep love for stored procedures
92.
I suddenly have
a deep love for stored procedures now with stored procedures!
93.
$db->system->js->insert({
"_id" => "x", "value" => 3}); $db->system->js->insert({ "_id" => "y", "value" => 4}); $db->eval("return x+y");
94.
my $log =
<<<LOG function(msg, level) { var date = "[" + new Date() + "] "; varlvl = level ? level+" " : ""; print(date + lvl + msg); } LOG; $db->system->js->insert({ "_id" => "log", "value" => $log});
95.
$db->eval("log('all your base
are belong to us', 'FATAL');");
96.
$db->eval("log('all your base
are belong to us', 'FATAL');"); [Fri May 19 18:34:57] FATAL all your base are belong to us
97.
98.
99.
J J J
J J J J J J
100.
101.
$metadata = {
"_id" => " " "date" => DateTime->now "downloads" => 0, "user" => $userId, "filename" => "rickroll.flv" } J
102.
$grid = $db->get_gridfs;
$grid->put($fh, $metadata);
103.
$grid = $db->get_gridfs;
$grid->put($fh, $metadata); $file = $grid->find_one({ "filename" => qr/rickroll/i });
104.
$grid = $db->get_gridfs;
$grid->put($fh, $metadata); $file = $grid->find_one({ "filename" => qr/rickroll/i }); $file->print($fh2);
105.
106.
Unlimited metadata
107.
Millions of files
per directory
108.
Random access
109.
110.
111.
$coll->insert({location => (-40,
78)});
112.
$coll->insert({location => (-40,
78)}); $coll->find({location => { '$near' => (-40, 77)}})
113.
$coll->insert({location => (-40,
78)}); $coll->find({location => { '$near' => (-40, 77)}})->limit(10)
114.
what doesn't it
have?
115.
transactions
116.
are you practicing
safe data storage?
117.
118.
Insert this. Okay,
got it. Phew, my data's safe.
119.
Write this to
disk I know better than he does, I'll just let this sit in a buffer for a while. All over it!
120.
121.
? I have
no idea what you're talking about.
122.
trust no one!
...trust a bunch of ones. Mostly.
123.
prod1.example.com prod2.example.com
124.
prod1.example.com prod2.example.com
125.
prod1.example.com prod2.example.com
126.
prod2.example.com prod1.example.com
127.
128.
prod1.example.com prod2.example.com
129.
prod1.example.com prod2.example.com
130.
prod1.example.com ? prod2.example.com
131.
prod1.example.com prod2.example.com
132.
? prod1.example.com prod2.example.com
133.
prod1.example.com prod2.example.com
134.
prod1.example.com prod2.example.com
135.
primary secondary secondary
passive
136.
137.
138.
139.
140.
okay
141.
?
142.
make sure two
slaves have this
143.
144.
145.
146.
all set
147.
148.
149.
EXCEPTION
150.
EXCEPTION
151.
EXCEPTION
152.
153.
$conn->w(3); $collection->insert({"x" =>
1}, {"safe" => 1});
154.
scaling
155.
156.
sometimes read-only
157.
sometimes read-only sometimes
inconsistent
158.
U - Z
K - O A - E F - J P - T
159.
U - Z
K - O A - E F - J P - T
160.
U - Z
K - O A - E F - J P - T
161.
162.
mongod mongod mongod
config mongos
163.
mongod mongod mongod
mongos I want posts from April 2009 - June 2009
164.
mongod mongod mongod
April and May is on #2. June is on #3. mongos
165.
mongod mongod mongod
mongos
166.
mongod mongod mongod
mongos
167.
mongod mongod mongod
mongos Add this post for March 26, 2010.
168.
mongod mongod mongod
#3 hold June 2009-present mongos
169.
mongod mongod mongod
config So, what's going on? mongos
170.
mongod mongod mongod
config mongos
171.
$conn = MongoDB::Connection->new;
# ...
172.
173.
try.mongodb.org
174.
www.mongodb.org
175.
thank you! @kchodorow
http://www.snailinaturtleneck.com
Editor's Notes
MongoDB is fast for especially k/v pair lookupFast inserts - send-and-forgetIn-place updates
MongoDB is fast for especially k/v pair lookupFast inserts - send-and-forgetIn-place updates
MongoDB is document oriented
Read performance
Download now