<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Read Consistency: Dumb Databases, Smart Services</title>
	<atom:link href="http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/</link>
	<description></description>
	<lastBuildDate>Thu, 18 Mar 2010 02:32:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Eric</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-141518</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Wed, 29 Oct 2008 13:07:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-141518</guid>
		<description>Very nice Assaf!  Thanks.</description>
		<content:encoded><![CDATA[<p>Very nice Assaf!  Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MikeD</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-140431</link>
		<dc:creator>MikeD</dc:creator>
		<pubDate>Thu, 01 May 2008 00:40:33 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-140431</guid>
		<description>&quot;Goes without mention that I won’t even dream of duplicating product details inside the order, or listing orders inside a product record.&quot;
You at least need to record the version of the product purchased (not to mention the seller, etc.) in case someone changes the title later.
Which leads into why a storage service that natively supports versions is pretty useful.</description>
		<content:encoded><![CDATA[<p>&#8220;Goes without mention that I won’t even dream of duplicating product details inside the order, or listing orders inside a product record.&#8221;<br />
You at least need to record the version of the product purchased (not to mention the seller, etc.) in case someone changes the title later.<br />
Which leads into why a storage service that natively supports versions is pretty useful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scaling Databases and Google&#8217;s App Engine at robubu</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-140320</link>
		<dc:creator>Scaling Databases and Google&#8217;s App Engine at robubu</dc:creator>
		<pubDate>Mon, 14 Apr 2008 03:42:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-140320</guid>
		<description>[...] Assaf Arkin: if anything I wrote sounds vaguely familiar because you somehow managed to dumb your RDBMS into storing structured data in BLOBs, added versions and timestamps on all records, grappled with minimizing transactions and locks, denormalized data like there’s no tomorrow, or relied too much on a message queue, then time to rethink. Are you using a hammer to polish your china? (Tip: not a good idea, invest in soft cloth) [...]</description>
		<content:encoded><![CDATA[<p>[...] Assaf Arkin: if anything I wrote sounds vaguely familiar because you somehow managed to dumb your RDBMS into storing structured data in BLOBs, added versions and timestamps on all records, grappled with minimizing transactions and locks, denormalized data like there’s no tomorrow, or relied too much on a message queue, then time to rethink. Are you using a hammer to polish your china? (Tip: not a good idea, invest in soft cloth) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Internet-Scale Services &#171; Todor Ivanov&#8217;s Weblog</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-140240</link>
		<dc:creator>Internet-Scale Services &#171; Todor Ivanov&#8217;s Weblog</dc:creator>
		<pubDate>Sat, 05 Apr 2008 19:24:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-140240</guid>
		<description>[...] interesting post following the database topic I found in Labnotes blog is Read Consistency: Dumb Databases, Smart Services - the article is a bit longer but there are good points reminding us what is important in DB world. [...]</description>
		<content:encoded><![CDATA[<p>[...] interesting post following the database topic I found in Labnotes blog is Read Consistency: Dumb Databases, Smart Services &#8211; the article is a bit longer but there are good points reminding us what is important in DB world. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Internet-Scale Services &#171; Todor Ivanov&#8217;s Weblog</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-140037</link>
		<dc:creator>Internet-Scale Services &#171; Todor Ivanov&#8217;s Weblog</dc:creator>
		<pubDate>Wed, 26 Mar 2008 12:23:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-140037</guid>
		<description>[...] interesting post following the database topic I found in Labnotes blog is Read Consistency: Dumb Databases, Smart Services - the article is a bit longer but there are good points reminding us what is important in DB [...]</description>
		<content:encoded><![CDATA[<p>[...] interesting post following the database topic I found in Labnotes blog is Read Consistency: Dumb Databases, Smart Services &#8211; the article is a bit longer but there are good points reminding us what is important in DB [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oleg Andreev</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-140031</link>
		<dc:creator>Oleg Andreev</dc:creator>
		<pubDate>Tue, 25 Mar 2008 00:36:43 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-140031</guid>
		<description>Great post, Assaf!

StrokeDB is an attempt to address all the issues, described in this post. Check it out on strokedb.com</description>
		<content:encoded><![CDATA[<p>Great post, Assaf!</p>
<p>StrokeDB is an attempt to address all the issues, described in this post. Check it out on strokedb.com</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Giles Bowkett</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-139696</link>
		<dc:creator>Giles Bowkett</dc:creator>
		<pubDate>Thu, 24 Jan 2008 15:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-139696</guid>
		<description>on structured search, find and listen to Clay Shirky&#039;s talk &quot;Ontology Is Overrated&quot; on IT Conversations dot com. the difference between structured search interfaces and simple type it-see it search bars was the difference between Yahoo&#039;s loss of the number one spot and Google&#039;s ability to take it and keep it.</description>
		<content:encoded><![CDATA[<p>on structured search, find and listen to Clay Shirky&#8217;s talk &#8220;Ontology Is Overrated&#8221; on IT Conversations dot com. the difference between structured search interfaces and simple type it-see it search bars was the difference between Yahoo&#8217;s loss of the number one spot and Google&#8217;s ability to take it and keep it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Assaf</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-139529</link>
		<dc:creator>Assaf</dc:creator>
		<pubDate>Mon, 14 Jan 2008 07:29:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-139529</guid>
		<description>lubosh, there&#039;s a delay between the app adding the record (or changing an existing one), and all the database nodes reaching consensus to show the new record (or the update).

The update feed can (and should) deal with that consensus by ordering records as hey become available, so B will show up followed by A.  Remember, the delay is not measured in hours, but in milliseconds, a simple consensus algorithm can take care of that.</description>
		<content:encoded><![CDATA[<p>lubosh, there&#8217;s a delay between the app adding the record (or changing an existing one), and all the database nodes reaching consensus to show the new record (or the update).</p>
<p>The update feed can (and should) deal with that consensus by ordering records as hey become available, so B will show up followed by A.  Remember, the delay is not measured in hours, but in milliseconds, a simple consensus algorithm can take care of that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lubosh</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-139527</link>
		<dc:creator>lubosh</dc:creator>
		<pubDate>Mon, 14 Jan 2008 04:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-139527</guid>
		<description>Hi Assaf, very interesting read but update feeds are more complicated problem. some changes might take longer to become fully available to all nodes, so your client application might miss on those.

for example,
- record A gets created
- record B gets created
- record B will get available to all nodes
my client application will pull updates (only record B) and remembers time of last update
- record A will get available to all nodes

in this case record A will never get noticed because of its earlier timestamp.

how would you deal with this problem? perhaps only message queues so we don&#039;t depend on time unit.</description>
		<content:encoded><![CDATA[<p>Hi Assaf, very interesting read but update feeds are more complicated problem. some changes might take longer to become fully available to all nodes, so your client application might miss on those.</p>
<p>for example,<br />
- record A gets created<br />
- record B gets created<br />
- record B will get available to all nodes<br />
my client application will pull updates (only record B) and remembers time of last update<br />
- record A will get available to all nodes</p>
<p>in this case record A will never get noticed because of its earlier timestamp.</p>
<p>how would you deal with this problem? perhaps only message queues so we don&#8217;t depend on time unit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Plasmoid</title>
		<link>http://labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/comment-page-1/#comment-138922</link>
		<dc:creator>Plasmoid</dc:creator>
		<pubDate>Tue, 27 Nov 2007 04:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labnotes.org/2007/09/20/read-consistency-dumb-databases-smart-services/#comment-138922</guid>
		<description>Well, that&#039;s a nice pool of random ideas.
Unfortunately you gloss over hard problems as if they were trivially solved...
Distributed Indexes, &quot;Partitioning is something that happens, not something you have to work hard for&quot; etc.

What would really help to get an idea of what you&#039;re after
would be some examples with pseudocode.

What exactly happens on INSERT, UPDATE, DELETE, SELECT - what is read/written, and from/to where?
What happens when one node in your Cluster fails? (n-copies, or what?)
How exactly does the partitioning &quot;just happen&quot;?
How does the distributed index work?
How do aggregate queries work?

In some paragraphs you make it sound like you know some magic bullet, something
in between a stream oriented db and a distributed rdbms, in other paragraphs
you just sound like you have no idea what you&#039;re talking about at all...</description>
		<content:encoded><![CDATA[<p>Well, that&#8217;s a nice pool of random ideas.<br />
Unfortunately you gloss over hard problems as if they were trivially solved&#8230;<br />
Distributed Indexes, &#8220;Partitioning is something that happens, not something you have to work hard for&#8221; etc.</p>
<p>What would really help to get an idea of what you&#8217;re after<br />
would be some examples with pseudocode.</p>
<p>What exactly happens on INSERT, UPDATE, DELETE, SELECT &#8211; what is read/written, and from/to where?<br />
What happens when one node in your Cluster fails? (n-copies, or what?)<br />
How exactly does the partitioning &#8220;just happen&#8221;?<br />
How does the distributed index work?<br />
How do aggregate queries work?</p>
<p>In some paragraphs you make it sound like you know some magic bullet, something<br />
in between a stream oriented db and a distributed rdbms, in other paragraphs<br />
you just sound like you have no idea what you&#8217;re talking about at all&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
