<?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: How we got rid of the database&#8211;part 2</title>
	<atom:link href="http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/</link>
	<description>Blog about architectural patterns, best practices, coding principles and techniques</description>
	<lastBuildDate>Wed, 22 May 2013 12:15:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Rinat Abdullin</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-515</link>
		<dc:creator>Rinat Abdullin</dc:creator>
		<pubDate>Thu, 05 Jul 2012 02:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-515</guid>
		<description>@nyxiscoo1:disqus , failure detection is handled at slightly higher level in this approach. In essence, if server blows up, while we are in the middle of message processing (either command message or event message), then this will mean that message itself was not handled (and hence not removed from the queue). 
This will mean that next time server starts up - it will automatically try to process the message again, hitting the failed event store and throwing up a real exception.

BTW, I&#039;m currently testing alpha version of the next version of file event store, which should be able to provide better performance and better handling of random server fails. Latest version is currently available in lokad-iddd-sample at github.

</description>
		<content:encoded><![CDATA[<p>@nyxiscoo1:disqus , failure detection is handled at slightly higher level in this approach. In essence, if server blows up, while we are in the middle of message processing (either command message or event message), then this will mean that message itself was not handled (and hence not removed from the queue). <br />
This will mean that next time server starts up &#8211; it will automatically try to process the message again, hitting the failed event store and throwing up a real exception.</p>
<p>BTW, I&#8217;m currently testing alpha version of the next version of file event store, which should be able to provide better performance and better handling of random server fails. Latest version is currently available in lokad-iddd-sample at github.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-513</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 04 Jul 2012 18:37:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-513</guid>
		<description> Since I did not yet have any time to verify your findings I forwarded your concern to the author of the Lokad.CQRS &quot;framework&quot; Rinat Abdullin. I will also have another look myself.</description>
		<content:encoded><![CDATA[<p> Since I did not yet have any time to verify your findings I forwarded your concern to the author of the Lokad.CQRS &#8220;framework&#8221; Rinat Abdullin. I will also have another look myself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-512</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Wed, 04 Jul 2012 18:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-512</guid>
		<description>Hi Gabriel,
I&#039;ve looked at FileTapeStream and other implementation of storages at Lokad.CQRS, and it turned out thet they are absolutely not fail safe.

For example: if unexpected system reboot occured at the time of writing event, and last record was just partially written, FileTapeStream will throw exception on attempt to load such file. And as a result of using one file per aggreagation root you&#039;ll receive this error only next time this root will be addressed.

Have you any mechanism to prevent this?

Sorry for my english)</description>
		<content:encoded><![CDATA[<p>Hi Gabriel,<br />
I&#8217;ve looked at FileTapeStream and other implementation of storages at Lokad.CQRS, and it turned out thet they are absolutely not fail safe.</p>
<p>For example: if unexpected system reboot occured at the time of writing event, and last record was just partially written, FileTapeStream will throw exception on attempt to load such file. And as a result of using one file per aggreagation root you&#8217;ll receive this error only next time this root will be addressed.</p>
<p>Have you any mechanism to prevent this?</p>
<p>Sorry for my english)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-471</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 15 Jun 2012 16:15:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-471</guid>
		<description> gnschenker at gmail dot com</description>
		<content:encoded><![CDATA[<p> gnschenker at gmail dot com</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikos Maravitsas</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-470</link>
		<dc:creator>Nikos Maravitsas</dc:creator>
		<pubDate>Fri, 15 Jun 2012 14:46:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-470</guid>
		<description>Hi Gabriel,

Great post! Is there an email address I can contact you in private?</description>
		<content:encoded><![CDATA[<p>Hi Gabriel,</p>
<p>Great post! Is there an email address I can contact you in private?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-468</link>
		<dc:creator>Nick</dc:creator>
		<pubDate>Fri, 15 Jun 2012 07:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-468</guid>
		<description>I&#039;ll wait till you&#039;ve finished your posts and I understand it better before I ask more questions.

See you soon :)</description>
		<content:encoded><![CDATA[<p>I&#8217;ll wait till you&#8217;ve finished your posts and I understand it better before I ask more questions.</p>
<p>See you soon <img src='http://lostechies.com/gabrielschenker/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-464</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 14 Jun 2012 16:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-464</guid>
		<description> I do not yet know how many posts will follow. This is not a book where I have to pre-plan the chapters ;)
The color schema is the dark them in Visual Studio 2012</description>
		<content:encoded><![CDATA[<p> I do not yet know how many posts will follow. This is not a book where I have to pre-plan the chapters <img src='http://lostechies.com/gabrielschenker/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
The color schema is the dark them in Visual Studio 2012</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-465</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 14 Jun 2012 16:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-465</guid>
		<description> Reporting follows the exact same principles are querying for the screen - just the screen is replaced by paper and the output is usually much longer (many pages)</description>
		<content:encoded><![CDATA[<p> Reporting follows the exact same principles are querying for the screen &#8211; just the screen is replaced by paper and the output is usually much longer (many pages)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-463</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Thu, 14 Jun 2012 15:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-463</guid>
		<description>I really like this series! How many parts are you planning to write? A little off but I like your color theme. What&#039;s its name?</description>
		<content:encoded><![CDATA[<p>I really like this series! How many parts are you planning to write? A little off but I like your color theme. What&#8217;s its name?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-462</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Thu, 14 Jun 2012 13:21:00 +0000</pubDate>
		<guid isPermaLink="false">http://lostechies.com/gabrielschenker/2012/06/13/how-we-got-rid-of-the-databasepart-2/#comment-462</guid>
		<description> Usually the write side is not the first thing you need to scale since write operations are much less frequent than read operations (at least a factor of 1 to 10!). If you still need to scale the write side you can partition by e.g. aggregate type</description>
		<content:encoded><![CDATA[<p> Usually the write side is not the first thing you need to scale since write operations are much less frequent than read operations (at least a factor of 1 to 10!). If you still need to scale the write side you can partition by e.g. aggregate type</p>
]]></content:encoded>
	</item>
</channel>
</rss>
