Submit Search
Upload
Dropping ACID with MongoDB
•
Download as PPTX, PDF
•
14 likes
•
2,565 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
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
Recently uploaded
(20)
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Slack Application Development 101 Slides
Slack Application Development 101 Slides
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
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