<?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>DBMS 2 : DataBase Management System Services &#187; Progress, Apama, and DataDirect</title>
	<atom:link href="http://www.dbms2.com/category/products-and-vendors/progress-apama-datadirect/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Thu, 02 Sep 2010 09:06:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sybase SQL Anywhere</title>
		<link>http://www.dbms2.com/2010/07/17/sybase-sql-anywhere/</link>
		<comments>http://www.dbms2.com/2010/07/17/sybase-sql-anywhere/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 00:13:20 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Mid-range]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[Specific users]]></category>
		<category><![CDATA[Sybase]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=2592</guid>
		<description><![CDATA[After Powersoft acquired Watcom and its famed Fortran compiler, marketing VP Tom Herring told me that the hidden jewel of the acquisition might well be a little DBMS, Watcom SQL. To put it mildly, Tom was right. Watcom SQL became SQL Anywhere; Powersoft was acquired by Sybase; Powersoft&#8217;s and Sybase&#8217;s main products both fell on [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">After Powersoft acquired Watcom and its famed Fortran compiler, marketing VP Tom Herring told me that the hidden jewel of the acquisition might well be a little DBMS, Watcom SQL. To put it mildly, Tom was right. Watcom SQL became SQL Anywhere; Powersoft was acquired by Sybase; Powersoft&#8217;s and Sybase&#8217;s main products both fell on hard times; Sybase built a whole mobile technology division around SQL Anywhere; and <a href="http://www.dbms2.com/2010/05/13/sap-sybase-reactions/" >the whole thing just got sold for billions of dollars to SAP</a>. Chris Kleisath recently briefed me on SQL Anywhere Version 12 (released to manufacturing this month), which seemed like a fine opportunity to catch up on prior developments as well.</p>
<p style="margin-bottom: 0in;">The first two things to understand about SQL Anywhere is that there actually are three products:</p>
<ul>
<li>Sybase 	<strong>SQL Anywhere,</strong> a mid-range relational DBMS.</li>
<li>Sybase 	<strong>UltraLite,</strong> a DBMS for mobile devices.</li>
<li>Sybase 	<strong>MobiLink,</strong> a replication/sync tool.</li>
</ul>
<p style="margin-bottom: 0in;">and also that there are three main deployment/use cases:</p>
<ul>
<li><strong>Generic 	desktop or server computers.</strong> This was the original market for 	SQL Anywhere.</li>
<li><strong>Laptop/handheld 	computers.</strong> This was the original growth market for SQL Anywhere. 	In particular, Siebel Systems&#8217; first growth spurt was selling sales 	force automation software on laptop computers with SQL Anywhere 	underneath.</li>
<li><strong>Specialized 	devices.</strong> Earlier this decade, Sybase thought SQL Anywhere&#8217;s big 	growth market was on specialized devices. (I recall a video 	featuring some kind of automated pill dispensing machine for 	hospitals.)</li>
</ul>
<p style="margin-bottom: 0in;"><span id="more-2592"></span>Meanwhile, terminological weirdness includes:</p>
<ul>
<li>At 	various times the product Sybase SQL Anywhere has had “Server” 	in its name, but that seems not be part of the naming convention at 	the moment. Sybase folks still talk about it that way, however.</li>
<li>Is 	SQL Anywhere a product? A group of products? A division? Again, that 	depends on whom and when you ask.</li>
<li>When 	Sybase speaks of SQL Anywhere being in the “embedded” database 	market, it&#8217;s talking of any OEM business, not just deployment on 	particular kinds of devices. (<a href="http://www.intersystems.com/cache/analysts/idc_embed.pdf" onclick="javascript:pageTracker._trackPageview('/www.intersystems.com');">IDC</a> has long used that confusing terminology, which is a regrettably 	good excuse for vendors to use it as well.)</li>
</ul>
<p style="margin-bottom: 0in;">I get the impression that there are two big markets for the Sybase SQL Anywhere family:</p>
<ul>
<li>~1000 	OEM partners for Sybase SQL Anywhere. Notable examples include:
<ul>
<li>Intuit 	(for QuickBooks)</li>
<li>Symantec 	(for NetBackup)</li>
<li>Sybase 	IQ, if you want to view it that way (a lot of Sybase IQ&#8217;s front-end 	is actually SQL Anywhere code)</li>
</ul>
</li>
<li>Direct 	enterprise customers for mobility-oriented combinations of Sybase 	UltraLite, Sybase SQL Anywhere, and Sybase MobiLink. Notable 	examples include:
<ul>
<li>Pepsi Bottling Group (repairmen, 	using handheld devices)</li>
<li>US 	2010 Census (140,000 people address checkers – every address in 	the US was checked against GPS coordinates, it seems)</li>
</ul>
</li>
</ul>
<p style="margin-bottom: 0in;">By way of contrast, the market for true embedded systems never took off as strongly for Sybase SQL Anywhere as it did for, say, pre-acquisition solidDB. Added together, this all seems to amount to ~ 10 million users overall, as per <a href="http://www.monash.com/uploads/SQL-Anywhere-12.pdf" onclick="javascript:pageTracker._trackPageview('/www.monash.com');">a slide deck Sybase graciously gave me permission to post</a>.</p>
<p style="margin-bottom: 0in;">Other market notes include:</p>
<ul>
<li>Sybase says that the main competitors for Sybase SQL Anywhere are Microsoft SQL Server, Oracle, and occasionally MySQL, with Progress coming up only rarely. I would have thought Progress OpenEdge RDBMS would be higher on the list (simple DBMS for the OEM market) – but come to think of it, it&#8217;s been quite a while since I&#8217;ve run into anybody who says they compete much with Progress OpenEdge. Perhaps Progress just isn&#8217;t selling its core product very hard these days.</li>
<li>80-90% of Sybase SQL Anywhere installations are on Windows, but the fact that SQL Anywhere also runs on Macintosh and &#8216;nix platforms is apparently pretty important to sales.</li>
<li>The main platforms for Sybase UltraLite are Blackberry and Windows Mobile, although with iPhone support newly added in SQL Anywhere Version 12, that&#8217;s a good bet to change.</li>
</ul>
<p style="margin-bottom: 0in;">Besides the above, the key points about Sybase SQL Anywhere are:</p>
<ul>
<li>Sybase 	SQL Anywhere is designed for a no-DBA, “customers may not know 	there&#8217;s a DBMS” there kind of easy administration. (That&#8217;s one 	reason I compared it to Progress.)</li>
<li>Sybase 	SQL Anywhere has a reasonable set of mid-range DBMS features, 	including:
<ul>
<li>Triggers</li>
<li>Stored 	procedures</li>
<li>Referential 	integrity</li>
<li>Geospatial 	datatype</li>
<li>Text 	datatype (with a CONTAINS clause), and you can index external 	documents</li>
<li>Multiprocessor/multicore 	operation</li>
</ul>
</li>
</ul>
<p style="margin-bottom: 0in;">Sybase SQL Anywhere Version 12 seems to have a variety of performance improvements, of which the most interesting are:</p>
<ul>
<li>If 	you&#8217;re using an ORM (Object-Relational Mapping) layer such as 	Hibernate, the SQL Anywhere optimizer now works hard to rewrite some 	of the horrific SQL that can be generated, for example by flattening 	or eliminating a lot of subselects.
<ul>
<li>There&#8217;s 	also a “Hibernate dialect” of SQL Anywhere – I&#8217;m not sure what 	that means, but it clearly indicates that SQL Anywhere wants to be 	Hibernate-friendly.</li>
</ul>
</li>
<li>When 	the SQL Anywhere optimizer decides the statistics are wrong, it 	reruns them, piggybacking on a subsequent query if it can, doing a 	background job if it must. Somewhat pretentiously, Sybase refers to 	this as “self-healing statistics”.</li>
</ul>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">Many SQL Anywhere features are of course missing in Sybase UltraLite, but geospatial datatypes are present.</p>
<p style="margin-bottom: 0in;">Finally, it&#8217;s a natural conjecture that MobiLink is related to Sybase Replication Server – but that conjecture turns out to be wrong. That said, <a href="http://www.sybaseteam.com/what-difference-between-replication-server-sql-remote-t-728.html" onclick="javascript:pageTracker._trackPageview('/www.sybaseteam.com');">keeping Sybase&#8217;s various replication offerings straight is tricky</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/07/17/sybase-sql-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes on CEP application development</title>
		<link>http://www.dbms2.com/2009/05/21/notes-on-cep-application-development/</link>
		<comments>http://www.dbms2.com/2009/05/21/notes-on-cep-application-development/#comments</comments>
		<pubDate>Thu, 21 May 2009 08:21:49 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Aleri and Coral8]]></category>
		<category><![CDATA[Business intelligence]]></category>
		<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[Microsoft and SQL*Server]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[StreamBase]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=788</guid>
		<description><![CDATA[While performance may not be all that great a source of CEP competitive differentiation, event processing vendors find plenty of other bases for technological competition, including application development, analytics, packaged applications, and data integration.  In particular:

Most independent CEP vendors have some 	kind of application story in the capital markets vertical, such as 	packaged applications, [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">While <a href="http://www.dbms2.com/2009/05/21/notes-on-cep-performance/" >performance may not be all that great a source of CEP competitive differentiation</a>, event processing vendors find plenty of other bases for technological competition, including application development, analytics, packaged applications, and data integration.  In particular:</p>
<ul>
<li>Most independent CEP vendors have some 	kind of application story in the capital markets vertical, such as 	packaged applications, ISV partners with packaged applications, 	application frameworks, and so on.</li>
<li>CEP vendors offer lots of connectors 	to specific financial industry price/quote/trade feeds, as well as 	the usual other kinds of database connectivity (SQL, XML, etc.)</li>
<li>Aleri/Coral8 (separately and now <a href="http://www.dbms2.com/2009/03/25/aleri-update/" > together</a>) like to call attention to their business 	intelligence/analytics offerings. Analytics is front-and-center on 	Truviso&#8217;s web site too, not that Truviso does much to call attention 	to itself, period.  (Roman Bukary once said he&#8217;d outline Truviso&#8217;s 	new strategy to me in 6-8 weeks or so &#8230; it&#8217;s now 14 months and 	counting.)</li>
</ul>
<p style="margin-bottom: 0in;">So far as I can tell, the areas of applications and analytics are fairly uncontroversial. Different CEP vendors have implemented different kinds of things, no doubt focusing on those they thought they would find easiest to build and then sell.  But these seem to be choices in business execution, not in core technical philosophy.</p>
<p style="margin-bottom: 0in;">In CEP application development, however, real philosophical differences do seem to arise.  There are at least three different CEP application development paradigms:<span id="more-788"></span></p>
<ul>
<li><strong>DML (Data Manipulation 	Language) extensions</strong> to handle time windows, etc., which are 	then embodied into a conventional application development stack.  	<a href="http://www.dbms2.com/2009/05/13/microsoft-announced-cep-this-week-too/" >Microsoft</a> exemplifies an extreme form of this strategy, but 	most vendors offer it at least as an option.</li>
<li><strong>Visual event-oriented 	programming language.</strong> This is StreamBase&#8217;s claim to fame; 	StreamBase says that 95% of its customers do 100% of their 	development in its Eclipse-based visual tool, which truly creates 	executable programs without any kind of code generation step.  	(Other &#8220;this isn&#8217;t just a toy&#8221; buzzwords StreamBase 	offered were &#8220;modularity, &#8221; &#8220;parametrizability,&#8221; 	and, best of all, &#8220;visual debugger.&#8221;)</li>
<li><strong>Rules engine.</strong> When Progress 	Apama first told me how its preferred tool (I think a precursor of what 	is now Apama Event Modeler) worked, it sounded a lot like a 	RETE-based expert system shell. The Apama folks assured me that this 	really wasn&#8217;t RETE, and I see that there&#8217;s definitely more than 	just a rules language in Apama MonitorScript.  Still, the paradigm 	seems to basically be that you write a bunch of rules, which are 	then executed by a suitable engine.</li>
</ul>
<p style="margin-bottom: 0in;">Even more fundamental, however, is the question of <em>event-driven programming.</em> That&#8217;s a term which first was popular in the 1990s, signifying programs that &#8212; rather than being wholly <em>procedural</em> &#8212; listened for and responded to <em>events,</em> often in user interfaces.  More generally, event-driven programming is inherent in almost any kind of loosely-coupled architecture, be it client-server, service-oriented, or whatever. But to hear some CEP proponents tell it, all that isn&#8217;t event-driven enough.</p>
<p style="margin-bottom: 0in;">In particular, StreamBase recommended to me Gregor Hohpe&#8217;s paper <a href="http://www.enterpriseintegrationpatterns.com/docs/EDA.pdf" onclick="javascript:pageTracker._trackPageview('/www.enterpriseintegrationpatterns.com');">Programming Without a Call Stack – Event-driven Architectures</a>, which argues that if there&#8217;s any concept of procedure or method invocation at all, the whole thing is too &#8220;command-and-control&#8221; (Boo!!) and  insufficiently event-driven to be well-suited for CEP.   Rather, everything should be done on a fine-grained publish-subscribe basis.  It&#8217;s an interesting argument. Usually, the problem with extremist programming paradigms is that the thing you write has to interface with the rest of the world, and by the time it accommodates itself to them, the paradigm is violated anyway. But if the essence of the paradigm is loose coupling to begin with, maybe that pitfall can for once be avoided.</p>
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2009/05/21/notes-on-cep-application-development/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Notes on CEP performance</title>
		<link>http://www.dbms2.com/2009/05/21/notes-on-cep-performance/</link>
		<comments>http://www.dbms2.com/2009/05/21/notes-on-cep-performance/#comments</comments>
		<pubDate>Thu, 21 May 2009 08:20:36 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Aleri and Coral8]]></category>
		<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[IBM and DB2]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[StreamBase]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=787</guid>
		<description><![CDATA[I&#8217;ve been talking to CEP vendors on and off for a few years.  So what I hear about performance is fairly patchwork. On the other hand, maybe 1-2+ year-old figures of per-core performance are still meaningful today.  After all, Moore&#8217;s Law is being reflected more in core count than per-core performance, and it [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been talking to CEP vendors on and off for a few years.  So what I hear about performance is fairly patchwork. On the other hand, maybe 1-2+ year-old figures of per-core performance are still meaningful today.  After all, Moore&#8217;s Law is being reflected more in core count than per-core performance, and it seems CEP vendors&#8217; development efforts haven&#8217;t necessarily been concentrated on raw engine speed.</p>
<p style="margin-bottom: 0in;">So anyway, what do you guys have to add to the following observations?</p>
<ul>
<li>Super-low-latency financial 	services industry tasks are often &#8220;embarrassingly parallel.&#8221; 	Thus, near-linear scale-out is common.</li>
<li>That said, good parallelism seems 	fairly new in CEP engines (of course, CEP engines are fairly new 	themselves &#8212; for all I know, some have been parallel since 	inception).</li>
<li>I&#8217;ve heard claims of up to 400,000 	messages/second/core for simple queries or patterns.</li>
<li>I&#8217;ve heard claims of 70,000 	messages/core for not-so-simple queries or patterns, and probably 	higher than that depending on what the meaning of &#8220;simple&#8221; 	is.</li>
<li>IBM just disclosed <a href="http://www.dbms2.com/2009/05/18/followup-on-ibm-system-sinfosphere-streams/" >&gt;15,000 	messages/core on a pretty low-powered processor</a>.</li>
<li>I&#8217;ve heard that Coral8, Apama, and 	StreamBase rarely lost deals due to performance or throughput 	problems. I&#8217;ve heard that the same is not as true of Aleri.</li>
<li>StreamBase proudly says it&#8217;s been fully multithreaded since academic research-project days.  For Apama multithreading is evidently a more recent feature. But does it matter much?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2009/05/21/notes-on-cep-performance/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Independent CEP vendors continue to flounder</title>
		<link>http://www.dbms2.com/2009/03/09/independent-cep-vendors-continue-to-flounder/</link>
		<comments>http://www.dbms2.com/2009/03/09/independent-cep-vendors-continue-to-flounder/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 15:46:57 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Aleri and Coral8]]></category>
		<category><![CDATA[Analytic technologies]]></category>
		<category><![CDATA[Business intelligence]]></category>
		<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[StreamBase]]></category>
		<category><![CDATA[Truviso]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=720</guid>
		<description><![CDATA[Independent CEP (Complex/Event Processing) vendors continue to flounder, at least outside the financial services  and national intelligence markets.

StreamBase once planned to conquer 	the world, making an impact as big as database management&#8217;s. Now it 	has retreated into niche markets.
Progress Software, a decent-sized 	company, put a large fraction of its energy into Apama. Little has [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">Independent CEP (Complex/Event Processing) vendors continue to flounder, at least outside the financial services  and national intelligence markets.</p>
<ul>
<li>StreamBase once planned to conquer 	the world, making an impact as big as database management&#8217;s. Now it 	has retreated into niche markets.</li>
<li>Progress Software, a decent-sized 	company, put a large fraction of its energy into Apama. Little has 	happened outside the financial service sector.</li>
<li>Coral8 has some great-sounding 	ideas. But <a href="http://www.aleri.com/news/press-releases/aleri-and-coral8-merge" onclick="javascript:pageTracker._trackPageview('/www.aleri.com');">Coral8 	now has merged into Aleri</a>, basically a financial-markets 	specialist.</li>
<li>Mike Franklin says some ambitious 	things on behalf of Truviso, but I haven&#8217;t noticed much traction 	there either.</li>
</ul>
<p style="margin-bottom: 0in;">CEP&#8217;s penetration outside of its classical markets isn&#8217;t quite zero.  Customers include several transportation companies (various vendors), Sallie Mae (Coral8), a game vendor or two (StreamBase, if I recall correctly), Verizon (Aleri, I think), and more.  But I just wrote that list from memory &#8212; based mainly on not-so-recent deals &#8212; and a quick tour of the vendors&#8217; web sites hasn&#8217;t turned up much I overlooked.  (Truviso does have a recent deal with Technorati, but that&#8217;s not exactly a blue chip customer these days.)</p>
<p style="margin-bottom: 0in;">So far as I can tell, this is a new version of a repeated story.<span id="more-720"></span> A clever alternative to relational DBMS was invented. It proved superior in some specific applications and vertical markets. It failed to achieve much broader adoption.  Initial high hopes got dashed, companies failed to grow rapidly, and shareholders grew tired.</p>
<p style="margin-bottom: 0in;">So where will things go from here? My best guesses include:</p>
<ul>
<li>The financial trading market isn&#8217;t 	going away for CEP.  Super-low-latency is really needed there.</li>
<li>As much as I love the idea of 	<a href="../2008/10/20/coral8-proposes-cep-as-a-bi-data-platform/">CEP-infused 	BI</a>, it will be adopted only at the rate broader-based BI vendors 	can support.</li>
<li>A few niches will generate some 	business for CEP in data reduction. Leading candidates are the ones 	where there&#8217;s been a little traction to date &#8212; national 	intelligence, transportation, web analytics, and so on.</li>
<li>Sadly, that&#8217;s about it.</li>
</ul>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2009/03/09/independent-cep-vendors-continue-to-flounder/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Dan Weinreb on ObjectStore</title>
		<link>http://www.dbms2.com/2008/02/01/dan-weinreb-on-objectstore/</link>
		<comments>http://www.dbms2.com/2008/02/01/dan-weinreb-on-objectstore/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 12:09:45 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Object]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2008/02/01/dan-weinreb-on-objectstore/</guid>
		<description><![CDATA[Dan Weinreb was one of the key techies at Object Design, the company that made the object-oriented database management system ObjectStore.  (Object Design later merger into Excelon, which was eventually sold to Progress, which has deemphasized but still supports ObjectStore.)  Recently he wrote a pair of long and fascinating articles about Object Design, [...]]]></description>
			<content:encoded><![CDATA[<p>Dan Weinreb was one of the key techies at Object Design, the company that made the object-oriented database management system ObjectStore.  (Object Design later merger into Excelon, which was eventually sold to Progress, which has deemphasized but still supports ObjectStore.)  Recently he wrote a pair of long and fascinating articles about Object Design, ObjectStore, and OODBMS, the first of which makes the case that &#8220;<a href="http://dlweinreb.wordpress.com/2007/12/31/object-oriented-database-management-systems-succeeded/" onclick="javascript:pageTracker._trackPageview('/dlweinreb.wordpress.com');">object-oriented database management systems succeeded</a>.&#8221;<span id="more-347"></span></p>
<p>That&#8217;s not a ridiculous interpretation, as he explains, but it&#8217;s kind of a glass-half-full one.  By Dan&#8217;s own analysis, ObjectStore did OK but not great in the CAD/CAM/CAE and CASE markets for a while, but eventually fell back due to:</p>
<ol>
<li>Lack of critical mass.</li>
<li>Moore&#8217;s Law making performance advantages less important.</li>
<li>Fewer performance benefits in Java than in C++.</li>
</ol>
<p>A later attempt to front-end RDBMS by object-caching also fell short, perhaps due to competition from object-relational mapping vendors such as Tangosol (now part of Oracle).</p>
<p>So far as I can tell, the other OODBMS pioneers &#8212; Versant, Servio, et al. &#8212; did even less well than ObjectStore.  Versant did sell a few OLTP accounts as sort of an early Intersystems Cache&#8217;, but that&#8217;s ancient history.</p>
<p>I recommend the articles highly.  Dan was one of the most articulate techies I knew way back in Symbolics&#8217; heyday, as well as being a very straight shooter.  He&#8217;s still going strong.</p>
<p><em><strong>Please <a href="http://www.monash.com/signup.html" onclick="javascript:pageTracker._trackPageview('/www.monash.com');">subscribe</a> to our feed!</strong></em><br />
<em><br /><p>Technorati Tags: <a href="http://technorati.com/tag/ObjectStore" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag">ObjectStore</a>, <a href="http://technorati.com/tag/Progress+Software" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> Progress Software</a>, <a href="http://technorati.com/tag/object-oriented+database" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> object-oriented database</a>, <a href="http://technorati.com/tag/OODBMS" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> OODBMS</a></p></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/02/01/dan-weinreb-on-objectstore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What leading DBMS vendors don&#8217;t want you to realize</title>
		<link>http://www.dbms2.com/2008/01/22/mid-range-database-management/</link>
		<comments>http://www.dbms2.com/2008/01/22/mid-range-database-management/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 10:07:53 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[EnterpriseDB and Postgres Plus]]></category>
		<category><![CDATA[IBM and DB2]]></category>
		<category><![CDATA[Ingres]]></category>
		<category><![CDATA[Intersystems and Cache']]></category>
		<category><![CDATA[Microsoft and SQL*Server]]></category>
		<category><![CDATA[Mid-range]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Pervasive Software]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[SAP AG]]></category>
		<category><![CDATA[Relational database management systems]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2008/01/22/mid-range-database-management/</guid>
		<description><![CDATA[For very high-end applications, the list of viable database management systems is short.  Scalability can be a problem.  (The rankings of most scalable alternatives differ in the OLTP and data warehouse realms.)  Extreme levels of security can be had from only a few DBMS.  (Oracle would have you believe there&#8217;s only [...]]]></description>
			<content:encoded><![CDATA[<p>For very high-end applications, the list of viable database management systems is short.  Scalability can be a problem.  (The rankings of most scalable alternatives differ in the OLTP and data warehouse realms.)  Extreme levels of security can be had from only a few DBMS.  (Oracle would have you believe there&#8217;s only one choice.)  And if you truly need 99.99% uptime, there only are a few DBMS you even should consider.  </p>
<p>But for most applications at any enterprise – and for all applications at most enterprises – super high-end DBMS aren&#8217;t required.  There are relatively few applications that wouldn&#8217;t run perfectly well on PostgreSQL or EnterpriseDB today.  Ingres and Progress OpenEdge aren&#8217;t far behind (they&#8217;re a little lacking in datatype support).  Ditto Intersystems Cache&#8217;, although the nonrelational architecture will be off-putting to many.  And to varying degrees, you can also do fine with MySQL, Pervasive PSQL, MaxDB, or a variety of other products – or for that matter with the cheap or free crippled versions of Oracle, SQL Server, DB2, and Informix.  </p>
<p>What&#8217;s more, these mid-range database management systems can have significant advantages over their high-end brethren. <span id="more-332"></span> The biggest is often price, for licenses and maintenance alike.  Beyond that, they can be much easier to administer then their more complex counterparts.  For example, Progress OpenEdge and Informix SE have long been reseller favorites, in large part because they can be installed at small businesses and locations that lack technical staff, and rarely if ever require DBA attention.  Programming and hardware costs can sometimes be lower as well.</p>
<p>And what these mid-range DBMS don&#8217;t do today, they likely will do soon.  In the 1990s, Microsoft SQL Server was the mid-range entry threatening to disrupt the market.  But it&#8217;s grown up quite nicely.  EnterpriseDB is equal or superior in every way I can think of to Oracle7, a few security certifications perhaps excepted.  (They&#8217;d probably argue the release number in that claim should be 1 or 2 higher, but I&#8217;d have to compare their multimedia support to what I recall of Oracle 8.1.5 before I agreed.)</p>
<p>Will these mid-range database management systems truly “disrupt” the DBMS market, as many open source advocates hope?  Or will they be largely co-opted into the oligopoly, as Microsoft SQL Server was?  That&#8217;s a discussion for another time.  For now, please just keep your mind open to DBMS alternatives – the high-end approach is not always the best.</p>
<p>EDIT:  For a contrary view, please see my follow-up post making the <a href="http://www.dbms2.com/2008/01/24/mysql-database/" >opposite case</a>.</p>
<p><em><strong>Please <a href="http://www.monash.com/signup.html" onclick="javascript:pageTracker._trackPageview('/www.monash.com');">subscribe</a> to our feed!</strong><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/01/22/mid-range-database-management/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Coral8 versus StreamBase</title>
		<link>http://www.dbms2.com/2007/08/10/coral8-versus-streambase/</link>
		<comments>http://www.dbms2.com/2007/08/10/coral8-versus-streambase/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 14:16:26 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Aleri and Coral8]]></category>
		<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[StreamBase]]></category>
		<category><![CDATA[event processing]]></category>
		<category><![CDATA[latency]]></category>
		<category><![CDATA[stream processing]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/08/10/coral8-versus-streambase/</guid>
		<description><![CDATA[Besides talking about what Coral8 and StreamBase (and other CEP vendors) have in common, Mark Tsimelzon and I talked quite a bit about what he sees as some of the important differences.  There were a lot, of course, but three in particular stood out.
1.  Mark believes Coral8 has significantly lower latency than StreamBase. [...]]]></description>
			<content:encoded><![CDATA[<p>Besides talking about what Coral8 and StreamBase (and other CEP vendors) <a href="http://www.dbms2.com/2007/08/10/the-essence-of-cep-according-to-coral8/" >have in common</a>, Mark Tsimelzon and I talked quite a bit about what he sees as some of the important differences.  There were a lot, of course, but three in particular stood out.</p>
<p>1.  Mark believes Coral8 has significantly <strong>lower latency</strong> than StreamBase.  E.g., the Wombat/Coral8 combo achieves sub-millisecond latency, with Coral8 itself consuming less than a tenth of that.  The best comparable figures from StreamBase <em>that I currently know of</em> are almost an order of magnitude slower.</p>
<p>Top-end speed aside, Mark believes that Coral8 is fundamentally better suited for complex queries and pattern recognition, while StreamBase works well with simpler queries.  For example, his other performance claims notwithstanding, he concedes that StreamBase is at least comparable to Coral8 in its throughput for huge numbers of simple queries.  (The number he mentioned was ½ million queries/second.)  Indeed, while we barely talked about customer/marketing issues, Mark asserts that the companies&#8217; respective customer bases reflect this complex/simple distinction.*<br />
<span id="more-220"></span><br />
<em>*I don&#8217;t think I can judge that claim overall yet.  However, it seems consistent with one particular data point.  The intelligence market – which StreamBase seems to dominate – probably does feature very high volumes of relatively simple filters.</em></p>
<p>2.  Mark thinks Coral8 has a much <strong>richer set of language primitives</strong> than StreamBase.  In particular, he calls attention to Coral8&#8217;s primitives for synchronizing multiple data streams. That particular example seems to be core of his claim that StreamBase was subject to risks of nondeterminism.  However, he did seem to concede StreamBase might be just as deterministic as Coral8 with sufficiently careful coding.*  In another example, Mark thinks subqueries are important, whereas Mike Stonebraker told me a while ago he doesn&#8217;t think they arise much in real life CEP.</p>
<p><em>*To a first approximation, I continue to doubt that determinism is more than a theoretical/edge-case issue.  I don&#8217;t think many indeterminate, untestable programs are actually being written using any of these engines.  On the other hand, it may be the case that programming effort to assure determinism varies significantly between different systems.  For a rough analogy here, think of referential integrity. Few database application systems truly suffer from lack of integrity (but feel free to insert the MySQL snark of your choice).  Even so, the effort needed to assure integrity can vary widely among different DBMS.</em></p>
<p>3.  Mark positions StreamBase as having been developed with a <strong>limited-power query-specification GUI,</strong> with the SQL-based language coming only after the fact.  By way of contrast, Coral8 was SQL-based all along.  He attributes this to the different university research projects they are respectively based on, and asserts that most StreamBase customers he knows of still use the GUI rather than the language.   This is central to his argument that StreamBase may be fine for simple queries, but has trouble with more complex ones.</p>
<p>Other highlights included:</p>
<ul>
<li>Coral8 is written in C++, while most of the competition uses Java.  Mark hypothesizes that this may provide a performance advantage.</li>
<li>Coral8 automatically handles locks, while in StreamBase you (sometimes?) need to code them specifically.</li>
<li>The same goes for asynchronous persistence (used for high availability/failover). Coral8 boasts a flexible, no-programming-required configurable clustering capability.</li>
<li>
As part of the “we handle more complex stuff” theme, he thinks Coral8&#8217;s optimization is more intricate than StreamBase&#8217;s.</li>
<li>Mark thinks Coral8&#8217;s homegrown portal is more flexible, with more user control, than competitors&#8217; licensed tools.  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/08/10/coral8-versus-streambase/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Competitive claims in CEP</title>
		<link>http://www.dbms2.com/2007/08/03/competitive-claims-in-cep/</link>
		<comments>http://www.dbms2.com/2007/08/03/competitive-claims-in-cep/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 00:52:40 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Aleri and Coral8]]></category>
		<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[Investment research and trading]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[StreamBase]]></category>
		<category><![CDATA[algorithmic trading]]></category>
		<category><![CDATA[Apama]]></category>
		<category><![CDATA[CEP]]></category>
		<category><![CDATA[Complex event processing]]></category>
		<category><![CDATA[stream processing]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/08/03/competitive-claims-in-cep/</guid>
		<description><![CDATA[For the most part, the vendors I talk with in complex event/stream processing like and speak well of each other (most of the exceptions seem to involve StreamBase).  Even so, there are a lot of interesting competitive claims and counterclaims in this market.  Prior posts and comment threads have covered Apama/StreamBase jousting on [...]]]></description>
			<content:encoded><![CDATA[<p>For the most part, the vendors I talk with in complex event/stream processing like and speak well of each other (most of the exceptions seem to involve StreamBase).  Even so, there are a lot of interesting competitive claims and counterclaims in this market.  Prior posts and comment threads have covered Apama/StreamBase jousting on the subjects of <a href="http://www.dbms2.com/2007/06/07/streambase-and-truviso/#more-190" >who has more business</a> and <a href="http://www.dbms2.com/2007/07/18/streambase-rebuts/" >how many financial data feeds StreamBase supports</a>.  Other areas that generate interesting sparks are performance, parallelism, and determinism. <span id="more-218"></span></p>
<p>The most confusing of the three is <em>determinism.</em> Apparently, you can run the same query twice against substantially the same event streams, but if the time stamps are a little different or you parallelize differently, you can get different answers.  StreamBase suggests this is a problem for Coral8 but not StreamBase.  Coral8 assures me they have never proven non-deterministic in a practical customer test, and furthermore have a theoretical example in which StreamBase is non-deterministic.  Apama has “determinism” mentioned on one of its slides, although (by my choice) we focused on other stuff during <a href="http://www.dbms2.com/2007/08/03/a-deeper-dive-into-apama/" >yesterday&#8217;s briefing</a>. All told, I&#8217;m still in the dark as to whether the determinism problem just arises in theoretical edge cases, whether it really occurs in significant production situations, or indeed whether it&#8217;s a noticeable problem at all.</p>
<p><em>Parallelism</em> comes up primarily as a subpoint to determinism or performance.  However, <a href="http://www.dbms2.com/2007/08/03/the-coral8-story/" >Coral8</a> is proud of its cluster manager.  Apparently, a major way to parallelize is akin to range partitioning – e.g., price data for different securities gets routed to different processors.  One also clusters for high availability/hot standby, of course.  Coral8 claims as a distinguishing feature that all this parallelization can be just configured from a GUI rather than coded.  What&#8217;s more, one processor can serve as a hot standby to multiple “range-partitioned” parallel active nodes.</p>
<p>Naturally, one of the top areas for competitive debate is <em>performance.</em> StreamBase claims to beat the others, including Coral8, by a factor of 10 or better on performance.  Coral8, however, cites figures of 60-80 microsecond latency for its portion of a 1-2 millisecond total latency (partnered with Wombat), and I&#8217;m pretty sure StreamBase doesn&#8217;t claim to be 10 times as fast as that.  And Apama, which claims to be involved in trading most asset classes for most major investment banks, claims never to have lost a customer benchmark.</p>
<p>So what&#8217;s going on here?   Well, some of it is surely “My next release beats the pants off of the competition&#8217;s old release,” a common feature of competitive jockeying.  And some of it no doubt depends on who&#8217;s system is most expertly tuned in which situation.  Beyond that, it may not all be apples-to-apples.  Indeed, Apama has a slide suggesting there are at least ten different dimensions to performance.  And while that&#8217;s somewhat padded, at least three dimensions are real:</p>
<ul>
<li>Absolute latency (should be low).</li>
<li>Total throughput (should be high).</li>
<li> The complexity of the queries/patterns/filters being used when the first two factors are observed.</li>
</ul>
<p>And then there&#8217;s the jockeying about customer lists.  StreamBase doesn&#8217;t actually publish customer lists yet, leading to <a href="http://apama.typepad.com/my_weblog/2007/06/another_seinfel.html" onclick="javascript:pageTracker._trackPageview('/apama.typepad.com');">this blog post</a> from Apama suggesting StreamBase has only two disclosed customers, one of them a no-name and the other a game company. Well, I poked around StreamBase&#8217;s web site some, and I found the no-name described as a “Goldman Sachs company.”  I also found a reference to NASA as a customer.  I also saw a claim that over half the biggest investment firms were customers, although that&#8217;s vastly less substantial than what Apama can claim (and name).  Also, StreamBase is known to be active in the classified/intelligence market.  Perhaps that particular blog post could use some light editing &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/08/03/competitive-claims-in-cep/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A deeper dive into Apama</title>
		<link>http://www.dbms2.com/2007/08/03/a-deeper-dive-into-apama/</link>
		<comments>http://www.dbms2.com/2007/08/03/a-deeper-dive-into-apama/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 00:42:04 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Complex event processing (CEP)]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[Apama]]></category>
		<category><![CDATA[Complex event processing]]></category>
		<category><![CDATA[Progress Software]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/08/03/a-deeper-dive-into-apama/</guid>
		<description><![CDATA[My recent non-technical Apama briefing has now had a much more technical sequel, with charming founder and former Cambridge professor John Bates.  He still didn&#8217;t fully open the kimono – trade secrets and all that &#8212; but here&#8217;s the essence of what&#8217;s going on. 
Complex event/stream processing (CEP) is all about looking for many [...]]]></description>
			<content:encoded><![CDATA[<p>My recent <a href="http://www.dbms2.com/2007/07/16/progress-apama/" >non-technical Apama briefing</a> has now had a much more technical sequel, with charming founder and former Cambridge professor John Bates.  He still didn&#8217;t fully open the kimono – trade secrets and all that &#8212; but here&#8217;s the essence of what&#8217;s going on. </p>
<p>Complex event/stream processing (CEP) is all about looking for many patterns at once.   Reality – the stream(s) of data – is checked against these patterns for matches.  In Apama, these patterns are kept in a kind of tree – they call it a <em>hypertree</em> &#8212; and John says the work to check them is only logarithmic in the number of patterns. </p>
<p>Since patterns commonly have multiple parts &#8212; and usually also take time to unfold &#8212; what really goes on is that partial matches are found, after which what&#8217;s being matched against is the REMAINDER of the pattern.  Thus, there&#8217;s constant pruning and rebalancing of the tree.  What&#8217;s more, a large fraction of all patterns – at least in the financial trading market &#8212; involve a short time window, which again creates a need for ongoing, rapid tree modification.  <span id="more-217"></span></p>
<p>The basic development interface/paradigm to Apama is the rule/frame:</p>
<blockquote><p><em>when</em> pattern-is-matched, <em>then</em> do-action-1, do-action-2, &#8230;</p></blockquote>
<p>An action can be a normal program operation step, or it can be to enter new, transformed information into the stream for other patterns to check against.</p>
<p>John asserts that, under the covers, Apama doesn&#8217;t look a lot like the classical models of rules engines or expert system shells, specifically <a href="http://en.wikipedia.org/wiki/Rete_algorithm" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">RETE</a>.  That said, I suspect it&#8217;s fairer to view Apama&#8217;s approach as “improvement on RETE” rather than “unrelated to RETE.”  If left-hand-sides of rules are arranged in a tree, and incoming facts modify the tree, there&#8217;s at least a whiff of RETE in the air.</p>
<p>Other highlights included:</p>
<ul>
<li>Apama is of course designed to tightly integrate the filtering/enhancement of data with the actions based on the data processing.  John fondly thinks this is a significant performance benefit, by eliminating the overhead that rival systems have in their quasi-SQL calls.  I wasn&#8217;t convinced.</li>
<li>John also thinks that Apama can put a quasi-SQL interface on their system if the market demands it.  I was convinced.</li>
<li>Apama&#8217;s core programming language MonitorScript is OO-like but not really OO (i.e., it lacks inheritance).  In the 1990s we called this “object-based” or “event-driven.”  He calls it “event-oriented.”  You can also write in Java; there&#8217;s a JVM built-in.</li>
<li>A geospatial datatype (which is to say, Cartesian coordinates) has been built in from the beginning.  With Apama&#8217;s strong focus on financial trading, however, it&#8217;s rarely or never been used in a deployed system. There are finally some prototypes now being built in telecom (location-based services) and logistics (trucking gets mentioned a lot in discussions with CEP vendors these days).</li>
<li>Besides the developer studio/IDE, there&#8217;s a power-user facility called Scenario Modeler.  It looks somewhat more formidable than what BI power users normally face, but in the same league.  Certainly anybody who can be a SAS programmer should be able to cope with it as well.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/08/03/a-deeper-dive-into-apama/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>An era of easier database portability?</title>
		<link>http://www.dbms2.com/2007/07/26/era-of-database-portability/</link>
		<comments>http://www.dbms2.com/2007/07/26/era-of-database-portability/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 22:39:42 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[ANTs Software]]></category>
		<category><![CDATA[Dataupia]]></category>
		<category><![CDATA[Emulation, transparency, portability]]></category>
		<category><![CDATA[EnterpriseDB and Postgres Plus]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[Relational database management systems]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/07/26/era-of-database-portability/</guid>
		<description><![CDATA[More and more, I find myself addressing questions of database portability and transparency, most particularly in the cases of EnterpriseDB, Ants Software, and now also Dataupia.  None of those three efforts is very large yet, but so far I&#8217;d rate their respective buzzes to be very encouraging in the case of EnterpriseDB, non-discouraging or [...]]]></description>
			<content:encoded><![CDATA[<p>More and more, I find myself addressing questions of database portability and transparency, most particularly in the cases of <a href="http://www.dbms2.com/2007/03/14/enterprisedb-tries-postgresql-based-oracle-plug-compatibility/" >EnterpriseDB</a>, <a href="http://www.dbms2.com/2007/04/23/the-big-ants-secret-is-officially-out/" >Ants Software</a>, and now also <a href="http://www.dbms2.com/2007/07/26/dataupia-low-end-appliance/" >Dataupia</a>.  None of those three efforts is very large yet, but so far I&#8217;d rate their respective buzzes to be very encouraging in the case of EnterpriseDB, non-discouraging or better in the case of Ants, and too early to judge for Dataupia.  On the whole, it definitely seems like a matter worthy of attention.</p>
<p>With that as backdrop, where is all this compatibility/portability/transparency stuff going to lead? <span id="more-215"></span>Potentially, pretty far.  The technical barriers aren&#8217;t great.  Given that, issues of cost, market dynamics, and so on suggest there should eventually be just as much database porting as there is porting between UNIX-derived hardware and operating systems.  I.e., a lot.</p>
<p>A DBMS, first and foremost, is a big language interpreter.  Therefore, if you want DBMS transparency, most of what you have to do is run the language, without major performance hits.  In principle, this shouldn&#8217;t be hard, because SQL dialects are pretty similar and pretty simple.  And in practice it&#8217;s not too hard either.</p>
<p>How do I know it&#8217;s not too hard in practice? Because DataDirect (now owned by Progress) has been doing it for years!  DataDirect&#8217;s main business is translating ODBC and JDBC to native SQL, and it does a bang-up job.  Performance hits are usually trivial, and sometimes there even are performance gains from the translation.  True, there&#8217;s more to full stored-procedure-language compatibility than is commonly found in DataDirect drivers.  But EnterpriseDB has been doing a much fuller job of Oracle compatibility without too much evident difficulty.  And there&#8217;s the Ants example as well.</p>
<p>Of course, it&#8217;s not that simple.  But much of the non-simplicity lies in this:  If you port from one DBMS to another, you may need to totally retune your system to get comparable performance to what you had before.  And that&#8217;s a costly hassle.  Except – tuning is getting ever more automatic and easier.  And as hardware gets cheaper, tuning is getting somewhat less important.  And specifically on the analytic side, MPP so dominates SMP in price-performance that a port is likely to gain you a lot of throughput with very little tuning effort at all.</p>
<p>“Wait a moment!”, one might say.  “The big DBMS companies make huge investments in their products.  Unless that effort is utterly wasted, surely they do many things better than some upstart does.”  But then, one might also have used the same reasoning to suggest that Linux could never outpace Unix.  Or that Unix could never supplant VMS.  Or that VMS could never compete with MVS &#8230;</p>
<p>Reasons that all of these arguments fail include that lots of the development effort at the big, established leaders:</p>
<ul>
<li> Is to compensate for the products&#8217; old and now somewhat obsolete architectures.</li>
<li>Is to compensate for the products&#8217; giant-hairball natures.</li>
<li>Is for high-end reliability, availability, security, and/or absolute-scalability features that most users don&#8217;t need.</li>
<li> Achieves extreme generality (portability, language support, etc.) that most users don&#8217;t need.<br />
Is for other specialized functionality that most users don&#8217;t need.</li>
<li> Suffers from “Mythical Man-Month” inefficiencies.</li>
</ul>
<p>Industry leaders have been successfully challenged many times in the history of DBMS.  As I&#8217;ve noted many times in this blog, I think it&#8217;s happening again.  And transparency/portability/compatibility could well wind up being part – albeit just a part – of that general trend.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/07/26/era-of-database-portability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
