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
Slideshow view
Report
Share
Slideshow view
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
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
ngoud9212
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
The Digital Insurer
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
Neo4j
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
null - The Open Security Community
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Deakin University
Recently uploaded
(20)
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
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