<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Brian Olore Story &#187; monogodb</title>
	<atom:link href="http://brian.olore.net/wp/tag/monogodb/feed/" rel="self" type="application/rss+xml" />
	<link>http://brian.olore.net</link>
	<description>Less of a story, more of a brain dump</description>
	<lastBuildDate>Sun, 18 Dec 2011 17:19:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>RailsConf &#8211; Day 3 &#8211; Million Dollar Mongo</title>
		<link>http://brian.olore.net/wp/2010/06/railsconf-day-3-million-dollar-mongo/</link>
		<comments>http://brian.olore.net/wp/2010/06/railsconf-day-3-million-dollar-mongo/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 15:44:59 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[monogodb]]></category>
		<category><![CDATA[railsconf]]></category>

		<guid isPermaLink="false">http://brian.olore.net/?p=178</guid>
		<description><![CDATA[Million Dollar Mongo - Obie Fernandez (Hashrocket), Durran Jordan (Hashrocket) mongo was a good choice because only one patient record was worked on at a time get entire object graph in a single query previously did 35 joins and took 20 minutes to return comparison between mongo, couch &#38; cassandra big selling point was dynamic [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.oreilly.com/rails2010/public/schedule/detail/11265">Million Dollar Mongo</a> -<a href="http://en.oreilly.com/rails2010/public/schedule/speaker/2747"> Obie  Fernandez</a> (Hashrocket),  	 	  		<a href="http://en.oreilly.com/rails2010/public/schedule/speaker/70573">Durran  Jordan</a> (Hashrocket)<br />
mongo was a good choice because only one patient record was worked on at a time</p>
<p>get entire object graph in a single query<br />
previously did 35 joins and took 20 minutes to return</p>
<p>comparison between mongo, couch &amp; cassandra<br />
big selling point was dynamic queries &#8211; nice happy medium when coming from relational databases<br />
&#8220;I don&#8217;t want to write any more ****** XML, so goodbye Cassandra&#8221;</p>
<p>No universal agreement that a NOSQL solution was the right idea</p>
<p>&#8220;Easiest database to install ever (except maybe Redis)&#8221;<br />
No schema migrations</p>
<p>Forked MongoMapper -&gt; Monoid<br />
- MongoMapper was very young</p>
<p>Mongoid<br />
- Prefers Embedding Documents<br />
- Atomic Operations by Default, based on attribute changes<br />
- rich criteria api<br />
- master/slave suppor<br />
- simple versioning<br />
- is NOT ActiveRecord (and should be treated as such)<br />
- Features always have performance in mind</p>
<p>mongo &#8211; can index in background as of 1.4<br />
regex queries on fields<br />
Denormalization is acceptable, embed as much as possible (no FK constraints)</p>
<p>Hybrid DB model<br />
- Hierarchical Data Stored in MongoDB<br />
- Relational Data stored in MySQL<br />
- Data that required transactions stored in MySQL<br />
- Simple Data in Redis<br />
- Favor suitability over simplicity</p>
<p>It&#8217;s ok to use more than one datastore</p>
<p>Working without transactions<br />
- Atomic updates generally cover you<br />
- fairly easy to roll your own optimistic locking<br />
- need to do manual rollback in integration tests<br />
- selenium tests can run in a separate process</p>
<p>in production<br />
- deployed on engine yard cloud / ec2<br />
- 0.5 TB of data<br />
- put mongodb on it&#8217;s own utility space<br />
- feed it lots of ram, lots of disk space<br />
- chef scripts easy due to simple installation</p>
]]></content:encoded>
			<wfw:commentRss>http://brian.olore.net/wp/2010/06/railsconf-day-3-million-dollar-mongo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

