<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tim Anderson's ITWriting &#187; database</title>
	<atom:link href="http://www.itwriting.com/blog/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://www.itwriting.com/blog</link>
	<description>Tech writing blog</description>
	<lastBuildDate>Fri, 10 Feb 2012 15:16:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CodeRage free online conference for Delphi and RAD Studio starts next week</title>
		<link>http://www.itwriting.com/blog/5006-coderage-free-online-conference-for-delphi-and-rad-studio-starts-next-week.html</link>
		<comments>http://www.itwriting.com/blog/5006-coderage-free-online-conference-for-delphi-and-rad-studio-starts-next-week.html#comments</comments>
		<pubDate>Mon, 10 Oct 2011 14:02:49 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[embarcadero]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[coderage]]></category>
		<category><![CDATA[embarcadro]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/5006-coderage-free-online-conference-for-delphi-and-rad-studio-starts-next-week.html</guid>
		<description><![CDATA[<p>Embarcadero’s CodeRage virtual conference starts next week from October 17 2011, and is worth a look if you have any interest in Delphi or the new RAD Studio XE2.</p> <p>There are sessions on 64-bit Delphi, the new cross-platform FireMonkey framwork, the new LiveBindings data binding system, Prism (Delphi for .NET), and extras including a <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/5006-coderage-free-online-conference-for-delphi-and-rad-studio-starts-next-week.html">CodeRage free online conference for Delphi and RAD Studio starts next week</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/3794-updated-sqlite-wrapper-for-embarcadero-delphi-and-free-pascal.html' rel='bookmark' title='Permanent Link: Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)'>Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)</a></li>
<li><a href='http://www.itwriting.com/blog/4720-whats-coming-in-delphi-rad-studio-xe2-more-details-of-64-bit-and-mac-announced-introducing-firemonkey.html' rel='bookmark' title='Permanent Link: What&rsquo;s coming in Delphi RAD Studio XE2: more details of 64-bit and Mac announced, introducing FireMonkey'>What&rsquo;s coming in Delphi RAD Studio XE2: more details of 64-bit and Mac announced, introducing FireMonkey</a></li>
<li><a href='http://www.itwriting.com/blog/154-a-virtual-conference-for-delphi-2007-delphi-for-php-jbuilder.html' rel='bookmark' title='Permanent Link: A virtual conference for Delphi 2007, Delphi for PHP, JBuilder'>A virtual conference for Delphi 2007, Delphi for PHP, JBuilder</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Embarcadero’s <a href="http://www.embarcadero.com/coderage" target="_blank">CodeRage</a> virtual conference starts next week from October 17 2011, and is worth a look if you have any interest in Delphi or the new RAD Studio XE2.</p>
<p>There are sessions on 64-bit Delphi, the new cross-platform FireMonkey framwork, the new LiveBindings data binding system, Prism (Delphi for .NET), and extras including a session on Regular Expressions in Delphi and elsewhere, Dependency Injection and Delphi Spring, unit testing with Delphi, and using 3D graphics in business applications.</p>
<p>Of course you could wait for the replays to be available, but if this is like previous events there is a chance to ask questions to people who might actually know the answers, so there is an advantage to the live event – though the event is schedules for Pacific Time so the afternoon ones involve a late night if you are in the UK.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/3794-updated-sqlite-wrapper-for-embarcadero-delphi-and-free-pascal.html' rel='bookmark' title='Permanent Link: Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)'>Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)</a></li>
<li><a href='http://www.itwriting.com/blog/4720-whats-coming-in-delphi-rad-studio-xe2-more-details-of-64-bit-and-mac-announced-introducing-firemonkey.html' rel='bookmark' title='Permanent Link: What&rsquo;s coming in Delphi RAD Studio XE2: more details of 64-bit and Mac announced, introducing FireMonkey'>What&rsquo;s coming in Delphi RAD Studio XE2: more details of 64-bit and Mac announced, introducing FireMonkey</a></li>
<li><a href='http://www.itwriting.com/blog/154-a-virtual-conference-for-delphi-2007-delphi-for-php-jbuilder.html' rel='bookmark' title='Permanent Link: A virtual conference for Delphi 2007, Delphi for PHP, JBuilder'>A virtual conference for Delphi 2007, Delphi for PHP, JBuilder</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/5006-coderage-free-online-conference-for-delphi-and-rad-studio-starts-next-week.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full circle for Microsoft database APIs as OLEDB for SQL Server is deprecated</title>
		<link>http://www.itwriting.com/blog/4825-full-circle-for-microsoft-database-apis-as-ole-db-for-sql-server-is-deprecated.html</link>
		<comments>http://www.itwriting.com/blog/4825-full-circle-for-microsoft-database-apis-as-ole-db-for-sql-server-is-deprecated.html#comments</comments>
		<pubDate>Wed, 31 Aug 2011 18:53:01 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[oledb]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/4825-full-circle-for-microsoft-database-apis-as-ole-db-for-sql-server-is-deprecated.html</guid>
		<description><![CDATA[<p>Microsoft’s Eric Nelson has posted about how the OLEDB driver for SQL Server is being deprecated and will not be supported beyond “Denali”, the forthcoming version.</p> <p>OLEDB was created to be the successor to ODBC – expanding the supported data sources/models to include things other than relational databases. Notably OLEDB was tightly tied to <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/4825-full-circle-for-microsoft-database-apis-as-ole-db-for-sql-server-is-deprecated.html">Full circle for Microsoft database APIs as OLEDB for SQL Server is deprecated</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/4470-full-circle-at-microsoft-from-the-early-days-of-net-to-the-new-chakra-javascript-engine.html' rel='bookmark' title='Permanent Link: Full circle at Microsoft: from the early days of .NET to the new Chakra JavaScript engine'>Full circle at Microsoft: from the early days of .NET to the new Chakra JavaScript engine</a></li>
<li><a href='http://www.itwriting.com/blog/636-microsoft-access-needs-a-complete-rethink-or-retirement.html' rel='bookmark' title='Permanent Link: Microsoft Access needs a complete rethink &#8211; or retirement'>Microsoft Access needs a complete rethink &#8211; or retirement</a></li>
<li><a href='http://www.itwriting.com/blog/5364-microsoft-localdb-another-option-for-local-databases.html' rel='bookmark' title='Permanent Link: Microsoft LocalDB: another option for local databases'>Microsoft LocalDB: another option for local databases</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft’s Eric Nelson has <a href="http://ericnelson.wordpress.com/2011/08/31/no-oledb-support-in-sql-server-post-denali/" target="_blank">posted</a> about how the OLEDB driver for SQL Server is being deprecated and will not be supported beyond “Denali”, the forthcoming version.</p>
<blockquote><p>OLEDB was created to be the successor to ODBC – expanding the supported data sources/models to include things other than relational databases. Notably OLEDB was tightly tied to a Windows only technology (COM) whilst ODBC was not (Although we did try and take COM cross platform via partners)</p>
<p>ODBC never did get replaced. What actually happened is that ODBC remained the dominant of the two technologies for many scenarios – and became increasingly used on none Windows platforms and has become the de-facto industry standard for native relational data access.</p>
</blockquote>
<p>ODBC was as I recall Microsoft’s first attempt at creating a universal database API.</p>
<p>The death of OLEDB will be slow, according to Nelson. The OLEDB driver for Denali will be supported for seven years following Denali’s release. He also says that OLEDB itself, as opposed to the SQL Server OLEDB driver, is not necessarily being deprecated; though frankly if Microsoft ceases supporting it with its own database I cannot see much future for it.</p>
<p>Note that ADO.NET, which to some extent replaced OLEDB, is not being deprecated. However ADO.NET is only usable from .NET applications. When you consider that Microsoft may be to some extent tilting away from .NET and towards native code, the deprecation of OLEDB becomes even more significant.</p>
<p>ODBC is not particularly easy to use in its raw form. However, you can wrap ODBC with, yes, an OLEDB provider or an ADO.NET provider; or you can wrap the whole lot in an object-relational framework such as <a href="http://msdn.microsoft.com/en-us/library/bb399572.aspx" target="_blank">Entity Framework</a>.</p>
<p>One more chapter in the long, strange and tortuous history of Microsoft’s data APIs. </p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/4470-full-circle-at-microsoft-from-the-early-days-of-net-to-the-new-chakra-javascript-engine.html' rel='bookmark' title='Permanent Link: Full circle at Microsoft: from the early days of .NET to the new Chakra JavaScript engine'>Full circle at Microsoft: from the early days of .NET to the new Chakra JavaScript engine</a></li>
<li><a href='http://www.itwriting.com/blog/636-microsoft-access-needs-a-complete-rethink-or-retirement.html' rel='bookmark' title='Permanent Link: Microsoft Access needs a complete rethink &#8211; or retirement'>Microsoft Access needs a complete rethink &#8211; or retirement</a></li>
<li><a href='http://www.itwriting.com/blog/5364-microsoft-localdb-another-option-for-local-databases.html' rel='bookmark' title='Permanent Link: Microsoft LocalDB: another option for local databases'>Microsoft LocalDB: another option for local databases</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/4825-full-circle-for-microsoft-database-apis-as-ole-db-for-sql-server-is-deprecated.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using SQLite 3 with Unicode in Delphi</title>
		<link>http://www.itwriting.com/blog/3822-using-sqlite-3-with-unicode-in-delphi.html</link>
		<comments>http://www.itwriting.com/blog/3822-using-sqlite-3-with-unicode-in-delphi.html#comments</comments>
		<pubDate>Thu, 10 Feb 2011 15:24:33 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[embarcadero]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/3822-using-sqlite-3-with-unicode-in-delphi.html</guid>
		<description><![CDATA[<p>I’ve updated my SQLite3 Delphi wrapper for Unicode in Delphi 2009 and higher. Previous versions of the wrapper ducked the issue by using Ansi strings throughout.</p> <p></p> <p>I actually used Embarcadero Delphi XE for the development, but I would expect it to work in Delphi 2009 and higher, since it was in that version <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/3822-using-sqlite-3-with-unicode-in-delphi.html">Using SQLite 3 with Unicode in Delphi</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/3794-updated-sqlite-wrapper-for-embarcadero-delphi-and-free-pascal.html' rel='bookmark' title='Permanent Link: Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)'>Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)</a></li>
<li><a href='http://www.itwriting.com/blog/987-sqlite-and-delphi-2009.html' rel='bookmark' title='Permanent Link: SQLite and Delphi 2009'>SQLite and Delphi 2009</a></li>
<li><a href='http://www.itwriting.com/blog/304-sqlite-wrapper-for-delphi.html' rel='bookmark' title='Permanent Link: SQLite wrapper for Delphi'>SQLite wrapper for Delphi</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I’ve updated my SQLite3 Delphi wrapper for Unicode in Delphi 2009 and higher. Previous versions of the wrapper ducked the issue by using Ansi strings throughout.</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2011/02/image10.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2011/02/image_thumb10.png" width="404" height="254" /></a></p>
<p>I actually used Embarcadero Delphi XE for the development, but I would expect it to work in Delphi 2009 and higher, since it was in that version that Delphi first properly supported Unicode. Converting older Delphi projects is meant to be seamless, except in cases where you are using pointers or doing interop with native DLLs; of course this wrapper does both.</p>
<p>The SQLite 3 API expects either UTF8 or Unicode strings. To be more precise, some functions have Unicode versions indicated with a “16” suffix, and some do not, in which case they expect UTF8 if they accept string values. Although UTF8 strings support Unicode characters, most characters generally occupy a single byte just as in Ansi strings, so one of the things I discovered was that I could not simply rely on PChar, Delphi’s null-terminated string type, which from Delphi 2009 is a Unicode type with double-byte characters. Instead, for cases where the SQLite 3 API expects a UTF8 string, I have used PAnsiChar as before. </p>
<p>It is all somewhat confusing, and there are a few cases where Delphi does not do quite what you would expect. I recommend Marco Cantu’s paper <a href="http://edn.embarcadero.com/article/images/38980/Delphi_and_Unicode.pdf" target="_blank">Delphi and Unicode</a> [pdf], one of the best resources I found. This article by Nick Hodges on <a href="http://edn.embarcadero.com/article/38693" target="_blank">Unicodifying your code</a> is handy too.</p>
<p>Finally, in the example I keep an object in memory and it is easy to end up with code paths that do not free it. I love this feature of Delphi (since at least 2007) which informs you of your mistake when the application closes:</p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2011/02/image11.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2011/02/image_thumb11.png" width="404" height="285" /></a></p>
<p>I have uploaded the code and you can find it linked <a href="http://www.itwriting.com/blog/?page_id=659" target="_blank">here</a>.</p>
<p><strong>Update</strong>: My assumption that Delphi 2010 would work the same way as Delphi XE was incorrect. I have some code that reads a blob field containing a UTF8 string and returns it as a string. I read the stream into a byte array and then cast it to a UTF8String:</p>
<blockquote><p>str := UTF8String(bytes);</p>
</blockquote>
<p>where str is a UTF8string variable. This worked in Delphi XE, but in Delphi 2010 I got garbage. I have modified the code to use a TStringStream and now it works in both.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/3794-updated-sqlite-wrapper-for-embarcadero-delphi-and-free-pascal.html' rel='bookmark' title='Permanent Link: Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)'>Updated SQLite wrapper for Embarcadero Delphi (and Free Pascal)</a></li>
<li><a href='http://www.itwriting.com/blog/987-sqlite-and-delphi-2009.html' rel='bookmark' title='Permanent Link: SQLite and Delphi 2009'>SQLite and Delphi 2009</a></li>
<li><a href='http://www.itwriting.com/blog/304-sqlite-wrapper-for-delphi.html' rel='bookmark' title='Permanent Link: SQLite wrapper for Delphi'>SQLite wrapper for Delphi</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/3822-using-sqlite-3-with-unicode-in-delphi.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why Oracle is immoveable in the Enterprise</title>
		<link>http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html</link>
		<comments>http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html#comments</comments>
		<pubDate>Mon, 20 Sep 2010 15:41:26 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html</guid>
		<description><![CDATA[<p>At Oracle OpenWorld yesterday I spoke to an attendee from a global enterprise. His company is a big IBM customer and would like to standardise on DB2. To some extent it does, but there is still around 30% Oracle and significant usage of Microsoft SQL Server. Why three database platforms when they would prefer <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html">Why Oracle is immoveable in the Enterprise</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/915-running-oracle-on-amazons-cloud.html' rel='bookmark' title='Permanent Link: Running Oracle on Amazon&rsquo;s cloud'>Running Oracle on Amazon&rsquo;s cloud</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>At Oracle OpenWorld yesterday I spoke to an attendee from a global enterprise. His company is a big IBM customer and would like to standardise on DB2. To some extent it does, but there is still around 30% Oracle and significant usage of Microsoft SQL Server. Why three database platforms when they would prefer to settle on one? Applications, which in many cases are only certified for a specific database manager.</p>
<p>I was at MySQL Sunday earlier in the day, and asked whether he had any interest in Oracle’s open source database product. As you would expect, he said it was enough trouble maintaining three different systems; the last thing he wanted was a fourth.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/915-running-oracle-on-amazons-cloud.html' rel='bookmark' title='Permanent Link: Running Oracle on Amazon&rsquo;s cloud'>Running Oracle on Amazon&rsquo;s cloud</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle: a good home for MySQL?</title>
		<link>http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html</link>
		<comments>http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html#comments</comments>
		<pubDate>Mon, 20 Sep 2010 00:45:52 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html</guid>
		<description><![CDATA[<p>I’m not able to attend the whole of Oracle OpenWorld / JavaOne, but I have sneaked in to MySQL Sunday, which is a half-day pre-conference event. One of the questions that interests me: is MySQL in safe hands at Oracle, or will it be allowed to wither in order to safeguard Oracle’s closed-source database <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html">Oracle: a good home for MySQL?</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/478-sun-gets-a-database-manager-but-oracle-owns-its-innodb-engine.html' rel='bookmark' title='Permanent Link: Sun gets a database manager, but Oracle owns its InnoDB engine'>Sun gets a database manager, but Oracle owns its InnoDB engine</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
<li><a href='http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html' rel='bookmark' title='Permanent Link: Why Oracle is immoveable in the Enterprise'>Why Oracle is immoveable in the Enterprise</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I’m not able to attend the whole of Oracle OpenWorld / JavaOne, but I have sneaked in to MySQL Sunday, which is a half-day pre-conference event. One of the questions that interests me: is MySQL in safe hands at Oracle, or will it be allowed to wither in order to safeguard Oracle’s closed-source database business?</p>
<p>It is an obvious question, but not necessarily a sensible one. There is some evidence for a change in direction. Prior to the takeover, the MySQL team was working on a database engine called Falcon, intended to lift the product into the realm of enterprise database management. Oracle put Falcon on the shelf; Oracle veteran Edward Screven (who also gave the keynote here) <a href="http://www.eweek.com/c/a/Database/Oracle-Discusses-MySQL-Database-Plans-854185/" target="_blank">said</a> that the real rationale for Falcon was that InnoDB would be somehow jiggered by Oracle, and that now both MySQL and InnoDB were at Oracle, it made no sense.</p>
<p>Context: InnoDB is the grown-up database engine for MySQL, with support for transactions, and already belonged to Oracle from an earlier acquisition.</p>
<p>There may be something in it; but it is also true that Oracle has fine-tuned the positioning of MySQL. Screven today emphasised that MySQL is Oracle’s small and nimble database manager; it is “quite performant and quite functional”, he said; the word “quite” betraying a measure of corporate internal conflict. Screven described how Oracle has improved the performance of MySQL on Windows and is cheerful about the possibility of it taking share from Microsoft’s SQL Server.</p>
<p>It is important to look at the actions as well as the words. Today Oracle announced the release candidate of MySQL 5.5, which uses InnoDB by default, and has performance and scalability improvements that are dramatic in certain scenarios, as well as new and improved tools. InnoDB is forging ahead, with the team working especially on taking better advantage of multi-core systems; we also heard about full text search coming to the engine.</p>
<p>The scalability of MySQL is demonstrated by some of its best-known deployments, including Facebook and Wikipedia. Facebook’s Mark Callaghan spoke today about making MySQL work well, and gave some statistics concerning peak usage: 450 million rows read per second, 3.5 million rows changed per second, query response time 4ms.</p>
<p>If pressed, Screven talks about complexity and reliability with critical data as factors that point to an Oracle rather than a MySQL solution, rather than lack of scalability.</p>
<p>In practice it matters little. No enterprise currently using an Oracle database is going to move to MySQL; aside from doubts over its capability, it is far too difficult and risky to switch your database manager to an alternative, since each one has its own language and its own optimisations. Further, Oracle’s application platform is built on its own database and that will not change. Customers are thoroughly locked in.</p>
<p>What this means is that Oracle can afford to support MySQL’s continuing development without risk of cannibalising its own business. In fact, MySQL presents an opportunity to get into new markets. Oracle is not the ideal steward for this important open source project, but it is working out OK so far.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/478-sun-gets-a-database-manager-but-oracle-owns-its-innodb-engine.html' rel='bookmark' title='Permanent Link: Sun gets a database manager, but Oracle owns its InnoDB engine'>Sun gets a database manager, but Oracle owns its InnoDB engine</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
<li><a href='http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html' rel='bookmark' title='Permanent Link: Why Oracle is immoveable in the Enterprise'>Why Oracle is immoveable in the Enterprise</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe news: Flash Builder 4, Creative Suite 5, quarterly results</title>
		<link>http://www.itwriting.com/blog/2384-adobe-news-flash-builder-4-creative-suite-5-quarterly-results.html</link>
		<comments>http://www.itwriting.com/blog/2384-adobe-news-flash-builder-4-creative-suite-5-quarterly-results.html#comments</comments>
		<pubDate>Wed, 24 Mar 2010 00:15:05 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[web authoring]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[creative suite]]></category>
		<category><![CDATA[flash builder]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/2384-adobe-news-flash-builder-4-creative-suite-5-quarterly-results.html</guid>
		<description><![CDATA[<p>Lots of Adobe news this week.</p> <p>First, the release of Flash Builder 4. It seems a long time ago that I was looking at the first preview of code-name Gumbo; it’s good to see this finally released. Since it is Eclipse-based, it looks similar to to Flex Builder 3.0; but under the covers there <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/2384-adobe-news-flash-builder-4-creative-suite-5-quarterly-results.html">Adobe news: Flash Builder 4, Creative Suite 5, quarterly results</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1434-adobes-flex-builder-to-flash-builder-name-change-does-not-go-far-enough.html' rel='bookmark' title='Permanent Link: Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough'>Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough</a></li>
<li><a href='http://www.itwriting.com/blog/2772-adobe-financials-strong-creative-suite-5-and-flash-claims-company-undervalued.html' rel='bookmark' title='Permanent Link: Adobe financials: strong Creative Suite 5 and Flash, claims company undervalued'>Adobe financials: strong Creative Suite 5 and Flash, claims company undervalued</a></li>
<li><a href='http://www.itwriting.com/blog/4166-adobe-announces-flash-builder-for-php-phonegap-integration-in-dreamweaver.html' rel='bookmark' title='Permanent Link: Adobe announces Flash Builder for PHP, PhoneGap integration in Dreamweaver'>Adobe announces Flash Builder for PHP, PhoneGap integration in Dreamweaver</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Lots of Adobe news this week.</p>
<p>First, the release of <a href="http://www.adobe.com/products/flashbuilder/" target="_blank">Flash Builder 4</a>. It seems a long time ago that I was looking at the first preview of code-name Gumbo; it’s good to see this finally released. Since it is Eclipse-based, it looks similar to to Flex Builder 3.0; but under the covers there is the new <a href="http://www.adobe.com/devnet/flex/articles/flex4sdk_whatsnew.html" target="_blank">Flex 4 SDK</a> with the Spark component architecture. The design tools have been revamped, and a time-saving feature is that you can now generate an event handler with one click. Flash Builder 4 also has built-in unit testing with FlexUnit, which is a big deal for those enlightened folk who do test-driven development. </p>
<p>Adobe has also worked hard on database connectivity. Flash Builder 4 will generate wrapper code for a variety of data sources, including HTTP and REST, PHP, SOAP, and Adobe’s LiveCycle Data Services middleware. </p>
<p><a href="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image16.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.itwriting.com/blog/wp-content/uploads/2010/03/image_thumb16.png" width="404" height="409" /></a> </p>
<p>There is a new data/services panel that shows all the available sources, with drag-and-drop data binding, batch updates, and other handy features.</p>
<p>There are a few downsides to Flash Builder 4. ActionScript feels dated if you have been playing with something like C# 4.0, soon to be released as part of Microsoft’s Visual Studio 2010. I’ve also heard complaints that equivalent projects built with Flex are larger than equivalents built with the Flash IDE. The naming is puzzling; we now have to distinguish between the Flash IDE and the Flash Builder IDE, which are completely different products, but the SDK for code-centric development is still called Flex. There is no support yet for <a href="http://www.adobe.com/go/air2" target="_blank">AIR 2.0</a>, the latest version of the desktop runtime; nor for the much-hyped iPhone app development. Patience is called for, I guess.</p>
<p>More information on Flex and Flash Builder <a href="http://www.adobe.com/devnet/flex/" target="_blank">here</a>.</p>
<p>The next big product launch from Adobe will be Creative Suite 5, for which a launch date of Monday, 12th April has been announced. You can sign up for an online launch event and see some sneak peek videos <a href="http://cs5launch.adobe.com/" target="_blank">here</a>.</p>
<p>Finally, Adobe released quarterly financial figures today. The company <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/201003/Q110Earnings.html" target="_blank">says they are strong results</a>; revenue is 9.1% higher than last year and GAAP earnings are positive (unlike the <a href="http://www.itwriting.com/blog/2015-adobe-financials-and-the-future-of-packaged-software.html" target="_blank">last quarter</a>). However, looking at the <a href="http://www.adobe.com/aboutadobe/invrelations/pdfs/q110_ir_datasheet.pdf" target="_blank">investor datasheet [PDF]</a> I noticed that new analytics acquisition Omniture now accounts for 10% of revenue; if you deduct that from the increase it does not look so good. Still, a profit is a profit, and the quarter before a major update to CS 5.0 may be under par as users wait for the new release,&#160; so overall it does not look too bad.&#160; The <a href="http://www.adobe.com/aboutadobe/invrelations/10q1analyst/" target="_blank">Q1 Earnings Call</a> is worth looking at if only for its nice indexing; I wish all online videos worked like this.</p>
<p>One questioner asked about HTML 5 &#8211; “how quickly can you provide support when it comes”? An intriguing question. I suspect it reflects more on the publicity around Flash vs HTML than on the progress of the HTML 5 standard itself, which is coming in <a href="http://www.itwriting.com/blog/2353-the-two-specifications-of-html-5-0-what-wg-vs-w3c.html" target="_blank">fits and starts</a>. “The reality is that it’s a fragmented standard, but we will continue to support it”, was the answer from CEO Shantanu Narayen, though he added a plug for the “benefits of our runtime, which is Flash”.</p>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1434-adobes-flex-builder-to-flash-builder-name-change-does-not-go-far-enough.html' rel='bookmark' title='Permanent Link: Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough'>Adobe&rsquo;s Flex Builder to Flash Builder name change does not go far enough</a></li>
<li><a href='http://www.itwriting.com/blog/2772-adobe-financials-strong-creative-suite-5-and-flash-claims-company-undervalued.html' rel='bookmark' title='Permanent Link: Adobe financials: strong Creative Suite 5 and Flash, claims company undervalued'>Adobe financials: strong Creative Suite 5 and Flash, claims company undervalued</a></li>
<li><a href='http://www.itwriting.com/blog/4166-adobe-announces-flash-builder-for-php-phonegap-integration-in-dreamweaver.html' rel='bookmark' title='Permanent Link: Adobe announces Flash Builder for PHP, PhoneGap integration in Dreamweaver'>Adobe announces Flash Builder for PHP, PhoneGap integration in Dreamweaver</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/2384-adobe-news-flash-builder-4-creative-suite-5-quarterly-results.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL comes to Amazon&#8217;s cloud. Anyone for Quadruple Extra Large?</title>
		<link>http://www.itwriting.com/blog/1924-mysql-comes-to-amazons-cloud-anyone-for-quadruple-extra-large.html</link>
		<comments>http://www.itwriting.com/blog/1924-mysql-comes-to-amazons-cloud-anyone-for-quadruple-extra-large.html#comments</comments>
		<pubDate>Tue, 27 Oct 2009 09:35:03 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[amazon]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/1924-mysql-comes-to-amazons-cloud-anyone-for-quadruple-extra-large.html</guid>
		<description><![CDATA[<p>Amazon has announced the Amazon Relational Database Service:</p> <p>Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS. Amazon RDS automatically patches the database software and backs up your <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/1924-mysql-comes-to-amazons-cloud-anyone-for-quadruple-extra-large.html">MySQL comes to Amazon&#8217;s cloud. Anyone for Quadruple Extra Large?</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
<li><a href='http://www.itwriting.com/blog/451-amazon-simpledb-a-database-for-the-web.html' rel='bookmark' title='Permanent Link: Amazon SimpleDB: a database server for the internet'>Amazon SimpleDB: a database server for the internet</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Amazon has announced the <a href="http://aws.amazon.com/rds/?ref_=pe_12300_13473310">Amazon Relational Database Service</a>:</p>
<blockquote><p>Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period. You also benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.</p>
</blockquote>
<p>The cost starts at $0.11 per hour for a small database instance (1.7GB RAM, 1 virtual core, 64-bit), increasing in stages as more power is required. The engagingly-titled “Quadruple Extra Large DB Instance” offers 68GB RMA and 8 virtual cores, at $3.10 per hour.</p>
<p>In addition, you pay for database storage at $0.10 per GB-month, $0.10 per 1 million I/O requests, $.10 per GB transferred in, and $0.17 per GB transferred out.</p>
<p>That’s a worrying collection of charges, but the usual logic applies: if you need a hefty database server for a defined period, say to cover a special event, this will work out more cost-effective than installing your own servers.</p>
<p>You can also install MySQL or other database servers on general-purpose Amazon <a href="http://aws.amazon.com/ec2/">EC2</a> instances, but this pre-built solution looks attractive.</p>
<p>Microsoft started its cloud database initiative with a preview of SQL Server Data Services, offering a limited database API more like <a href="http://aws.amazon.com/simpledb/">Amazon SimpleDB</a>. Then Microsoft decided to offer <a href="http://www.microsoft.com/windowsazure/sqlazure/">full SQL Server</a> on its Azure cloud. However, Azure is still a Community Tech Preview, and during the interim period Amazon has come up with its own fully relational solution.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d9d8f1d3-3da9-4275-a09b-1dee5b1ea812" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/mysql" rel="tag">mysql</a>,<a href="http://technorati.com/tags/amazon" rel="tag">amazon</a>,<a href="http://technorati.com/tags/microsoft" rel="tag">microsoft</a>,<a href="http://technorati.com/tags/azure" rel="tag">azure</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html' rel='bookmark' title='Permanent Link: Why the EU should not worry about Oracle and MySQL'>Why the EU should not worry about Oracle and MySQL</a></li>
<li><a href='http://www.itwriting.com/blog/451-amazon-simpledb-a-database-for-the-web.html' rel='bookmark' title='Permanent Link: Amazon SimpleDB: a database server for the internet'>Amazon SimpleDB: a database server for the internet</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/1924-mysql-comes-to-amazons-cloud-anyone-for-quadruple-extra-large.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why the EU should not worry about Oracle and MySQL</title>
		<link>http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html</link>
		<comments>http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html#comments</comments>
		<pubDate>Fri, 04 Sep 2009 14:55:11 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html</guid>
		<description><![CDATA[<p>The European Commission is examining Oracle’s acquisition of Sun and has concerns about the implications for MySQL:</p> <p>Competition Commissioner Neelie Kroes said: “The Commission has to examine very carefully the effects on competition in Europe when the world&#8217;s leading proprietary database company proposes to take over the world&#8217;s leading open source database company. In <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html">Why the EU should not worry about Oracle and MySQL</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html' rel='bookmark' title='Permanent Link: Why Oracle is immoveable in the Enterprise'>Why Oracle is immoveable in the Enterprise</a></li>
<li><a href='http://www.itwriting.com/blog/4193-oracle-says-openoffice-non-strategic-ceases-commercial-versions-time-to-reunite-with-libre-office.html' rel='bookmark' title='Permanent Link: Oracle says OpenOffice non-strategic, ceases commercial versions. Time to reunite with Libre Office?'>Oracle says OpenOffice non-strategic, ceases commercial versions. Time to reunite with Libre Office?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The European Commission is <a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/09/1271&amp;format=HTML&amp;aged=0&amp;language=EN&amp;guiLanguage=en" target="_blank">examining Oracle’s acquisition of Sun</a> and has concerns about the implications for MySQL:</p>
<blockquote><p>Competition Commissioner Neelie Kroes said: “The Commission has to examine very carefully the effects on competition in Europe when the world&#8217;s leading proprietary database company proposes to take over the world&#8217;s leading open source database company. In particular, the Commission has an obligation to ensure that customers would not face reduced choice or higher prices as a result of this takeover. Databases are a key element of company IT systems. In the current economic context, all companies are looking for cost-effective IT solutions, and systems based on open-source software are increasingly emerging as viable alternatives to proprietary solutions. The Commission has to ensure that such alternatives would continue to be available”.</p>
</blockquote>
<p>The most remarkable thing about this investigation is that it exists. One of the supposed benefits of open source is that, come what may, your product cannot be abandoned at the whim of some commercial giant; you have the code, and as long as a viable community of users and developers exists, its future is in your hands. So why is the EU worried?</p>
<p>The issue I suppose is that while Oracle cannot remove code from the community, it would have it in its power to disrupt MySQL – in fact, that is happening already. It could refuse to invest in further development, and encourage customers with support agreements to move to the latest Oracle solution instead. I am not saying that is likely; I have no idea what Oracle plans, and it already owns <a href="http://www.innodb.com/" target="_blank">Innobase</a>, which supplies the most widely-used transactional engine for MySQL, without obvious adverse affects.</p>
<p>Still, it is important to think clearly about the case. I’ve just been talking to Simon Cattlin at <a href="http://www.ingres.com/" target="_blank">Ingres</a>, who is using the opportunity to mention that worried MySQL customers are making enquiries at his company. He also argues that the EU’s intervention proves the increasing importance of open source technology.</p>
<p>That latter point is true; but there is some doublethink going on here. There are two sides to MySQL. On one side it’s powering a zillion mostly non-critical web applications for free, while on the other it is a serious business contender covered by support contracts. It is all the free users that make it “the world’s leading open source database company”, not the relatively small number of commercial licensees; and it was Sun’s failure to shift users from one to the other that accounted (among other things) for its decline.</p>
<p>So which of these groups is the EU concerned about? If it’s the free users, I don’t think it should worry too much. The existing product works, the community will maintain it, and forks are already appearing, not least <a href="http://askmonty.org/wiki/index.php/Main_Page" target="_blank">MariaDB</a> from a company started by MySQL creator Monty Widenius. </p>
<p>On the other hand, if it is the Enterprise users, I don’t think the EU should worry either, because it is not a big enough deal to warrant anti-competitive concerns. Cattlin told me that Ingres actually had higher revenue that MySQL at the time of the Sun takeover.</p>
<p>It makes no sense to conflate the free and commercial users into one, and use the number of free users to justify action which mainly concerns the commercial users.</p>
<p>That said, it’s true that having an open source product owned and mainly developed by a commercial company is always somewhat uncomfortable. One of the reasons the <a href="http://www.apache.org" target="_blank">Apache</a> web server succeeds is because it belongs to an independent foundation. There is rarely a clean separation between what is commercial and what is open source though: the money has to come from somewhere, and entities like Apache and <a href="http://www.eclipse.org" target="_blank">Eclipse</a> survive on staff and funds contributed by profit-making companies.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ab6ab959-c762-44aa-a8f2-1713944b7f2c" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/ingres" rel="tag">ingres</a>,<a href="http://technorati.com/tags/mysql" rel="tag">mysql</a>,<a href="http://technorati.com/tags/oracle" rel="tag">oracle</a>,<a href="http://technorati.com/tags/sun" rel="tag">sun</a>,<a href="http://technorati.com/tags/apache" rel="tag">apache</a>,<a href="http://technorati.com/tags/eclipse" rel="tag">eclipse</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/3175-oracle-a-good-home-for-mysql.html' rel='bookmark' title='Permanent Link: Oracle: a good home for MySQL?'>Oracle: a good home for MySQL?</a></li>
<li><a href='http://www.itwriting.com/blog/3176-why-oracle-is-immoveable-in-the-enterprise.html' rel='bookmark' title='Permanent Link: Why Oracle is immoveable in the Enterprise'>Why Oracle is immoveable in the Enterprise</a></li>
<li><a href='http://www.itwriting.com/blog/4193-oracle-says-openoffice-non-strategic-ceases-commercial-versions-time-to-reunite-with-libre-office.html' rel='bookmark' title='Permanent Link: Oracle says OpenOffice non-strategic, ceases commercial versions. Time to reunite with Libre Office?'>Oracle says OpenOffice non-strategic, ceases commercial versions. Time to reunite with Libre Office?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/1763-why-the-eu-should-not-worry-about-oracle-and-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQLite C# port raises hopes for a Silverlight local database manager</title>
		<link>http://www.itwriting.com/blog/1674-sqlite-c-port-raises-hopes-for-a-silverlight-local-database-manager.html</link>
		<comments>http://www.itwriting.com/blog/1674-sqlite-c-port-raises-hopes-for-a-silverlight-local-database-manager.html#comments</comments>
		<pubDate>Mon, 03 Aug 2009 07:53:54 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/1674-sqlite-c-port-raises-hopes-for-a-silverlight-local-database-manager.html</guid>
		<description><![CDATA[<p>Yesterday programmer Noah Hart announced a port of SQLite to C#:</p> <p>I am pleased to announce that the C# port is done to the point where others can look at it.</p> <p>Unfortunately the code was taken offline almost immediately afterwards, thanks to the intervention of the author of SQLite, D Richard Hipp:</p> <p>Noah, you <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/1674-sqlite-c-port-raises-hopes-for-a-silverlight-local-database-manager.html">SQLite C# port raises hopes for a Silverlight local database manager</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1695-proof-of-concept-c-sqlite-running-in-silverlight.html' rel='bookmark' title='Permanent Link: Proof of concept: C#-SQLite running in Silverlight'>Proof of concept: C#-SQLite running in Silverlight</a></li>
<li><a href='http://www.itwriting.com/blog/1681-c-sqlite-now-published.html' rel='bookmark' title='Permanent Link: C#-SQLite now published'>C#-SQLite now published</a></li>
<li><a href='http://www.itwriting.com/blog/242-sqlite-will-be-everywhere.html' rel='bookmark' title='Permanent Link: SQLite will be everywhere'>SQLite will be everywhere</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Yesterday programmer Noah Hart <a href="http://www.mail-archive.com/sqlite-users@sqlite.org/msg44921.html">announced</a> a port of <a href="http://sqlite.org/">SQLite</a> to C#:</p>
<blockquote><p>I am pleased to announce that the C# port is done to the point where others can look at it.</p>
</blockquote>
<p>Unfortunately the code was taken offline almost immediately afterwards, thanks to the intervention of the author of SQLite, D Richard Hipp:</p>
<blockquote><p>Noah, you are welcomed, even encouraged, to take the source code to SQLite and translate it in any way you want and do whatever you want with it. But you need to make it abundantly clear to everyone on your site and in the comments of your source code that your code is <strong>not</strong> the original SQLite &#8230; SQLite is a registered trade mark. If I don&#8217;t defend the trademark, then I could lose it. So, I really do need to insist that you not use the name &quot;SQLite&quot; for your product. </p>
</blockquote>
<p>The reason given is that Dr Hipp does not want to receive support requests for the port, though the intervention is a little surprising since there are other 3rd party adaptions out there that do use the SQLite name, though these generally modify or wrap the original code rather than porting it completely. </p>
<p>Still, Hart has taken it in his stride and it looks as if the code may be back soon under the name sqlsharp – a <a href="http://code.google.com/p/sqlsharp/">Google code project</a> with that name has been created. I hope this is the name since I <a href="http://www.mail-archive.com/sqlite-users@sqlite.org/msg44944.html">suggested it</a>, though it is rather an obvious one and I might not have been the first.</p>
<p>Why the interest? First, it’s always interesting to compare languages. Currently, Hart says his executable compiles to 528kb vs 506kb for the native version, and performs <a href="http://www.nabble.com/Re%3A-ANN%3A--SQLite-3.6.16.C--p24769455.html">3-5 times more slowly</a> (results in rows per second):</p>
<table>
<tbody>
<tr>
<td>Test</td>
<td>SQLite3 C#</td>
<td>SQLite3</td>
</tr>
<tr>
<td>Inserts</td>
<td>300K</td>
<td>1300K</td>
</tr>
<tr>
<td>Selects</td>
<td>1500K</td>
<td>8450K</td>
</tr>
<tr>
<td>Updates</td>
<td>60K</td>
<td>300K</td>
</tr>
<tr>
<td>Deletes</td>
<td>250K</td>
<td>700K</td>
</tr>
</tbody>
</table>
<p>Although that may seem disappointing, SQLite is remarkably fast so even 5 times slower is still acceptable in many contexts; and there are no doubt many possibilities for optimisation.</p>
<p>What’s the point? Hart says it was a C# learning exercise, which is fair enough. Others are hopeful for a local database manager for Microsoft Silverlight, writing to isolated storage. Competitor <a href="http://www.adobe.com/products/air/">Adobe AIR</a> includes SQLite in the runtime, as does <a href="http://gears.google.com/">Google Gears</a>.</p>
<p>Silverlight may a stretch for Hart’s port. Silverlight does not allow platform invoke or code marked as unsafe; and while there are apparently only a few p/invoke calls I’m guessing there may be many unsafe sections since the original SQLite makes heavy use of pointers.*</p>
<p>Although Silverlight is an implementation of the .NET Framework, it does not include the System.Data namespace. It does include System.Linq.</p>
<p>There are a few other efforts at creating a local database manager for Silverlight, including <a href="http://www.mcobject.com/perst">McObject’s Perst</a>, db4o (<a href="http://developer.db4o.com/blogs/product_news/archive/2009/06/10/in-the-search-of-silver.aspx">work in progress</a>), and <a href="http://silverdb.codeplex.com/">Silverlight Database</a> which works by persisting XML.</p>
<p>*<strong>Update</strong>: the project has now been <a href="http://code.google.com/p/csharp-sqlite/">published as csharp-sqlite</a>, which is an excellent name; it looks as if Hipp relented to some extent. Now that I’ve seen the code I find I’m wrong about unsafe sections. In fact, I added C#-Sqlite to a Silverlight project and it failed to compile with a mere 53 errors, many of them related to file locking – possibly less necessary in isolated storage? A Silverlight port looks feasible. </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3abe022e-b390-4c56-ba7d-6ae37eab11f0" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/silverlight" rel="tag">silverlight</a>,<a href="http://technorati.com/tags/sqlite" rel="tag">sqlite</a>,<a href="http://technorati.com/tags/sqlsharp" rel="tag">sqlsharp</a>,<a href="http://technorati.com/tags/database" rel="tag">database</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1695-proof-of-concept-c-sqlite-running-in-silverlight.html' rel='bookmark' title='Permanent Link: Proof of concept: C#-SQLite running in Silverlight'>Proof of concept: C#-SQLite running in Silverlight</a></li>
<li><a href='http://www.itwriting.com/blog/1681-c-sqlite-now-published.html' rel='bookmark' title='Permanent Link: C#-SQLite now published'>C#-SQLite now published</a></li>
<li><a href='http://www.itwriting.com/blog/242-sqlite-will-be-everywhere.html' rel='bookmark' title='Permanent Link: SQLite will be everywhere'>SQLite will be everywhere</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/1674-sqlite-c-port-raises-hopes-for-a-silverlight-local-database-manager.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The end of the Borland story: acquired by Micro Focus</title>
		<link>http://www.itwriting.com/blog/1413-the-end-of-the-borland-story-acquired-by-micro-focus.html</link>
		<comments>http://www.itwriting.com/blog/1413-the-end-of-the-borland-story-acquired-by-micro-focus.html#comments</comments>
		<pubDate>Wed, 06 May 2009 18:14:25 +0000</pubDate>
		<dc:creator>tim</dc:creator>
				<category><![CDATA[borland]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[delphi]]></category>

		<guid isPermaLink="false">http://www.itwriting.com/blog/1413-the-end-of-the-borland-story-acquired-by-micro-focus.html</guid>
		<description><![CDATA[<p>It is not unexpected, but still sad to see loss-making Borland acquired by Micro Focus for a knock-down price of $75m. Borland’s release says little beyond the financial details. Micro Focus, which is also acquiring Compuware’s ASQ (Automated Software Quality) tools (such as QADirector, DevPartner and Optimal Trace, I presume) says:</p> <p>Acquiring Borland and <p><i>...continue reading</i> <a href="http://www.itwriting.com/blog/1413-the-end-of-the-borland-story-acquired-by-micro-focus.html">The end of the Borland story: acquired by Micro Focus</a></p>


Related posts:<ol><li><a href='http://www.itwriting.com/blog/1418-the-compuware-tools-that-are-going-to-micro-focus.html' rel='bookmark' title='Permanent Link: The Compuware tools that are going to Micro Focus'>The Compuware tools that are going to Micro Focus</a></li>
<li><a href='http://www.itwriting.com/blog/49-borland-keeps-its-developer-tools-after-all.html' rel='bookmark' title='Permanent Link: Borland keeps its developer tools after all'>Borland keeps its developer tools after all</a></li>
<li><a href='http://www.itwriting.com/blog/56-borlands-jbuilder-on-eclipse-emerges.html' rel='bookmark' title='Permanent Link: Borland&#8217;s JBuilder-on-Eclipse emerges'>Borland&#8217;s JBuilder-on-Eclipse emerges</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>It is not unexpected, but still sad to see loss-making Borland acquired by Micro Focus for a knock-down price of $75m. <a href="http://www.borland.com/us/company/news/press_releases/2009/05_06_09_borland_to_be_acquired_by_micro_focus.html" target="_blank">Borland’s release</a> says little beyond the financial details. Micro Focus, which is also <a href="http://investor.compuware.com/releasedetail.cfm?ReleaseID=381984" target="_blank">acquiring</a> Compuware’s ASQ (Automated Software Quality) <a href="http://www.compuware.com/solutions/3596_ENG_HTML.htm" target="_blank">tools</a> (such as QADirector, DevPartner and Optimal Trace, I presume) <a href="http://www.microfocus.com/AboutMicroFocus/pressroom/releases/pr20090506308750.asp" target="_blank">says</a>:</p>
<blockquote><p>Acquiring Borland and the Compuware Testing and ASQ Business will give Micro Focus a leading market position in the highly complementary Application Testing / ASQ market. This market is estimated to be worth c.US$2 billion a year and is logically adjacent to Micro Focus’ core application management and modernization business.&#160; The move into the ASQ market is consistent with Micro Focus’ stated strategy of extending in logically adjacent segments to expand its addressable market.</p>
</blockquote>
<p>Why sad? Well, if you were around in the eighties and nineties you will remember a bold company which came up with a series of excellent products: Turbo Pascal, Borland C/C++, Quattro Pro, Paradox, and of course the incomparable Windows development tool Delphi. The visual development model in Delphi was successfully transitioned to Java in the JBuilder product, which in its early versions used a Delphi-compiled IDE.</p>
<p>These developer-focused products live on, of course, mostly in the hands of <a href="http://www.embarcadero.com/" target="_blank">Embarcadero</a>. The Borland that has been acquired is what was left when, in my developer-centric opinion, the best parts had already left.</p>
<p>What went wrong at Borland? It is mostly the victim of changes in the industry, made worse today by the economic downturn. It was a tools company, and the tools market was hit by the double blow of excellent open-source competition on one side (Eclipse, GCC) and vendor-subsidised tools on the other (Visual Studio).</p>
<p>Still, there were some spectacular own goals along the way. The 1991 acquisition of Ashton-Tate, at the time the market leader in PC database managers, was one, mainly because dBASE IV was not very good and did nothing to help Borland transition to Windows; in any case, Borland already had a better product in the form of Paradox.</p>
<p>Talking of Paradox, Paradox for Windows was another disaster. Wonderful product, but mostly incompatible with its DOS predecessor, and probably a tad too complex as well. It also had to compete with Microsoft Access, which was both cheaper and part of the impregnable Microsoft Office suite.</p>
<p>The company made up for it with Delphi; but even that under-performed relative to its quality. Enterprises felt safer with Microsoft’s Visual Basic. JBuilder did well at first; but its market share diminished rapidly in the face of competition from Eclipse and NetBeans. In retrospect, Borland should have made its core Java IDE free much earlier, to build a community round it, though competing with free is never easy.</p>
<p>Since it was so hard making money out of compilers and IDEs, Borland changed tack in order to target Enterprise ALM (Application Lifecycle Management). It could have worked, but it wasn’t actually a great fit with the independent developers who formed a large part of its customer base, and who tended to ignore large, complex and expensive supplementary tools in favour of just getting on with coding.</p>
<p>The nadir was 1998 when Borland changed its name to Inprise, to reflect its Enterprise focus. “Many thought Borland had gone out of business”, <a href="http://en.wikipedia.org/wiki/Borland" target="_blank">says Wikipedia</a>. It was changed back to Borland in 2001.</p>
<p>Another mis-step was the way Borland (then Inprise) handled <a href="http://www.codegear.com/products/interbase" target="_blank">InterBase</a>, its client-server database. In 2000, with a burst of community enthusiasm, the product was made open source. A couple of years later, it changed its mind and continued to develop InterBase as a proprietary product; but by then <a href="http://www.firebirdsql.org/" target="_blank">FireBird</a> had been born, based on the open source code.</p>
<p>Thought for the day: Borland paid more for TogetherSoft in 2002 (around $185m, including $82.5m cash), than Micro Focus is paying now for Borland.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:83649097-0c33-468d-8d57-08440c026529" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/borland" rel="tag">borland</a>,<a href="http://technorati.com/tags/micro+focus" rel="tag">micro focus</a>,<a href="http://technorati.com/tags/dbase" rel="tag">dbase</a>,<a href="http://technorati.com/tags/jbuilder" rel="tag">jbuilder</a>,<a href="http://technorati.com/tags/togethersoft" rel="tag">togethersoft</a></div>


<p>Related posts:<ol><li><a href='http://www.itwriting.com/blog/1418-the-compuware-tools-that-are-going-to-micro-focus.html' rel='bookmark' title='Permanent Link: The Compuware tools that are going to Micro Focus'>The Compuware tools that are going to Micro Focus</a></li>
<li><a href='http://www.itwriting.com/blog/49-borland-keeps-its-developer-tools-after-all.html' rel='bookmark' title='Permanent Link: Borland keeps its developer tools after all'>Borland keeps its developer tools after all</a></li>
<li><a href='http://www.itwriting.com/blog/56-borlands-jbuilder-on-eclipse-emerges.html' rel='bookmark' title='Permanent Link: Borland&#8217;s JBuilder-on-Eclipse emerges'>Borland&#8217;s JBuilder-on-Eclipse emerges</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.itwriting.com/blog/1413-the-end-of-the-borland-story-acquired-by-micro-focus.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

