<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel>
    <title>Gadgetopia: Databases / XML</title>
    <link>http://www.gadgetopia.com/Categories/Databases / XML.html</link>
    <description>This is a sub-feed of the main Gadgetopia RSS feed. This feed displays entries from the "Databases / XML" category.  The main Gadgetopia feed is available at http://www.gadgetopia.com/index.xml.</description>
    <dc:language>en-us</dc:language>
    <dc:creator>deane@deanebarker.net</dc:creator>
    <dc:rights>Copyright 2010</dc:rights>
    <dc:date>2008-04-17T06:58:56-06:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.35" />
    <admin:errorReportsTo rdf:resource="mailto:deane@deanebarker.net"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

    <item>
      <title>MySql dips its toe into closed source</title>
      <link>http://gadgetopia.com/post/6353</link>
      <description><![CDATA[<p><a title="MySQL reserves features for paying customers; open-source community up in arms" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9078358">MySQL reserves features for paying customers; open-source community up in arms</a>: This is interesting, and perhaps not  surprising given the acquisition.</p>

<blockquote>
  <p>Open-source darling MySQL is facing a new uprising within its customer base over plans disclosed this week to reserve some key upcoming features, and their source code, for paying users of its namesake database.</p>
  
  <p>Officials at Sun Microsystems Inc., which acquired MySQL in February, confirmed that new online backup capabilities now under development will be offered only to MySQL Enterprise customers — not to the much larger number of users of the free MySQL Community edition.</p>
</blockquote>

<p>This will have very little effect on the Web development community, since we&#8217;re not the ones to use the high-end features anyway.  It&#8217;s more targeted at making sure enterprise customers are truly paying for the product.</p>

<p>There&#8217;s really two ways this can develop:</p>

<ol>
<li>From here on out, all &#8220;enterprise-y&#8221; features are only released to the Enterprise version of the product</li>
<li>There&#8217;s some delay, with these features eventually filtering to the Community version after some arbitrary time period has elapsed</li>
</ol>

<p>Try as I might, I just can&#8217;t fault MySQL for this.  Read <a href="http://blog.wired.com/business/2008/01/sun-pays-up-the.html">this Wired article</a> about the acquisition:</p>

<blockquote>
  <p>One analyst thinks MySQL&#8217;s annual revenue may come in at $70 million to $85 million.</p>
  
  <p>&#8220;Less than 1 percent of MySQL users pay,&#8221; wrote Global Equities Research analyst Trip Chowdhry. &#8220;Users are in the habit of getting free stuff and it&#8217;s impossible to break the habit&#8230; We don&#8217;t see Sun (being) able to monetize it.&#8221;</p>
</blockquote>

<p>Open source is wonderful, but there comes a point where a company has to turn a profit.  Sun didn&#8217;t cough up $1 billion just for fun.</p>
]]></description>
      <guid isPermaLink="false">6353@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="MySQL reserves features for paying customers; open-source community up in arms" href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9078358">MySQL reserves features for paying customers; open-source community up in arms</a>: This is interesting, and perhaps not  surprising given the acquisition.</p>

<blockquote>
  <p>Open-source darling MySQL is facing a new uprising within its customer base over plans disclosed this week to reserve some key upcoming features, and their source code, for paying users of its namesake database.</p>
  
  <p>Officials at Sun Microsystems Inc., which acquired MySQL in February, confirmed that new online backup capabilities now under development will be offered only to MySQL Enterprise customers — not to the much larger number of users of the free MySQL Community edition.</p>
</blockquote>

<p>This will have very little effect on the Web development community, since we&#8217;re not the ones to use the high-end features anyway.  It&#8217;s more targeted at making sure enterprise customers are truly paying for the product.</p>

<p>There&#8217;s really two ways this can develop:</p>

<ol>
<li>From here on out, all &#8220;enterprise-y&#8221; features are only released to the Enterprise version of the product</li>
<li>There&#8217;s some delay, with these features eventually filtering to the Community version after some arbitrary time period has elapsed</li>
</ol>

<p>Try as I might, I just can&#8217;t fault MySQL for this.  Read <a href="http://blog.wired.com/business/2008/01/sun-pays-up-the.html">this Wired article</a> about the acquisition:</p>

<blockquote>
  <p>One analyst thinks MySQL&#8217;s annual revenue may come in at $70 million to $85 million.</p>
  
  <p>&#8220;Less than 1 percent of MySQL users pay,&#8221; wrote Global Equities Research analyst Trip Chowdhry. &#8220;Users are in the habit of getting free stuff and it&#8217;s impossible to break the habit&#8230; We don&#8217;t see Sun (being) able to monetize it.&#8221;</p>
</blockquote>

<p>Open source is wonderful, but there comes a point where a company has to turn a profit.  Sun didn&#8217;t cough up $1 billion just for fun.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2008-04-17T06:58:56-06:00</dc:date>
    </item>
    <item>
      <title>Amazon SimpleDB</title>
      <link>http://gadgetopia.com/post/6215</link>
      <description><![CDATA[<p><a title="Amazon.com: Amazon Web Services (2): Help: Amazon Web Services (2) FAQ &amp; More" href="http://www.amazon.com/gp/browse.html?node=342335011">Amazon SimpleDB™- Limited Beta</a>: Amazon has announced SimpleDB, which allows you to build a database &#8220;in the cloud&#8221; and query it from anywhere.  It&#8217;s not SQL, however, and it&#8217;s not relational &#8212; it&#8217;s &#8220;structured data.&#8221;</p>

<blockquote>
  <p>Amazon SimpleDB is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud. These services are designed to make web-scale computing easier and more cost-effective for developers.</p>
</blockquote>

<p>Pricing is $0.14 per &#8220;machine hour consumed,&#8221; and about the same per GB data transfer both in and out.</p>
]]></description>
      <guid isPermaLink="false">6215@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Amazon.com: Amazon Web Services (2): Help: Amazon Web Services (2) FAQ &amp; More" href="http://www.amazon.com/gp/browse.html?node=342335011">Amazon SimpleDB™- Limited Beta</a>: Amazon has announced SimpleDB, which allows you to build a database &#8220;in the cloud&#8221; and query it from anywhere.  It&#8217;s not SQL, however, and it&#8217;s not relational &#8212; it&#8217;s &#8220;structured data.&#8221;</p>

<blockquote>
  <p>Amazon SimpleDB is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud. These services are designed to make web-scale computing easier and more cost-effective for developers.</p>
</blockquote>

<p>Pricing is $0.14 per &#8220;machine hour consumed,&#8221; and about the same per GB data transfer both in and out.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2007-12-14T09:37:00-06:00</dc:date>
    </item>
    <item>
      <title>Fiction Markup Language Redux</title>
      <link>http://gadgetopia.com/post/5794</link>
      <description><![CDATA[<p><a title="Banapana ? Fiction Markup Language" href="http://www.banapana.com/fiction-markup-language/">Fiction Markup Language</a>: Years ago I wrote about an idea called <a href="http://www.gadgetopia.com/post/1925">Fiction Markup Language</a>.  I said:</p>

<blockquote>
  <p>When is someone going to come up with Fiction Markup Language -- an XML spec solely for annotating fiction?</p>
</blockquote>

<p>Well, today I got an invite to a <a href="http://groups.google.com/group/fiction-markup-language">Google Group</a> on this.  Russell Warner is actually giving it a go, <a href="http://www.banapana.com/fiction-markup-language/">as detailed here</a>.  He seems to have a good start on it as well. There's a snippet of markup in there which looks really promising.</p>
]]></description>
      <guid isPermaLink="false">5794@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Banapana ? Fiction Markup Language" href="http://www.banapana.com/fiction-markup-language/">Fiction Markup Language</a>: Years ago I wrote about an idea called <a href="http://www.gadgetopia.com/post/1925">Fiction Markup Language</a>.  I said:</p>

<blockquote>
  <p>When is someone going to come up with Fiction Markup Language -- an XML spec solely for annotating fiction?</p>
</blockquote>

<p>Well, today I got an invite to a <a href="http://groups.google.com/group/fiction-markup-language">Google Group</a> on this.  Russell Warner is actually giving it a go, <a href="http://www.banapana.com/fiction-markup-language/">as detailed here</a>.  He seems to have a good start on it as well. There's a snippet of markup in there which looks really promising.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2007-02-28T22:30:55-06:00</dc:date>
    </item>
    <item>
      <title>i-am-a-dummy</title>
      <link>http://gadgetopia.com/post/5595</link>
      <description><![CDATA[<p>Here's a command line switch for MySQL that's both funny and pretty handy:</p>

<pre><code>--i-am-a-dummy  Synonym for option --safe-updates, -U.
</code></pre>

<p>Yes, there is a MySQL switch called "i-am-a-dummy".  It's an alias of another switch, which provides more information:</p>

<pre><code>--safe-updates  Only allow UPDATE and DELETE that uses keys.
</code></pre>

<p>Now, that's handy.  This means you couldn't accidentally wipe out your table because the system won't process DELETEs or UPDATEs that don't specify primary key values.  Smart.  It strikes me that the alias should be "i-am-not-a-dummy."</p>
]]></description>
      <guid isPermaLink="false">5595@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p>Here's a command line switch for MySQL that's both funny and pretty handy:</p>

<pre><code>--i-am-a-dummy  Synonym for option --safe-updates, -U.
</code></pre>

<p>Yes, there is a MySQL switch called "i-am-a-dummy".  It's an alias of another switch, which provides more information:</p>

<pre><code>--safe-updates  Only allow UPDATE and DELETE that uses keys.
</code></pre>

<p>Now, that's handy.  This means you couldn't accidentally wipe out your table because the system won't process DELETEs or UPDATEs that don't specify primary key values.  Smart.  It strikes me that the alias should be "i-am-not-a-dummy."</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2006-10-20T00:13:41-06:00</dc:date>
    </item>
    <item>
      <title>PHPRunner 3.1</title>
      <link>http://gadgetopia.com/post/5542</link>
      <description><![CDATA[<p><a title="PHPRunner 3.1 released - ASPRunner forums" href="http://www.asprunner.com/forums/index.php?showtopic=3442">PHPRunner 3.1 released</a>: Sergei has released the latest version of PHPRunner.  I'm a big fan of this software -- it's so handy for quick database interfaces, and I've actually used it in production a few times, which is saying something because I'm a snob.</p>

<p>Look at it like this, PHPRunner is a lot like <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>, but you can lock it down harder and pretty it up for non-database types.</p>
]]></description>
      <guid isPermaLink="false">5542@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="PHPRunner 3.1 released - ASPRunner forums" href="http://www.asprunner.com/forums/index.php?showtopic=3442">PHPRunner 3.1 released</a>: Sergei has released the latest version of PHPRunner.  I'm a big fan of this software -- it's so handy for quick database interfaces, and I've actually used it in production a few times, which is saying something because I'm a snob.</p>

<p>Look at it like this, PHPRunner is a lot like <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>, but you can lock it down harder and pretty it up for non-database types.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2006-09-26T11:48:36-06:00</dc:date>
    </item>
    <item>
      <title>Virtual Tables as Join Fodder</title>
      <link>http://gadgetopia.com/post/5497</link>
      <description><![CDATA[<p>Databases should have some built-in "virtual" tables filled with universal sequential data, against which you can join during queries.  For instance, there should be a table called "dates" which is just a single-field table with a sequential list of dates, stetching into eternity in either direction.</p>

<p>How would you use this?  Say I wanted to get a list of the number of comments posted every day on this blog.  I could just use COUNT and GROUP BY to roll them up, but if there were no comments on a particular date, then that date just doesn't show up (since there's noting to count).</p>

<p>To get a "0" on date where there were no comments, I would need to join my original query on a table of dates.  As it sits, I need to create this table and populate it and maintain it myself.  Why couldn't this be built into a database platform?</p>

<p>There should be a table for numbers too.  I was thinking about letters of the alphabet (but then you get into localization issues), days of the week, and months of the year.  However, you can create those and maintain them easily, since they're finite.  Dates and numbers stretch into infinity in both directions, so they're harder to deal with.</p>

<p>Does something like this exist on any platforms that you know of?</p>
]]></description>
      <guid isPermaLink="false">5497@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p>Databases should have some built-in "virtual" tables filled with universal sequential data, against which you can join during queries.  For instance, there should be a table called "dates" which is just a single-field table with a sequential list of dates, stetching into eternity in either direction.</p>

<p>How would you use this?  Say I wanted to get a list of the number of comments posted every day on this blog.  I could just use COUNT and GROUP BY to roll them up, but if there were no comments on a particular date, then that date just doesn't show up (since there's noting to count).</p>

<p>To get a "0" on date where there were no comments, I would need to join my original query on a table of dates.  As it sits, I need to create this table and populate it and maintain it myself.  Why couldn't this be built into a database platform?</p>

<p>There should be a table for numbers too.  I was thinking about letters of the alphabet (but then you get into localization issues), days of the week, and months of the year.  However, you can create those and maintain them easily, since they're finite.  Dates and numbers stretch into infinity in both directions, so they're harder to deal with.</p>

<p>Does something like this exist on any platforms that you know of?</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2006-08-29T11:49:50-06:00</dc:date>
    </item>
    <item>
      <title>Group_Concat in MySQL</title>
      <link>http://gadgetopia.com/post/5486</link>
      <description><![CDATA[<p><a title="Quick Merge in MySQL - snook.ca" href="http://www.snook.ca/archives/sql/quick_merge_in/">Quick Merge in MySQL</a>: I wished for this functionality in SQL Server for years.  There are so many situations when this would come in handy.</p>

<blockquote>
  <p>Using the GROUP_CONCAT function though, I no longer need to loop through them. I concatenate the list on the MySQL side, which returns me one record with one field.</p>
</blockquote>
]]></description>
      <guid isPermaLink="false">5486@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Quick Merge in MySQL - snook.ca" href="http://www.snook.ca/archives/sql/quick_merge_in/">Quick Merge in MySQL</a>: I wished for this functionality in SQL Server for years.  There are so many situations when this would come in handy.</p>

<blockquote>
  <p>Using the GROUP_CONCAT function though, I no longer need to loop through them. I concatenate the list on the MySQL side, which returns me one record with one field.</p>
</blockquote>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2006-08-22T23:19:09-06:00</dc:date>
    </item>
    <item>
      <title>XML Cooktop</title>
      <link>http://gadgetopia.com/post/4878</link>
      <description><![CDATA[<p>I'm doing a project with <a href="http://www.ektron.com">Ektron CMS400.Net</a> right now, and that system relies pretty heavily on XSL, which I hate.  I really think XSL is a tool of devil, meant just to drive me mad.  But I digress.</p>

<p>I needed a good little XSL authoring app.  <a href="http://www.xmlspy.com/">XMLSpy</a> is the absolute gold standard in this space, but it's also $400, which I didn't really want to pay.  Additionally, it's huge.  Hugely good, but bloated beyond belief.</p>

<p>The solution was a neat little open-source app called <a href="http://www.xmlcooktop.com/">XML Cooktop</a>.  It was exactly what I needed: an interface that takes an XML file and an XSL file, and lets you transform the two with the click of a button.  It shows you the raw HTML (well, XML -- whatever) it produces, as well as an embedded view of how the HTML would look in a browser (IE, mind you, but that's what I'm developing for in this case anyway).</p>

<p>Additionally, it has a nice little XPath debugger, kind of like <a href="http://www.weitz.de/regex-coach/">The Regex Coach</a> is for regular expressions.</p>

<p>It's lightweight, free, and does one thing really well.  Exactly what I needed.</p>
]]></description>
      <guid isPermaLink="false">4878@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p>I'm doing a project with <a href="http://www.ektron.com">Ektron CMS400.Net</a> right now, and that system relies pretty heavily on XSL, which I hate.  I really think XSL is a tool of devil, meant just to drive me mad.  But I digress.</p>

<p>I needed a good little XSL authoring app.  <a href="http://www.xmlspy.com/">XMLSpy</a> is the absolute gold standard in this space, but it's also $400, which I didn't really want to pay.  Additionally, it's huge.  Hugely good, but bloated beyond belief.</p>

<p>The solution was a neat little open-source app called <a href="http://www.xmlcooktop.com/">XML Cooktop</a>.  It was exactly what I needed: an interface that takes an XML file and an XSL file, and lets you transform the two with the click of a button.  It shows you the raw HTML (well, XML -- whatever) it produces, as well as an embedded view of how the HTML would look in a browser (IE, mind you, but that's what I'm developing for in this case anyway).</p>

<p>Additionally, it has a nice little XPath debugger, kind of like <a href="http://www.weitz.de/regex-coach/">The Regex Coach</a> is for regular expressions.</p>

<p>It's lightweight, free, and does one thing really well.  Exactly what I needed.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2006-01-11T09:20:48-06:00</dc:date>
    </item>
    <item>
      <title>The MSDE</title>
      <link>http://gadgetopia.com/post/4782</link>
      <description><![CDATA[<p>One of our clients has started working with some software that uses the MSDE -- the Microsoft SQL Desktop Engine.  This is a stripped down, black-box version of SQL Server for people that need a database server but don't want to pay for SQL Server nor need all its super-powers.</p>

<p>MSDE is stripped down in two ways.</p>

<ol>
<li>It comes with no client tools, like Enterprise Manager or Query Analyzer.  It's supposed to be a black box which your software knows how to operate, but you can't see into.</li>
<li>It's performance limited.  It has a "workload governor" that "stalls" the app for a few milliseconds whenever it's fielding more than 5 - 8 connections (the exact number depends on the version).</li>
</ol>

<p>The second limitation there may not be a big deal for an office scenario.  In our case, the client has a dozen users that may or may not be connected at any given time, so the scalability limitations are never an issue.</p>

<p>The first limitation can suck, however.  I don't like black boxes, especially when it comes to data storage.  I want to know what's going on inside my database.  To do this, I found a few tools that will do just this for the MSDE, and bring it ever so closer to SQL Server.</p>

<ol>
<li><a href="http://www.asql.biz/en/">DbaMgr</a> gives you a really nice graphic interface into your MSDE install, including databases, tables, users, and access to automated backup.  It's free.</li>
<li><a href="http://www.msde.biz/">msde.biz</a> is a site that sells two tools and gives one away.  <a href="http://www.msde.biz/msdequery/download.htm">MSDE Query</a> is free, and lets you run ad hoc SQL on your install, a la Query Analyzer.  <a href="http://www.msde.biz/msdebackup/msdebackup.htm">MSDE Backup</a> does just that for $18, and <a href="http://www.msde.biz/msdeadmin/msdeadmin.htm">MSDE Admin</a> gives you a little Enterprise Manager goodness for $22.</li>
<li><a href="http://sqlbuddy.sourceforge.net/">SQL Buddy</a> doesn't appear to be under active development anymore, but it's open source.</li>
<li><a href="http://www.valesoftware.com/products-msde-manager.php">MSDE Manager</a> might be a Cadillac of MSDE tools at $79.  The <a href="http://www.valesoftware.com/screenshots-msde-manager.php">screenshots</a> look great.</li>
</ol>

<p>Microsoft has a whole list of "MSDE partners" <a href="http://www.microsoft.com/sql/msde/partners/default.asp">here</a>.</p>

<p>So would the MSDE work for Web sites?  I don't know -- it's certainly a step up from Access, but I don't use Access anymore either.</p>

<p>Another question about MSDE: with the advent of <a href="http://www.microsoft.com/sql/editions/express/default.mspx">SQL Server Express</a> -- the free version of SQL Server -- is the MSDE still going to hang around?  Or are its days numbered?  I can't find anything on "MSDE 2005," and if you <a href="http://www.google.com/search?q=%22msde+2005%22">Google for that</a>, Microsoft has purchased AdWords to direct you to SQL Server Express, which would seem to indicate that it's a dead product.</p>

<p>Finally, for the record, while I've never been a big fan of Microsoft for server technologies, I've always liked SQL Server.  My first official Microsoft training was an MCDBA track on SQL Server 7.0, and I've used the information I learned from that class six years ago over and over again since then.</p>

<p>Microsoft may not do everything right with servers, but SQL Server is a fine product, no matter how much you hate Redmond.</p>
]]></description>
      <guid isPermaLink="false">4782@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p>One of our clients has started working with some software that uses the MSDE -- the Microsoft SQL Desktop Engine.  This is a stripped down, black-box version of SQL Server for people that need a database server but don't want to pay for SQL Server nor need all its super-powers.</p>

<p>MSDE is stripped down in two ways.</p>

<ol>
<li>It comes with no client tools, like Enterprise Manager or Query Analyzer.  It's supposed to be a black box which your software knows how to operate, but you can't see into.</li>
<li>It's performance limited.  It has a "workload governor" that "stalls" the app for a few milliseconds whenever it's fielding more than 5 - 8 connections (the exact number depends on the version).</li>
</ol>

<p>The second limitation there may not be a big deal for an office scenario.  In our case, the client has a dozen users that may or may not be connected at any given time, so the scalability limitations are never an issue.</p>

<p>The first limitation can suck, however.  I don't like black boxes, especially when it comes to data storage.  I want to know what's going on inside my database.  To do this, I found a few tools that will do just this for the MSDE, and bring it ever so closer to SQL Server.</p>

<ol>
<li><a href="http://www.asql.biz/en/">DbaMgr</a> gives you a really nice graphic interface into your MSDE install, including databases, tables, users, and access to automated backup.  It's free.</li>
<li><a href="http://www.msde.biz/">msde.biz</a> is a site that sells two tools and gives one away.  <a href="http://www.msde.biz/msdequery/download.htm">MSDE Query</a> is free, and lets you run ad hoc SQL on your install, a la Query Analyzer.  <a href="http://www.msde.biz/msdebackup/msdebackup.htm">MSDE Backup</a> does just that for $18, and <a href="http://www.msde.biz/msdeadmin/msdeadmin.htm">MSDE Admin</a> gives you a little Enterprise Manager goodness for $22.</li>
<li><a href="http://sqlbuddy.sourceforge.net/">SQL Buddy</a> doesn't appear to be under active development anymore, but it's open source.</li>
<li><a href="http://www.valesoftware.com/products-msde-manager.php">MSDE Manager</a> might be a Cadillac of MSDE tools at $79.  The <a href="http://www.valesoftware.com/screenshots-msde-manager.php">screenshots</a> look great.</li>
</ol>

<p>Microsoft has a whole list of "MSDE partners" <a href="http://www.microsoft.com/sql/msde/partners/default.asp">here</a>.</p>

<p>So would the MSDE work for Web sites?  I don't know -- it's certainly a step up from Access, but I don't use Access anymore either.</p>

<p>Another question about MSDE: with the advent of <a href="http://www.microsoft.com/sql/editions/express/default.mspx">SQL Server Express</a> -- the free version of SQL Server -- is the MSDE still going to hang around?  Or are its days numbered?  I can't find anything on "MSDE 2005," and if you <a href="http://www.google.com/search?q=%22msde+2005%22">Google for that</a>, Microsoft has purchased AdWords to direct you to SQL Server Express, which would seem to indicate that it's a dead product.</p>

<p>Finally, for the record, while I've never been a big fan of Microsoft for server technologies, I've always liked SQL Server.  My first official Microsoft training was an MCDBA track on SQL Server 7.0, and I've used the information I learned from that class six years ago over and over again since then.</p>

<p>Microsoft may not do everything right with servers, but SQL Server is a fine product, no matter how much you hate Redmond.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-12-22T15:05:22-06:00</dc:date>
    </item>
    <item>
      <title>Book on Hierarchies in Databases</title>
      <link>http://gadgetopia.com/post/4704</link>
      <description><![CDATA[<p><a title="Amazon.com: Joe Celko's Trees and Hierarchies in SQL for Smarties (The Morgan Kaufmann Series in Data Management Systems): Books" href="http://www.amazon.com/gp/product/1558609202/qid=1111545856/sr=11-1/ref=sr_11_1/103-9956274-7323044?n=283155">Joe Celko's Trees and Hierarchies in SQL for Smarties</a>: A book devoted to nothing but representing hierachies and trees in relational (SQL) databases.  Am I a dork because I want it?</p>

<blockquote>
  <p>In this book, Celko illustrates several major approaches to representing trees and hierarchies and related topics that should be of interest to the working database programmer. These topics include hierarchical encoding schemes, graphs, IMS, binary trees, and more. </p>
</blockquote>

<p>I paged through it at the bookstore.  It's heavy on the nested set theory, rather than parent-child.</p>
]]></description>
      <guid isPermaLink="false">4704@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Amazon.com: Joe Celko's Trees and Hierarchies in SQL for Smarties (The Morgan Kaufmann Series in Data Management Systems): Books" href="http://www.amazon.com/gp/product/1558609202/qid=1111545856/sr=11-1/ref=sr_11_1/103-9956274-7323044?n=283155">Joe Celko's Trees and Hierarchies in SQL for Smarties</a>: A book devoted to nothing but representing hierachies and trees in relational (SQL) databases.  Am I a dork because I want it?</p>

<blockquote>
  <p>In this book, Celko illustrates several major approaches to representing trees and hierarchies and related topics that should be of interest to the working database programmer. These topics include hierarchical encoding schemes, graphs, IMS, binary trees, and more. </p>
</blockquote>

<p>I paged through it at the bookstore.  It's heavy on the nested set theory, rather than parent-child.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-12-04T20:10:52-06:00</dc:date>
    </item>
    <item>
      <title>Oracle 10g Express Edition</title>
      <link>http://gadgetopia.com/post/4551</link>
      <description><![CDATA[<p>There can be no doubt now: Oracle is trying to destroy MySQL.  Consider:</p>

<ol>
<li><a href="http://www.gadgetopia.com/post/4448">They buy Innobase</a>, the company responsible for the back end data format that makes MySQL go.</li>
<li>They forge <a href="http://www.gadgetopia.com/post/4461">a partnership with Zend</a>, the company responsible for PHP, which is the lanuguage most often used with MySQL on the Web.</li>
<li>Now, word via <a href="http://developers.slashdot.org/article.pl?sid=05/10/31/0659254&amp;from=rss">Slashdot</a> and <a href="http://news.zdnet.com/2100-3513_22-5920796.html">CNet</a>, is that they're going to offer a free "Express Edition" of their 10g database.</li>
</ol>

<p>They're not even trying to hide the fact that they're gunning for MySQL:</p>

<blockquote>
  <p>The new low-end edition is aimed squarely at free and open-source alternatives to Oracle's namesake database, said Andrew Mendelsohn, senior vice president of Oracle's server technologies division.</p>
</blockquote>

<p>Here's my prediction for a secondary effect --</p>

<p><em>This action will ultimately lower Oracle DBA salaries.</em>  Oracle always had a huge barrier to entry in its price and infrastructure requirements, so you didn't run it unless you were in a big enterprise.  Consequently, there are less Oracle DBAs in the world than other database platforms.</p>

<p>But now we're going to see a huge wave of people who know how to make Oracle go on a small scale.  Companies will start hiring these people for less than a full-blown Oracle DBA salary, and either use them for smaller Oracle installments, or "train them up."</p>
]]></description>
      <guid isPermaLink="false">4551@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p>There can be no doubt now: Oracle is trying to destroy MySQL.  Consider:</p>

<ol>
<li><a href="http://www.gadgetopia.com/post/4448">They buy Innobase</a>, the company responsible for the back end data format that makes MySQL go.</li>
<li>They forge <a href="http://www.gadgetopia.com/post/4461">a partnership with Zend</a>, the company responsible for PHP, which is the lanuguage most often used with MySQL on the Web.</li>
<li>Now, word via <a href="http://developers.slashdot.org/article.pl?sid=05/10/31/0659254&amp;from=rss">Slashdot</a> and <a href="http://news.zdnet.com/2100-3513_22-5920796.html">CNet</a>, is that they're going to offer a free "Express Edition" of their 10g database.</li>
</ol>

<p>They're not even trying to hide the fact that they're gunning for MySQL:</p>

<blockquote>
  <p>The new low-end edition is aimed squarely at free and open-source alternatives to Oracle's namesake database, said Andrew Mendelsohn, senior vice president of Oracle's server technologies division.</p>
</blockquote>

<p>Here's my prediction for a secondary effect --</p>

<p><em>This action will ultimately lower Oracle DBA salaries.</em>  Oracle always had a huge barrier to entry in its price and infrastructure requirements, so you didn't run it unless you were in a big enterprise.  Consequently, there are less Oracle DBAs in the world than other database platforms.</p>

<p>But now we're going to see a huge wave of people who know how to make Oracle go on a small scale.  Companies will start hiring these people for less than a full-blown Oracle DBA salary, and either use them for smaller Oracle installments, or "train them up."</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-10-31T06:52:10-06:00</dc:date>
    </item>
    <item>
      <title>Oracle Buys Innobase</title>
      <link>http://gadgetopia.com/post/4448</link>
      <description><![CDATA[<p><a title="Oracle buys Innobase. MySQL between rock and hard place? (by Jeremy Zawodny)" href="http://jeremy.zawodny.com/blog/archives/005490.html">Oracle buys Innobase. MySQL between rock and hard place?</a>: This is interesting.   Oracle bought Innobase, which is a close partner of MySQL, that company having used InnoDB as a storage architecture for years.</p>

<blockquote>
  <p>MySQL is now faced with the prospect of licensing technology they cannot ship without from their biggest rival. Interestingly, there's always been once piece of the InnoDB puzzle that's not available under the GPL: the InnoDB Hot Backup Tool. Without it, database administrators cannot backup their InnoDB tables without shutting down MySQL or at least locking out all transactions.</p>
  
  <p>Oracle just bought themselves a whole lot of leverage with MySQL AB and a talented team of database engineers to boot.</p>
  
  <p>I've always wondered why MySQL AB didn't buy Innobase Oy years ago. It always made complete sense from where I sat. But I'm hardly an insider when it comes to the relationship between those companies. Needless to say, that relationship just got far more "interesting."</p>
</blockquote>
]]></description>
      <guid isPermaLink="false">4448@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Oracle buys Innobase. MySQL between rock and hard place? (by Jeremy Zawodny)" href="http://jeremy.zawodny.com/blog/archives/005490.html">Oracle buys Innobase. MySQL between rock and hard place?</a>: This is interesting.   Oracle bought Innobase, which is a close partner of MySQL, that company having used InnoDB as a storage architecture for years.</p>

<blockquote>
  <p>MySQL is now faced with the prospect of licensing technology they cannot ship without from their biggest rival. Interestingly, there's always been once piece of the InnoDB puzzle that's not available under the GPL: the InnoDB Hot Backup Tool. Without it, database administrators cannot backup their InnoDB tables without shutting down MySQL or at least locking out all transactions.</p>
  
  <p>Oracle just bought themselves a whole lot of leverage with MySQL AB and a talented team of database engineers to boot.</p>
  
  <p>I've always wondered why MySQL AB didn't buy Innobase Oy years ago. It always made complete sense from where I sat. But I'm hardly an insider when it comes to the relationship between those companies. Needless to say, that relationship just got far more "interesting."</p>
</blockquote>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-10-08T07:10:53-06:00</dc:date>
    </item>
    <item>
      <title>Fabian Pascal Loves Me</title>
      <link>http://gadgetopia.com/post/4420</link>
      <description><![CDATA[<p><a title="DATABASE DEBUNKINGS - HOME" href="http://www.dbdebunk.com/index.html">DATABASE DEBUNKINGS - HOME</a>: My dreams have come true --  I am Fabian Pascal's "Quote of the Week."  He took this quote from the <a href="http://www.gadgetopia.com/post/4299">rip roarin' argument</a> we had a few weeks ago.  I said:</p>

<blockquote>
  <p>What I need in a database is place where I can persist and retrieve data. Those are my requirements -- let me persist data somewhere, then let me get it back when I need it, in the form that I need it. Relational databases -- whoops, I mean SQL databases -- have allowed me to do this for years. And how exactly can that be so bad?</p>
</blockquote>

<p>Dear Fabian uses these quotes as a supposed method of pointing out stupidity, but I utterly and completely stand by everything in the quote above.  What I said was true then, it is now, and it will be in the future no matter how much Fabian wishes it not to be so.</p>

<p>Something even cooler: I'm <a href="http://www.google.com/search?q=fabian+pascal">number six on Google</a> for "Fabian Pascal."  Fabian has been fantastic for my traffic.</p>

<p>(Note: the quote rotates, so the link above won't show the quote forever.  Eventually we'll be relegated to the <a href="http://www.dbdebunk.com/quotes2005.html.">past quotes page</a>)</p>
]]></description>
      <guid isPermaLink="false">4420@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="DATABASE DEBUNKINGS - HOME" href="http://www.dbdebunk.com/index.html">DATABASE DEBUNKINGS - HOME</a>: My dreams have come true --  I am Fabian Pascal's "Quote of the Week."  He took this quote from the <a href="http://www.gadgetopia.com/post/4299">rip roarin' argument</a> we had a few weeks ago.  I said:</p>

<blockquote>
  <p>What I need in a database is place where I can persist and retrieve data. Those are my requirements -- let me persist data somewhere, then let me get it back when I need it, in the form that I need it. Relational databases -- whoops, I mean SQL databases -- have allowed me to do this for years. And how exactly can that be so bad?</p>
</blockquote>

<p>Dear Fabian uses these quotes as a supposed method of pointing out stupidity, but I utterly and completely stand by everything in the quote above.  What I said was true then, it is now, and it will be in the future no matter how much Fabian wishes it not to be so.</p>

<p>Something even cooler: I'm <a href="http://www.google.com/search?q=fabian+pascal">number six on Google</a> for "Fabian Pascal."  Fabian has been fantastic for my traffic.</p>

<p>(Note: the quote rotates, so the link above won't show the quote forever.  Eventually we'll be relegated to the <a href="http://www.dbdebunk.com/quotes2005.html.">past quotes page</a>)</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-09-30T11:32:12-06:00</dc:date>
    </item>
    <item>
      <title>Database Platform Comparison</title>
      <link>http://gadgetopia.com/post/4310</link>
      <description><![CDATA[<p><a title="Comparison of relational database management systems - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems">Comparison of relational database management systems</a>: I found this Wikipedia page at the bottom of the <a href="http://www.gadgetopia.com/post/4306">SQL comparison</a> I linked to yesterday.  It's a comparison of major database platforms and their support of various features.  It doesn't get into the SQL like the other page, but there are more platforms to look at and more high-level features covered.</p>

<p>I'm surprised by how bare-bones MySQL is.  I knew it was stripped down, but it looks worse when you see it laid out like this.</p>
]]></description>
      <guid isPermaLink="false">4310@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Comparison of relational database management systems - Wikipedia, the free encyclopedia" href="http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems">Comparison of relational database management systems</a>: I found this Wikipedia page at the bottom of the <a href="http://www.gadgetopia.com/post/4306">SQL comparison</a> I linked to yesterday.  It's a comparison of major database platforms and their support of various features.  It doesn't get into the SQL like the other page, but there are more platforms to look at and more high-level features covered.</p>

<p>I'm surprised by how bare-bones MySQL is.  I knew it was stripped down, but it looks worse when you see it laid out like this.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-09-06T21:45:45-06:00</dc:date>
    </item>
    <item>
      <title>Common Database SQL Support</title>
      <link>http://gadgetopia.com/post/4306</link>
      <description><![CDATA[<p><a title="Comparison of different SQL implementations" href="http://troels.arvin.dk/db/rdbms/">Comparison of different SQL implementations</a>: This is a phenomenal page listing how the different database server platforms handle standard SQL tasks, for instance row limited, ORDER BY, NATURAL JOINS, etc.  Extremely well-researched.</p>

<blockquote>
  <p>The following tables compare how different DBMS products handle various SQL (and related) features. If possible, the tables also state how the implementations should do things, according to the SQL standard.</p>
</blockquote>

<p>Just reading this will teach you something you didn't know about your preferred platform.</p>
]]></description>
      <guid isPermaLink="false">4306@http://gadgetopia.com/</guid>
      <content:encoded><![CDATA[<p><a title="Comparison of different SQL implementations" href="http://troels.arvin.dk/db/rdbms/">Comparison of different SQL implementations</a>: This is a phenomenal page listing how the different database server platforms handle standard SQL tasks, for instance row limited, ORDER BY, NATURAL JOINS, etc.  Extremely well-researched.</p>

<blockquote>
  <p>The following tables compare how different DBMS products handle various SQL (and related) features. If possible, the tables also state how the implementations should do things, according to the SQL standard.</p>
</blockquote>

<p>Just reading this will teach you something you didn't know about your preferred platform.</p>
]]></content:encoded>
      <dc:subject>Databases / XML</dc:subject>
      <dc:date>2005-09-05T17:36:44-06:00</dc:date>
    </item>


  </channel>
</rss>