<?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: More Entity Framework thoughts</title>
	<atom:link href="http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Wed, 22 May 2013 13:39: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: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-477</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Wed, 21 May 2008 01:24:20 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-477</guid>
		<description>@Darrel

Wanted to reply directly through your blog...oh well, comment will have to do!

First off, I&#039;d like to separate the idea of querying/searching from reporting.  These are two different use cases, and most likely different user roles.  Perhaps analyst and sales reps for example.

Querying is a valid concern, where I&#039;m returning back one or more entities that belong to you.  Writes need to be fast here.

Reporting is a different concern, where I&#039;m returning aggregated, de-normalized information optimized for reading, grouping, and quickly analyzing.

In this scenario, a separate reporting database is definitely a separation of concerns.  Reporting users will want their data a certain way.  Maybe # of orders this month, grouped by Region, then by State.  That&#039;s not something easily done in a transactional manner.

Different users, different user roles, different concerns..that need to be separated?  Anyway, most of the time I&#039;ll put the reporting database riiiiight next to the transactional one.  Logical != physical modeling, right?

It is an optimization, but an optimization about the &quot;Asks&quot; I&#039;ll get from either user type.  The reporting user will want good aggregation, while the querying user wants fast searching (and fast writes).  I&#039;d rather not compromise one user&#039;s concerns because it contradicts the other.

Hope this helps!</description>
		<content:encoded><![CDATA[<p>@Darrel</p>
<p>Wanted to reply directly through your blog&#8230;oh well, comment will have to do!</p>
<p>First off, I&#8217;d like to separate the idea of querying/searching from reporting.  These are two different use cases, and most likely different user roles.  Perhaps analyst and sales reps for example.</p>
<p>Querying is a valid concern, where I&#8217;m returning back one or more entities that belong to you.  Writes need to be fast here.</p>
<p>Reporting is a different concern, where I&#8217;m returning aggregated, de-normalized information optimized for reading, grouping, and quickly analyzing.</p>
<p>In this scenario, a separate reporting database is definitely a separation of concerns.  Reporting users will want their data a certain way.  Maybe # of orders this month, grouped by Region, then by State.  That&#8217;s not something easily done in a transactional manner.</p>
<p>Different users, different user roles, different concerns..that need to be separated?  Anyway, most of the time I&#8217;ll put the reporting database riiiiight next to the transactional one.  Logical != physical modeling, right?</p>
<p>It is an optimization, but an optimization about the &#8220;Asks&#8221; I&#8217;ll get from either user type.  The reporting user will want good aggregation, while the querying user wants fast searching (and fast writes).  I&#8217;d rather not compromise one user&#8217;s concerns because it contradicts the other.</p>
<p>Hope this helps!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darrel Miller</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-476</link>
		<dc:creator>Darrel Miller</dc:creator>
		<pubDate>Tue, 20 May 2008 17:42:48 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-476</guid>
		<description>&quot;I don&#039;t want reporting concerns bleeding into my transactional concerns&quot;
My problem with this statement is that it sounds a lot like religious zeal.  
As far as your users are concerned they want to &quot;report&quot; on their &quot;transactional&quot; data.  I would venture to guess that 90% of business apps are running on hardware that has more than enough processing power to transform the transaction data into a reportable format within the required performance constraints.
IMHO building a data warehouse for reporting is a performance optimization, not a seperation of concerns.  Making the blanket statement that they should always be seperated is unwise.</description>
		<content:encoded><![CDATA[<p>&#8220;I don&#8217;t want reporting concerns bleeding into my transactional concerns&#8221;<br />
My problem with this statement is that it sounds a lot like religious zeal.<br />
As far as your users are concerned they want to &#8220;report&#8221; on their &#8220;transactional&#8221; data.  I would venture to guess that 90% of business apps are running on hardware that has more than enough processing power to transform the transaction data into a reportable format within the required performance constraints.<br />
IMHO building a data warehouse for reporting is a performance optimization, not a seperation of concerns.  Making the blanket statement that they should always be seperated is unwise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrik L&#246;wendahl</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-475</link>
		<dc:creator>Patrik L&#246;wendahl</dc:creator>
		<pubDate>Tue, 20 May 2008 15:01:35 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-475</guid>
		<description>One model to rule them all ;)

http://www.lowendahl.net/showShout.aspx?id=203</description>
		<content:encoded><![CDATA[<p>One model to rule them all <img src='http://lostechies.com/jimmybogard/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.lowendahl.net/showShout.aspx?id=203" rel="nofollow">http://www.lowendahl.net/showShout.aspx?id=203</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan Reynolds</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-474</link>
		<dc:creator>Bryan Reynolds</dc:creator>
		<pubDate>Tue, 20 May 2008 13:53:23 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-474</guid>
		<description>Good points!</description>
		<content:encoded><![CDATA[<p>Good points!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DaveTheNinja</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-473</link>
		<dc:creator>DaveTheNinja</dc:creator>
		<pubDate>Tue, 20 May 2008 01:03:32 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-473</guid>
		<description>I got $10 on Jimmy! 

Dave The Ninja</description>
		<content:encoded><![CDATA[<p>I got $10 on Jimmy! </p>
<p>Dave The Ninja</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Ritchie</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-472</link>
		<dc:creator>Peter Ritchie</dc:creator>
		<pubDate>Mon, 19 May 2008 23:23:59 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-472</guid>
		<description>The whole Order entity from context to context is an excellent point.  Only the behaviour of one particular implementation knows that context, the &quot;EDM&quot; can&#039;t and shouldn&#039;t (in case some one&#039;s listening and thinking &quot;if we just add the ability to attribute context to entities and allow them to have the same name these guys will be happy...&quot;) know about that context.</description>
		<content:encoded><![CDATA[<p>The whole Order entity from context to context is an excellent point.  Only the behaviour of one particular implementation knows that context, the &#8220;EDM&#8221; can&#8217;t and shouldn&#8217;t (in case some one&#8217;s listening and thinking &#8220;if we just add the ability to attribute context to entities and allow them to have the same name these guys will be happy&#8230;&#8221;) know about that context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blake C</title>
		<link>http://lostechies.com/jimmybogard/2008/05/19/more-entity-framework-thoughts/#comment-471</link>
		<dc:creator>Blake C</dc:creator>
		<pubDate>Mon, 19 May 2008 23:20:11 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/05/19/more-entity-framework-thoughts.aspx#comment-471</guid>
		<description>Jimmy, layin&#039; the smack down on EF, ftw! Good stuff.</description>
		<content:encoded><![CDATA[<p>Jimmy, layin&#8217; the smack down on EF, ftw! Good stuff.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
