<?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: SQL Must Die</title>
	<atom:link href="http://piestar.net/2010/06/15/sql-must-die/feed/" rel="self" type="application/rss+xml" />
	<link>http://piestar.net/2010/06/15/sql-must-die/</link>
	<description>A pragmatic look at the state of FOSS</description>
	<lastBuildDate>Sat, 10 Dec 2011 00:02:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: dotNet Zombie</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-8661</link>
		<dc:creator>dotNet Zombie</dc:creator>
		<pubDate>Thu, 05 Aug 2010 17:43:14 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-8661</guid>
		<description>You sound like my database teacher.</description>
		<content:encoded><![CDATA[<p>You sound like my database teacher.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TM Repository</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7898</link>
		<dc:creator>TM Repository</dc:creator>
		<pubDate>Tue, 22 Jun 2010 05:30:34 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7898</guid>
		<description>&lt;b&gt;Several seconds????? Even more confirmation that we are having entirely different experiences with SQL.&lt;/b&gt;

Some of the queries are very complex.  Couple that with the fact that the ORM sits on top of this and it makes it even slower.  The ORM makes it easier for me, the developer, but not easier for the database.  Meanwhile, that a similar degree of ORM-abstraction can be had out of the box with NoSQL solutions.

&lt;b&gt;You know every complaint I have seen about SQL performance involved a lamp stack. The vast majority involved a forum that used mySql and php on a shared host. Just saying.&lt;/b&gt;

Like I said, the slice I&#039;m running on isn&#039;t very fast.  However, my tests using NoSql solutions to serve up the same data have been hundreds of times faster on the same hardware.  Just saying.

If all you&#039;ve ever used is Oracle or MSSQL, I suggest giving the NoSQL options a shot.  They&#039;re not suitable for everything, and they make no claims that they are, but for much of the common database tasks that bottleneck these days, they&#039;re amazingly good.  Couple that with the fact that they fix all the problems that Kerberos was originally complaining about; a querying tool that talks directly to the database, rather than via a fragile intermediate text-based handshake.</description>
		<content:encoded><![CDATA[<p><b>Several seconds????? Even more confirmation that we are having entirely different experiences with SQL.</b></p>
<p>Some of the queries are very complex.  Couple that with the fact that the ORM sits on top of this and it makes it even slower.  The ORM makes it easier for me, the developer, but not easier for the database.  Meanwhile, that a similar degree of ORM-abstraction can be had out of the box with NoSQL solutions.</p>
<p><b>You know every complaint I have seen about SQL performance involved a lamp stack. The vast majority involved a forum that used mySql and php on a shared host. Just saying.</b></p>
<p>Like I said, the slice I&#8217;m running on isn&#8217;t very fast.  However, my tests using NoSql solutions to serve up the same data have been hundreds of times faster on the same hardware.  Just saying.</p>
<p>If all you&#8217;ve ever used is Oracle or MSSQL, I suggest giving the NoSQL options a shot.  They&#8217;re not suitable for everything, and they make no claims that they are, but for much of the common database tasks that bottleneck these days, they&#8217;re amazingly good.  Couple that with the fact that they fix all the problems that Kerberos was originally complaining about; a querying tool that talks directly to the database, rather than via a fragile intermediate text-based handshake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .net jerkface</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7893</link>
		<dc:creator>.net jerkface</dc:creator>
		<pubDate>Mon, 21 Jun 2010 21:35:36 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7893</guid>
		<description>&lt;i&gt;
While its true that many simpler websites will never really max out an SQL Server, even my TM Repository site, running on mySQL, takes several seconds to perform some of the more complex queries.&lt;/i&gt;

Several seconds????? Even more confirmation that we are having entirely different experiences with SQL. 

You know every complaint I have seen about SQL performance involved a lamp stack. The vast majority involved a forum that used mySql and php on a shared host. Just saying.</description>
		<content:encoded><![CDATA[<p><i><br />
While its true that many simpler websites will never really max out an SQL Server, even my TM Repository site, running on mySQL, takes several seconds to perform some of the more complex queries.</i></p>
<p>Several seconds????? Even more confirmation that we are having entirely different experiences with SQL. </p>
<p>You know every complaint I have seen about SQL performance involved a lamp stack. The vast majority involved a forum that used mySql and php on a shared host. Just saying.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Perpetuum Immobile</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7892</link>
		<dc:creator>Perpetuum Immobile</dc:creator>
		<pubDate>Mon, 21 Jun 2010 19:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7892</guid>
		<description>PHP Sucks!

That&#039;s the real problem not SQL.

SQL is for interrogating databases not for inserting and updating data, doing CRUD (create, read, update, delete) operations using pure SQL or worse SQL duct taped into another language is the worst idea possible.

Switch to Ruby, or Python, or Linq or whatever and your pain will go away while still retaining the possibility to query your data however you want outside the application (which is often critical).</description>
		<content:encoded><![CDATA[<p>PHP Sucks!</p>
<p>That&#8217;s the real problem not SQL.</p>
<p>SQL is for interrogating databases not for inserting and updating data, doing CRUD (create, read, update, delete) operations using pure SQL or worse SQL duct taped into another language is the worst idea possible.</p>
<p>Switch to Ruby, or Python, or Linq or whatever and your pain will go away while still retaining the possibility to query your data however you want outside the application (which is often critical).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dr Loser</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7879</link>
		<dc:creator>Dr Loser</dc:creator>
		<pubDate>Sat, 19 Jun 2010 22:10:31 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7879</guid>
		<description>Argh! Stop pissing me about!

If you can think of a better collective noun than RDBMS for what I mean, then for Christ&#039;s sake let me know.

I&#039;m not *talking* about a Management System Base On Unusual Relational Data.  I don&#039;t *care* that there are alternatives that don&#039;t feature human-readable query languages.

I&#039;m talking about Informix, Sybase, Oracle, SQL Server, blah blah blah.

I&#039;m talking about a big lumpy system that has a thin client that is designed to talk via SQL or embedded SQL or some other abortionate almost-but-not-quite human-readable language equivalent to a MASSIVE GREAT MONOLITHIC ENGINE where everything important actually happens, but the programmer doesn&#039;t have a clue what or when or why or how and can&#039;t in the general case figure it out.

All I&#039;m trying to do is to support Kerberos&#039; original point and expand on it a bit.  Is that too much to ask?</description>
		<content:encoded><![CDATA[<p>Argh! Stop pissing me about!</p>
<p>If you can think of a better collective noun than RDBMS for what I mean, then for Christ&#8217;s sake let me know.</p>
<p>I&#8217;m not *talking* about a Management System Base On Unusual Relational Data.  I don&#8217;t *care* that there are alternatives that don&#8217;t feature human-readable query languages.</p>
<p>I&#8217;m talking about Informix, Sybase, Oracle, SQL Server, blah blah blah.</p>
<p>I&#8217;m talking about a big lumpy system that has a thin client that is designed to talk via SQL or embedded SQL or some other abortionate almost-but-not-quite human-readable language equivalent to a MASSIVE GREAT MONOLITHIC ENGINE where everything important actually happens, but the programmer doesn&#8217;t have a clue what or when or why or how and can&#8217;t in the general case figure it out.</p>
<p>All I&#8217;m trying to do is to support Kerberos&#8217; original point and expand on it a bit.  Is that too much to ask?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TM Repository</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7877</link>
		<dc:creator>TM Repository</dc:creator>
		<pubDate>Sat, 19 Jun 2010 16:23:47 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7877</guid>
		<description>&lt;b&gt;Even if you add Linq and ORMs and everything else, you’re still barred from programmatic access precisely because of the way an RDBMS is designed — simplistic client-server with only SQL as an interface between the two.&lt;/b&gt;

Not every RDBMS uses a human-readable query language, but anything with &quot;SQL&quot; in the title  is going to have that interface.</description>
		<content:encoded><![CDATA[<p><b>Even if you add Linq and ORMs and everything else, you’re still barred from programmatic access precisely because of the way an RDBMS is designed — simplistic client-server with only SQL as an interface between the two.</b></p>
<p>Not every RDBMS uses a human-readable query language, but anything with &#8220;SQL&#8221; in the title  is going to have that interface.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dr Loser</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7876</link>
		<dc:creator>Dr Loser</dc:creator>
		<pubDate>Sat, 19 Jun 2010 15:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7876</guid>
		<description>@ .net jerkface:

I take your points, but you&#039;re drifting away from the core argument, I feel.

SQL is there because it&#039;s there because it&#039;s there.  Fine, but not the best defence.

Your point about &quot;SQL related algorithms&quot; is well taken, but I did actually point out that these are there because SQL is &quot;baked in.&quot;  As a programmer, I&#039;d rather have access to them in a layered manner with APIs -- not some stupid human-readable IBM garbage from the 70s.  Even if you add Linq and ORMs and everything else, you&#039;re still barred from programmatic access precisely because of the way an RDBMS is designed -- simplistic client-server with only SQL as an interface between the two.

Don&#039;t get me wrong.  I like using SQL Server, and I can put up with Oracle, and even when I use MySQL and SQLite and the rest, I&#039;ll program via SQL because that&#039;s the easy way to do it.

But it has an opportunity cost, too.</description>
		<content:encoded><![CDATA[<p>@ .net jerkface:</p>
<p>I take your points, but you&#8217;re drifting away from the core argument, I feel.</p>
<p>SQL is there because it&#8217;s there because it&#8217;s there.  Fine, but not the best defence.</p>
<p>Your point about &#8220;SQL related algorithms&#8221; is well taken, but I did actually point out that these are there because SQL is &#8220;baked in.&#8221;  As a programmer, I&#8217;d rather have access to them in a layered manner with APIs &#8212; not some stupid human-readable IBM garbage from the 70s.  Even if you add Linq and ORMs and everything else, you&#8217;re still barred from programmatic access precisely because of the way an RDBMS is designed &#8212; simplistic client-server with only SQL as an interface between the two.</p>
<p>Don&#8217;t get me wrong.  I like using SQL Server, and I can put up with Oracle, and even when I use MySQL and SQLite and the rest, I&#8217;ll program via SQL because that&#8217;s the easy way to do it.</p>
<p>But it has an opportunity cost, too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TM Repository</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7872</link>
		<dc:creator>TM Repository</dc:creator>
		<pubDate>Sat, 19 Jun 2010 07:48:09 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7872</guid>
		<description>&lt;b&gt;I understand the benefits but nosql databases but it reminds me of itanium in that those benefits will only be appreciable by a tiny minority of websites. I think you can make the case that SQL is unneeded for a lot of websites but I don’t think the retrieval overhead is an issue.&lt;/b&gt;

Typically even unoptimized selects are going to be fairly fast.  Writes are slow, but joins can often be slower by an exponential magnitude.  It all depends on how complex the schema is really.

While its true that many simpler websites will never really max out an SQL Server, even my TM Repository site, running on mySQL, takes several seconds to perform some of the more complex queries.  Granted, it&#039;s running on the cheapest slice that slicehost offers, but the same scenarios on the same slice in Mongo or Couch run hundreds of times faster because of the way the data is structured, negating the need for joins.

In case anyone in the .NET world is interested, MongoDB has a &lt;a href=&quot;http://www.mongodb.org/display/DOCS/C+Sharp+Language+Center&quot; rel=&quot;nofollow&quot;&gt;C# driver&lt;/a&gt;.  Couch has a few wrappers/drivers but I&#039;m less familiar with them.</description>
		<content:encoded><![CDATA[<p><b>I understand the benefits but nosql databases but it reminds me of itanium in that those benefits will only be appreciable by a tiny minority of websites. I think you can make the case that SQL is unneeded for a lot of websites but I don’t think the retrieval overhead is an issue.</b></p>
<p>Typically even unoptimized selects are going to be fairly fast.  Writes are slow, but joins can often be slower by an exponential magnitude.  It all depends on how complex the schema is really.</p>
<p>While its true that many simpler websites will never really max out an SQL Server, even my TM Repository site, running on mySQL, takes several seconds to perform some of the more complex queries.  Granted, it&#8217;s running on the cheapest slice that slicehost offers, but the same scenarios on the same slice in Mongo or Couch run hundreds of times faster because of the way the data is structured, negating the need for joins.</p>
<p>In case anyone in the .NET world is interested, MongoDB has a <a href="http://www.mongodb.org/display/DOCS/C+Sharp+Language+Center" rel="nofollow">C# driver</a>.  Couch has a few wrappers/drivers but I&#8217;m less familiar with them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .net jerkface</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7870</link>
		<dc:creator>.net jerkface</dc:creator>
		<pubDate>Sat, 19 Jun 2010 05:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7870</guid>
		<description>I understand the benefits but nosql databases but it reminds me of itanium in that those benefits will only be appreciable by a tiny minority of websites. I think you can make the case that SQL is unneeded for a lot of websites but I don&#039;t think the retrieval overhead is an issue. 

I can&#039;t speak for MySql but I know that for SQL Server it&#039;s extremely rare for a website to need more than a single dedicated DB server. At that level you&#039;re talking major traffic and scaling won&#039;t be an issue if you designed your website properly. Even if you didn&#039;t at that level you can probably afford to have someone handle the scaling for you. 

I have to wonder if you guys are spending too much time with SQL at the command line level. Disco tech overload perhaps? I think some of these nosql alternatives are interesting but in the .net world everyone is fine with SQL Server.</description>
		<content:encoded><![CDATA[<p>I understand the benefits but nosql databases but it reminds me of itanium in that those benefits will only be appreciable by a tiny minority of websites. I think you can make the case that SQL is unneeded for a lot of websites but I don&#8217;t think the retrieval overhead is an issue. </p>
<p>I can&#8217;t speak for MySql but I know that for SQL Server it&#8217;s extremely rare for a website to need more than a single dedicated DB server. At that level you&#8217;re talking major traffic and scaling won&#8217;t be an issue if you designed your website properly. Even if you didn&#8217;t at that level you can probably afford to have someone handle the scaling for you. </p>
<p>I have to wonder if you guys are spending too much time with SQL at the command line level. Disco tech overload perhaps? I think some of these nosql alternatives are interesting but in the .net world everyone is fine with SQL Server.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TM Repository</title>
		<link>http://piestar.net/2010/06/15/sql-must-die/#comment-7865</link>
		<dc:creator>TM Repository</dc:creator>
		<pubDate>Sat, 19 Jun 2010 01:10:39 +0000</pubDate>
		<guid isPermaLink="false">http://piestar.net/?p=507#comment-7865</guid>
		<description>The problem with relational database in general is the need for all the pre-processing and prediction.  With schemaless databases like Mongo and Couch all relative data is stored in a single document, negating the need for joins, one of the major bottlenecks in RDBMS.

Relational databases have their place, for sure, but they don&#039;t scale/shard as easily, and as transparently, as the newer NoSQL solutions do.  Not to mention using an actual debuggable turing-complete programming language to do map/reduce functions is far saner than the SQL language.</description>
		<content:encoded><![CDATA[<p>The problem with relational database in general is the need for all the pre-processing and prediction.  With schemaless databases like Mongo and Couch all relative data is stored in a single document, negating the need for joins, one of the major bottlenecks in RDBMS.</p>
<p>Relational databases have their place, for sure, but they don&#8217;t scale/shard as easily, and as transparently, as the newer NoSQL solutions do.  Not to mention using an actual debuggable turing-complete programming language to do map/reduce functions is far saner than the SQL language.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

