<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Building a high volume app without a RDMS or Domain objects</title>
	<atom:link href="http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/feed/" rel="self" type="application/rss+xml" />
	<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/</link>
	<description>Thoughts on poker, programming and other stuff.</description>
	<pubDate>Sun, 07 Sep 2008 14:36:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Joe</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-6915</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Mon, 05 May 2008 15:45:08 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-6915</guid>
		<description>Hello,

Your RSS button seems kinda tiny. Can you make it a little bigger?

Thanks,
Joe</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>Your RSS button seems kinda tiny. Can you make it a little bigger?</p>
<p>Thanks,<br />
Joe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DAR</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-2276</link>
		<dc:creator>DAR</dc:creator>
		<pubDate>Thu, 23 Aug 2007 18:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-2276</guid>
		<description>One other issue with this setup from a more practical perspective - the choice of S3 itself carries some potential negative consequences with it:

* It *does* have outages from time to time.  If you're using it as the backing store of a high-volume web app, then when it goes down your app goes down.  Probably best not to tie your site's reliability to AWS's.  Most web companies that use S3 (e.g., SmugMug) use it as backup or "cold" storage for that reason.

* There's propagation latency inherent to S3.  So if one of your EC2 instances stores something to S3, other instances might not see it for a while until it propagates through.</description>
		<content:encoded><![CDATA[<p>One other issue with this setup from a more practical perspective - the choice of S3 itself carries some potential negative consequences with it:</p>
<p>* It *does* have outages from time to time.  If you&#8217;re using it as the backing store of a high-volume web app, then when it goes down your app goes down.  Probably best not to tie your site&#8217;s reliability to AWS&#8217;s.  Most web companies that use S3 (e.g., SmugMug) use it as backup or &#8220;cold&#8221; storage for that reason.</p>
<p>* There&#8217;s propagation latency inherent to S3.  So if one of your EC2 instances stores something to S3, other instances might not see it for a while until it propagates through.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thoughts on Computing &#187; Blog Archive &#187; Scaling Digg &#8230; Shards and the DB</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1244</link>
		<dc:creator>Thoughts on Computing &#187; Blog Archive &#187; Scaling Digg &#8230; Shards and the DB</dc:creator>
		<pubDate>Wed, 09 May 2007 13:19:49 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1244</guid>
		<description>[...] As Frank Sommers discusses in this post and Robert McIntosh contends in here, much can be done for apps like Digg without even thinking of the database. While their comments start along the right path (even though I don&#8217;t agree with all of their observations), they necessarily pull up short of what&#8217;s possible. You may be wondering why I say &#8220;necessarily pull up short&#8221; &#8230; and that&#8217;s definitely a fair question. [...]</description>
		<content:encoded><![CDATA[<p>[...] As Frank Sommers discusses in this post and Robert McIntosh contends in here, much can be done for apps like Digg without even thinking of the database. While their comments start along the right path (even though I don&#8217;t agree with all of their observations), they necessarily pull up short of what&#8217;s possible. You may be wondering why I say &#8220;necessarily pull up short&#8221; &#8230; and that&#8217;s definitely a fair question. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Lozano</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1157</link>
		<dc:creator>Bob Lozano</dc:creator>
		<pubDate>Mon, 30 Apr 2007 16:03:51 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1157</guid>
		<description>Many good thoughts in this thread, interesting to consider in light of how Digg and other similar sites are scaling etc. I think that assuming no db is a great formalism (see where it takes you and all that), but not the whole picture. In &lt;a href="http://www.appistry.com/blogs/bob/architecture/scaling-digg-shards-and-the-db/" rel="nofollow"&gt;this post&lt;/a&gt; I start to think down the "this is good, what else might help"  parth a bit.

Thx for exploring this point - it's definitely time to figure out how to scale the both the data layer and the apps that depend on them cheaper &#38; easier.</description>
		<content:encoded><![CDATA[<p>Many good thoughts in this thread, interesting to consider in light of how Digg and other similar sites are scaling etc. I think that assuming no db is a great formalism (see where it takes you and all that), but not the whole picture. In <a href="http://www.appistry.com/blogs/bob/architecture/scaling-digg-shards-and-the-db/" rel="nofollow">this post</a> I start to think down the &#8220;this is good, what else might help&#8221;  parth a bit.</p>
<p>Thx for exploring this point - it&#8217;s definitely time to figure out how to scale the both the data layer and the apps that depend on them cheaper &amp; easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Putting my non-RDMBS idea to the test &#187; Thinking Outloud</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1143</link>
		<dc:creator>Putting my non-RDMBS idea to the test &#187; Thinking Outloud</dc:creator>
		<pubDate>Fri, 27 Apr 2007 21:36:14 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1143</guid>
		<description>[...] I&#8217;ve been investigating the Amazon S3 service for while now and even opined about building a scalable application that used that service for data storage instead of a relational database. In my article, Building a high volume app without a RDBMS or domain objects, I talked about using a relatively simple flat file format such as XML to store the data in S3 and combined with the right kind of caching, have a reliable, performant and scalable application. [...]</description>
		<content:encoded><![CDATA[<p>[...] I&#8217;ve been investigating the Amazon S3 service for while now and even opined about building a scalable application that used that service for data storage instead of a relational database. In my article, Building a high volume app without a RDBMS or domain objects, I talked about using a relatively simple flat file format such as XML to store the data in S3 and combined with the right kind of caching, have a reliable, performant and scalable application. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Bull</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1125</link>
		<dc:creator>The Bull</dc:creator>
		<pubDate>Thu, 26 Apr 2007 00:05:46 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1125</guid>
		<description>Thanks for the comment Steve. I completely agree that RDBM's have lots to offer and you mention only a fraction of them. My thoughts were along the lines of those apps that don't need the things that a RDBMS is really good at, like transactions. Databases can be good for caches (such as MySQL's in memory tables and such), and other things that can be done with other systems.

relational databases are just so common these days that I was curious about other alternatives.</description>
		<content:encoded><![CDATA[<p>Thanks for the comment Steve. I completely agree that RDBM&#8217;s have lots to offer and you mention only a fraction of them. My thoughts were along the lines of those apps that don&#8217;t need the things that a RDBMS is really good at, like transactions. Databases can be good for caches (such as MySQL&#8217;s in memory tables and such), and other things that can be done with other systems.</p>
<p>relational databases are just so common these days that I was curious about other alternatives.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Wilmot</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1124</link>
		<dc:creator>Steven Wilmot</dc:creator>
		<pubDate>Wed, 25 Apr 2007 23:24:34 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1124</guid>
		<description>Although I'm a database consultant (and make a living from advising clients on appropriate use of an RDBMS, so this article was an interesting read.

I agree  with Jon Frisby's earlier comments that discarding the database entirely  isn’t necessarily a good thing.

For large systems like the ones mentioned, each technology has its own place.
- File-system storage and storing multiple copies of data (stored initially by a natural key) are a good way to start.
- Large-scale caching systems will read-only replicated copies of the database (or appropriate sections of it) also have their place.
- However, even in these situations, RDBMS systems still offer advantages such as proper transacional locking on concurren access (perhaps of configuration-settings or financial management)

Many articles that I've read today seem to start by suggesting that their particular design paradigm is (or could be made) applicable as the solution to too many problems.

The successful systems seem to be the ones that don't try a "one solution fits all" approach, but instead only use RDBMS systems in appropriate places, making the bast use of caching, queued-updates, and replication, using each technology to its own advantage.</description>
		<content:encoded><![CDATA[<p>Although I&#8217;m a database consultant (and make a living from advising clients on appropriate use of an RDBMS, so this article was an interesting read.</p>
<p>I agree  with Jon Frisby&#8217;s earlier comments that discarding the database entirely  isn’t necessarily a good thing.</p>
<p>For large systems like the ones mentioned, each technology has its own place.<br />
- File-system storage and storing multiple copies of data (stored initially by a natural key) are a good way to start.<br />
- Large-scale caching systems will read-only replicated copies of the database (or appropriate sections of it) also have their place.<br />
- However, even in these situations, RDBMS systems still offer advantages such as proper transacional locking on concurren access (perhaps of configuration-settings or financial management)</p>
<p>Many articles that I&#8217;ve read today seem to start by suggesting that their particular design paradigm is (or could be made) applicable as the solution to too many problems.</p>
<p>The successful systems seem to be the ones that don&#8217;t try a &#8220;one solution fits all&#8221; approach, but instead only use RDBMS systems in appropriate places, making the bast use of caching, queued-updates, and replication, using each technology to its own advantage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scaling Without A Database &#171; François Schiettecatte&#8217;s Blog</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1122</link>
		<dc:creator>Scaling Without A Database &#171; François Schiettecatte&#8217;s Blog</dc:creator>
		<pubDate>Wed, 25 Apr 2007 22:03:11 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1122</guid>
		<description>[...] Scaling Without A&#160;Database  Before I wrote up an article entitled &#8220;Scaling and Uptime&#8221;, I came across another article by Frank Sommers entitled &#8220;Scaling Without A Database&#8221; which is well worth reading. It is a take on another article by Robert McIntosh entitled &#8220;Building a high volume app without a RDMS or Domain objects.&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] Scaling Without A&nbsp;Database  Before I wrote up an article entitled &#8220;Scaling and Uptime&#8221;, I came across another article by Frank Sommers entitled &#8220;Scaling Without A Database&#8221; which is well worth reading. It is a take on another article by Robert McIntosh entitled &#8220;Building a high volume app without a RDMS or Domain objects.&#8221; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pragmatic Dictator &#187; Blog Archive &#187; When Esoteric Becomes Mainstream</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1069</link>
		<dc:creator>Pragmatic Dictator &#187; Blog Archive &#187; When Esoteric Becomes Mainstream</dc:creator>
		<pubDate>Sun, 15 Apr 2007 17:17:08 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1069</guid>
		<description>[...] There&#8217;s been a lot of chatter recently in the blogosphere about the technical direction of the database. This discussion has been ongoing for some time and dates back to at least Bosworth&#8217;s utterings. [...]</description>
		<content:encoded><![CDATA[<p>[...] There&#8217;s been a lot of chatter recently in the blogosphere about the technical direction of the database. This discussion has been ongoing for some time and dates back to at least Bosworth&#8217;s utterings. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Bull</title>
		<link>http://thebull.macsimumweb.com/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1060</link>
		<dc:creator>The Bull</dc:creator>
		<pubDate>Fri, 13 Apr 2007 21:11:37 +0000</pubDate>
		<guid isPermaLink="false">http://thebull.macsimumweb.com/2007/04/04/building-a-high-volume-app-without-a-rdms-or-domain-objects/#comment-1060</guid>
		<description>The replicate to a read-only db is rather common, and one could argue that you could accomplish this withing MySQL without having to actually replicate since MySQL's default engine is optimized for reads anyway. Replicating would distribute the load however.

I've seen how eBay partitions their system and it is pretty slick and complicated. As for keys, this is one of the reasons I don't like DB generated keys.</description>
		<content:encoded><![CDATA[<p>The replicate to a read-only db is rather common, and one could argue that you could accomplish this withing MySQL without having to actually replicate since MySQL&#8217;s default engine is optimized for reads anyway. Replicating would distribute the load however.</p>
<p>I&#8217;ve seen how eBay partitions their system and it is pretty slick and complicated. As for keys, this is one of the reasons I don&#8217;t like DB generated keys.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
