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
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
hariprasad279825
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Zilliz
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Zilliz
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Recently uploaded
(20)
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
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