<?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>DBMS2 -- DataBase Management System Services &#187; Object</title>
	<atom:link href="http://www.dbms2.com/category/datatype/object-oriented-database-management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Fri, 30 Jul 2010 15:51:32 +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>Objectivity Infinite Graph</title>
		<link>http://www.dbms2.com/2010/06/19/objectivity-infinite-graph/</link>
		<comments>http://www.dbms2.com/2010/06/19/objectivity-infinite-graph/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:05:45 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Analytic technologies]]></category>
		<category><![CDATA[Liberty and privacy]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Objectivity and Infinite Graph]]></category>
		<category><![CDATA[RDF and graphs]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=2306</guid>
		<description><![CDATA[I chatted Wednesday night with Darren Wood, the Australia-based lead developer of Objectivity&#8217;s Infinite Graph database product. Background includes:

Objectivity is a profitable, 	decades-old object-oriented DBMS vendor with about 50 employees.
Like some other object-oriented 	DBMS of its generation, Objectivity is as much a toolkit for 	building DBMS as it is a real finished DBMS product. Objectivity [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">I chatted Wednesday night with Darren Wood, the Australia-based lead developer of Objectivity&#8217;s Infinite Graph database product. Background includes:</p>
<ul>
<li>Objectivity is a profitable, 	decades-old object-oriented DBMS vendor with about 50 employees.</li>
<li>Like some other object-oriented 	DBMS of its generation, Objectivity is as much a toolkit for 	building DBMS as it is a real finished DBMS product. Objectivity 	sales are typically for custom deals, where Objectivity helps with 	the programming.</li>
<li>The way Objectivity works is 	basically:
<ul>
<li>You manage objects in memory, in 	the format of your choice.</li>
<li>Objectivity bangs them to disk, 	across a network.</li>
<li>Objectivity manages the 	(distributed) pointers to the objects.</li>
<li>You can, if you choose, hard code 	exactly which objects are banged to which node.</li>
<li>Objectivity&#8217;s DML for reading data 	is very different from Objectivity&#8217;s DML for writing data. (I think 	the latter is more like the program code itself, while the former is 	more like regular DML.)</li>
<li>The point of Objectivity is not so 	much to have fast I/O. Rather, it is to minimize the CPU cost of 	getting the data that comes across the wire into useful form.</li>
</ul>
</li>
<li>Darren got the idea of putting a 	generic graph DBMS front-end on Objectivity while doing a 	<a href="http://www.dbms2.com/2009/08/21/social-network-analysis-aka-relationship-analytics/" >relationship analytics</a> project for an Australian intelligence 	agency.</li>
<li>Darren redoubled his efforts to 	sell the project internally at Objectivity after read<span style="font-style: normal;">ing 	what I wrote about relationship analytics back in 200</span>6 or so.</li>
<li>There is now a 5 or so person team 	developing Infinite Graph.</li>
<li>Infinite Graph is just now going 	out to beta test.</li>
</ul>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><a href="http://www.infinitegraph.com/" onclick="javascript:pageTracker._trackPageview('/www.infinitegraph.com');">Infinite Graph</a> is an API or language binding on top of Objectivity that:</p>
<ul>
<li>Hides a lot of Objectivity&#8217;s 	complexity.</li>
<li>Is suitable for graph/relationship 	analytics.</li>
</ul>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><span id="more-2306"></span>The main point of the Infinite Graph beta test is to see whether Objectivity got the API right. By way of contrast, Objectivity is still just researching the DBMS optimization side of things. According to Darren, what makes that so hard is that if you partition the graph in some smart way, probably through some kind of costly algorithm to determine “least connectedness,” a bit more additional data can thoroughly invalidate your results. Thus, Darren is focused more on ensuring that performance is good even if data is distributed around the network in annoying ways.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">One performance win that Infinite Graph seems to get (almost?) for free from being built on top of Objectivity is lots of prefetching. Specifically, graph nodes and their edges are stored together, just like objects and their pointers are in traditional Objectivity &#8212; and if a node is retrieved, the nodes it&#8217;s connected to might also get retrieved as a background operation, before they&#8217;re even needed. More generally, Objectivity has always tried to be fast about traversing pointers, and that is a whole lot like traversing graph edges.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">As a future, Infinite Graph is looking at ideas from <a href="http://googleresearch.blogspot.com/2009/06/large-scale-graph-computing-at-google.html" onclick="javascript:pageTracker._trackPageview('/googleresearch.blogspot.com');">Google&#8217;s Pregel</a>. As Darren characterizes it, in Pregel you wrap up information about a graph node and ship it off to another computing node if the next graph node you need is over there. Darren suspects that the extreme form of this strategy would not be ideal. (I gather from Darren that Google has realized the same thing from the getgo.) Instead, he&#8217;s pinning his hopes more on smarts about when to do that (costly) shipping, and when to just fetch the information back to the compute node currently being used.</p>
<p style="margin-bottom: 0in;"><span style="font-style: normal;">The most interesting part of our discussion, in my opinion, was about applications and application functionality. In a nutshell, Darren se</span><span style="font-style: normal;"><span style="font-weight: normal;">ems to think that it&#8217;s all about the edges, rathe</span></span><span style="font-style: normal;">r than the nodes themselves. (My words, not his.) In particular:</span></p>
<ul>
<li><strong>Edges are first-class citizens</strong> in Infinite Graph, just as nodes are.</li>
<li><strong>Graphs typically are polluted 	with lots of insignificant edges.</strong> Examples include:
<ul>
<li>If you&#8217;re tracking people&#8217;s 	telephone traffic, lots of folks call the local pizza parlor. 	Indeed, it&#8217;s common to look for “star” nodes like that that have 	very high connectivity, and excise from the graph to reduce noise.</li>
<li>Many measures of relationship 	include minor relationships. Facebook friends? LinkedIn connections? 	Occasional phone calls? Next door neighbors? All of those can 	indicate very minor relationships.</li>
</ul>
</li>
<li><span style="font-weight: normal;">Therefore, 	in Infinite Graph, </span><strong>edges (can) have weights.</strong> Darren 	says this is a widely-used capability in graph applications. The 	core reason is to let you distinguish between significant and 	insignificant edges. Note that these weights can be calculated based 	on the raw data and stored back into the database.</li>
<li><span style="font-weight: normal;">In 	Infinite Graph, </span><strong>edges can also have effectiveness date 	intervals.</strong> E.g., if you live at an address for a certain period, 	that&#8217;s when the edge connecting you to it is valid.</li>
<li>In general in Infinite Graph, 	<strong>edges can carry</strong><span style="font-weight: normal;"> arbitrary 	or at least flexible </span><strong>“qualifier”/attribute 	information.</strong></li>
<li><strong>For many applications, the 	number of possible nodes is fundamentally limited. </strong><span style="font-weight: normal;">There 	are only so many people in the world, so many street addresses, so 	many telephone numbers, and so on. (There was a time this wasn&#8217;t 	believed to be the case, because timestamping was done at the node 	rather than edge level. But I find persuasive Darren&#8217;s argument that 	it works better on edges.) <em>Edit: Even so, <a href="http://www.theregister.co.uk/2010/05/19/darpa_smite/" onclick="javascript:pageTracker._trackPageview('/www.theregister.co.uk');">DARPA is thinking in the billions-of-nodes range</a>.</em><br />
</span></li>
<li><span style="font-weight: normal;">Darren 	is in general agreement with my observation that </span><a href="http://www.dbms2.com/2010/06/08/profile-of-revealed-preferences/" ><span style="font-weight: normal;">the 	“social graph” shouldn&#8217;t primarily be regarded as a graph</span></a><span style="font-weight: normal;">.</span></li>
<li><span style="font-weight: normal;">Yes, 	the paradigmatic examples of intelligence agency graph analytics are 	telephone or even IP traffic analysis. Nodes can wind up with lots 	of edges connecting them. Full analysis of the graphs exceeds even 	the computing capacity available to governments.</span></li>
<li><span style="font-weight: normal;">On 	a happy civil liberties note, Darren observed that Australian 	intelligence has a lot of red tape restricting them from getting 	this kind information. Basically, they can only get chunks of 	information “on demand”. An awkward side effect of this is that 	when they do get it, it could be in any number of formats.</span></li>
</ul>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/06/19/objectivity-infinite-graph/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Akiban highlights</title>
		<link>http://www.dbms2.com/2010/04/03/akiban-highlights/</link>
		<comments>http://www.dbms2.com/2010/04/03/akiban-highlights/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 05:36:42 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Akiban]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Software as a Service (SaaS)]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=1809</guid>
		<description><![CDATA[Akiban responded quickly to my complaints about its communication style, and I chatted for a couple of hours with senior Akiban techies Ori Herrnstadt, Peter Beaman and Jack Orenstein. It&#8217;s still early days for Akiban product development, so some details haven&#8217;t been determined yet, and others I just haven&#8217;t yet pinned down. Still, I know [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;"><strong><span style="font-weight: normal;">Akiban responded quickly to my </span></strong><a href="http://www.dbms2.com/2010/03/22/akibanakiba/" ><strong><span style="font-weight: normal;">complaints</span></strong></a><strong><span style="font-weight: normal;"> about its communication style, and I chatted for a couple of hours with senior Akiban techies Ori Herrnstadt, Peter Beaman and Jack Orenstein. It&#8217;s still early days for Akiban product development, so some details haven&#8217;t been determined yet, and others I just haven&#8217;t yet pinned down. Still, I know a lot more than I did a day ago. Highlights of my talk with Akiban included:<span id="more-1809"></span></span></strong></p>
<ul>
<li><strong><span style="font-weight: normal;">Akiban 	is basically in the business of making OLTP (OnLine Transaction 	Processing) DBMS.</span></strong></li>
<li><strong><span style="font-weight: normal;">That 	said, Akiban does not necessarily aspire to offer the DBMS that has 	the best update efficiency or throughput. In particular, the Akiban 	DBMS stores every datum twice, even before replication (and indexes) 	are taken into account.</span></strong></li>
<li><strong><span style="font-weight: normal;">Akiban 	wants to store everything as third normal form relational databases. 	I didn&#8217;t ask whether 3NF is a hard requirement, a Really Good Idea 	if you want Akiban to run fast (that&#8217;s the one I&#8217;d guess), or merely 	a general design assumption.</span></strong></li>
<li><strong><span style="font-weight: normal;">Akiban 	characterizes its core differentiators/value proposition as being:</span></strong>
<ul>
<li><strong><span style="font-weight: normal;">Scale-out</span></strong></li>
<li><strong><span style="font-weight: normal;">No 	need to pay the traditional cost of joins</span></strong></li>
</ul>
</li>
<li><strong><span style="font-weight: normal;">Thus, 	Akiban is telling something like a </span></strong><a href="http://www.dbms2.com/2010/03/14/nosql-taxonomy/" ><strong><span style="font-weight: normal;">NoSQL</span></strong></a><strong><span style="font-weight: normal;"> story.</span></strong></li>
<li><strong><span style="font-weight: normal;">However, 	Akiban offers SQL.</span></strong></li>
<li><strong><span style="font-weight: normal;">Specifically, 	Akiban offers SQL through a MySQL front end. However, the choice of 	front-end could change (Drizzle?), and non-relational front-ends 	(object?)* could eventually also be offered. </span></strong></li>
<li><strong><span style="font-weight: normal;">Akiban&#8217;s 	first target market is SaaS providers, specifically ones that have 	true multitenancy issues. More generally, Akiban is pursuing 	cloud/private cloud applications with lots of tables. (Ori talks of 	a few thousand tables as being a small number.) At least at first, 	Akiban is conceding the market for huge-volume, scale-out, 	no-expensive-join web databases to the NoSQL contenders.</span></strong></li>
<li><strong><span style="font-weight: normal;">Akiban 	has been in prototyping/development of some kind for several years. 	However, Akiban got its first angel funding early last year and its 	first venture funding late in 2009, so development only ramped up 	recently.</span></strong></li>
<li><strong><span style="font-weight: normal;">Ori 	tells a version of the rather common “Everything I need to know in 	life I learned in the Israeli Army, and now I&#8217;m commercializing it” 	story. However, I didn&#8217;t get the sense that Akiban is necessarily a 	direct extension of a specific Israeli military project.</span></strong></li>
</ul>
<p style="margin-bottom: 0in;"><strong><em><span style="font-weight: normal;">* A lot of Boston-area DBMS developers have significant non-relational experience. E.g., Jack Orenstein was an Object Design founder, and Peter Beaman used to work for Intersystems, both object-oriented DBMS vendors.</span></em></strong></p>
<p style="margin-bottom: 0in;"><strong><span style="font-weight: normal;">Akiban technical highlights include:</span></strong></p>
<ul>
<li><strong><span style="font-weight: normal;">Somewhat 	confusingly, Akiban databases are divided into “groups” of 	tables. The point of Akiban groups is:</span></strong>
<ul>
<li><strong><span style="font-weight: normal;">Many-to-many 	relationships exist only within Akiban groups, not among tables in 	different groups.</span></strong></li>
<li><strong><span style="font-weight: normal;">Tables 	within Akiban groups are kind of pre-joined; more precisely, data is 	organized physically in a way that anticipates joins.</span></strong></li>
<li><strong><span style="font-weight: normal;">Thus, 	most Akiban joins can be executed without the cost of traditional 	join algorithms.</span></strong></li>
</ul>
</li>
<li><strong><span style="font-weight: normal;">One 	copy of the data Akiban stores is, in effect, clustered by object. 	E.g., a customer and her orders are stored together, or a patient 	and the records of her doctor visits. That&#8217;s how Akiban anticipates 	most joins.</span></strong></li>
<li><strong><span style="font-weight: normal;">The 	other copy of Akiban data is stored in columns (I&#8217;m not sure if this 	part is strictly columnar or more hybrid row/column), which are 	ordered consistently. In particular, they&#8217;re in an order dictated by 	the organization of the other copy of the data, whatever that means. 	Akiban&#8217;s goal is for this copy of the data to support reporting, 	operational BI, etc.</span></strong></li>
<li><strong><span style="font-weight: normal;">Akiban 	relies heavily on its optimizer to determine data layout, probably more than conventional DBMS do.</span></strong></li>
<li><strong><span style="font-weight: normal;">In 	essence, Akiban has a MySQL front-end and a storage engine back end, 	each running on its own hardware cluster, with each node of one 	cluster talking to each node of the other. </span></strong></li>
<li><strong><span style="font-weight: normal;">I 	gather that Akiban distributes data among nodes clustered according 	to, in effect, object identifier. Presumably, inter-node joins are 	rare. But we didn&#8217;t discuss distribution, replication, or other 	scale-out issues in any detail. Indeed, I gathered that significant 	parts of all that weren&#8217;t built yet, and perhaps even not yet 	architected.<br />
</span></strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/04/03/akiban-highlights/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Intersystems Cache&#8217; highlights</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/</link>
		<comments>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 08:07:25 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[Emulation, transparency, portability]]></category>
		<category><![CDATA[Intersystems and Cache']]></category>
		<category><![CDATA[Mid-range]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Sybase]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=1400</guid>
		<description><![CDATA[I talked with Robert Nagle of Intersystems last week, and it went better than at least one other Intersystems briefing I&#8217;ve had. Intersystems&#8217; main product is Cache&#8217;, an object-oriented DBMS introduced in 1997 (before that Intersystems was focused on the fourth-generation programming language M, renamed from MUMPS). Unlike most other OODBMS, Cache&#8217; is used for [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in;">I talked with Robert Nagle of Intersystems last week, and it went better than at least <a href="http://www.monashreport.com/2006/05/13/burning-issues-in-an-analysts-life/" onclick="javascript:pageTracker._trackPageview('/www.monashreport.com');">one other Intersystems briefing I&#8217;ve had</a>. Intersystems&#8217; main product is Cache&#8217;, an object-oriented DBMS introduced in 1997 (before that Intersystems was focused on the fourth-generation programming language M, renamed from MUMPS). Unlike most other OODBMS, Cache&#8217; is used for a lot of stuff one would think an RDBMS would be used for, across all sorts of industries. That said, there&#8217;s a distinct health-care focus to Intersystems, in that:</p>
<ul>
<li>MUMPS, the original Intersystems 	technology, was focused on health care.</li>
<li>The reasons Intersystems went 	object-oriented have a lot to do with <a href="../2008/08/16/intersystems-cache-microsoft-sql-serve/">the 	structure of health-care records</a>.</li>
<li>Intersystems&#8217; biggest and most 	visible ISVs are in the health-care area.</li>
<li>Intersystems is actually beginning 	to sell an electronic health records system called TrakCare around 	the world (but not in the US, where it has lots of large competitive 	VARs).</li>
</ul>
<p style="margin-bottom: 0in;"><em>Note: Intersystems Cache&#8217; is sold mainly through VARs (Value-Added Resellers), aka ISVs/OEMs. I.e., it&#8217;s sold by people who write applications on top of it.</em></p>
<p style="margin-bottom: 0in;">So far as I understand – and this is still pretty vague and apt to be partially erroneous – the Intersystems Cache&#8217; technical story goes something like this:<span id="more-1400"></span></p>
<ul>
<li>Intersystems Cache&#8217; is an object-oriented DBMS.</li>
<li>The preferred language for talking 	to Intersystems Cache&#8217; is Java.</li>
<li>Intersystems claims Cache&#8217; has 	good SQL performance, for most kinds of use-case.</li>
<li>Intersystems Cache&#8217; stores data in a kind of 	sparse hierarchy. It uses a lot of “common character count” 	compression, which sounds a lot to me like <a href="../2008/05/13/mcobject-extremedb-a-soliddb-alternative/">Patricia 	tries</a>.</li>
<li>Intersystems has recently bundled 	some BI/reporting tools into the Cache&#8217; stack. Surely not 	coincidentally, Intersystems once told me that some of its ISVs paid 	more to Crystal Reports than to Intersystems.</li>
<li>Intersystems Cache&#8217; has had Sybase emulation 	for several years, and just added Informix emulation. Most but not 	all stored procedures from those other DBMS run against Cache&#8217; as 	well.</li>
<li>Intersystems Cache&#8217; recently added a bunch of 	manageability, security, etc. features, the details of which 	generally inspired “Oh, you didn&#8217;t have that earlier?” reactions in me.</li>
<li>Intersystems&#8217; just did a revamp of the Cache&#8217; 	object model to make it more Smalltalk-like, in which messages are 	set to parent rather than child classes when appropriate. Thus, when 	you recompile a class, you don&#8217;t also have to recompile all its 	children, and incremental recompilation is now near-instantaneous. 	(Put that one in the “Oh, you didn&#8217;t have that earlier?” 	category too.) Versioning will be better as well.</li>
<li>In the latest release, Cache&#8217; has 	added what Intersystems calls “Java Event Processing.” This 	doesn&#8217;t sound like CEP (Complex Event Processing), and I forgot to 	ask whether it was memory-centric at all. Anyhow, the idea is to 	bang objects into the database really quickly, having them be 	immediately available for SQL query.  “Really quickly” means 	&gt;10,000 objects/core/second, with one test at the European Space 	Agency getting up to 85,000. By way of contrast, Intersystems 	asserts (based on bake-offs) that RDBMS competitors have to insert 	into BLOBs to get competitive performance, with associated loss of 	queryability.</li>
</ul>
<p style="margin-bottom: 0in;">Finally, a few financial highlights:</p>
<ul>
<li>Intersystems did a little over 	$1/4 billion in revenue in 2009.</li>
<li>85% of that was Cache&#8217;.</li>
<li>Revenue growth was slightly 	positive in 2009, and 15% in 2008.</li>
<li>Headcount growth was 25% in 2009 	and is planned to be big again in 2010, after being modest in prior 	years.</li>
</ul>
<p style="margin-bottom: 0in;">
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Detailed analysis of Perst and other in-memory object-oriented DBMS</title>
		<link>http://www.dbms2.com/2008/06/08/perst/</link>
		<comments>http://www.dbms2.com/2008/06/08/perst/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 21:07:37 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[In-memory DBMS]]></category>
		<category><![CDATA[McObject]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Object]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=438</guid>
		<description><![CDATA[Dan Weinreb &#8212; inspired by but not linking to my recent short post on McObject&#8217;s object-oriented in-memory DBMS Perst &#8212; has posted a detailed discussion of Perst on his own blog.  For context, he compares it briefly to analogous products, most especially Progress&#8217;s &#8212; which used to be ObjectStore, of which Dan was the [...]]]></description>
			<content:encoded><![CDATA[<p>Dan Weinreb &#8212; inspired by but not linking to <a href="http://www.dbms2.com/2008/06/06/open-source-in-memory-dbms/" >my recent short post on McObject&#8217;s object-oriented in-memory DBMS Perst</a> &#8212; has posted a <a href="http://dlweinreb.wordpress.com/2008/06/08/perst-an-embedded-object-oriented-database-management-system/" onclick="javascript:pageTracker._trackPageview('/dlweinreb.wordpress.com');">detailed discussion of Perst</a> on his own blog.  For context, he compares it briefly to analogous products, most especially Progress&#8217;s &#8212; which used to be ObjectStore, of which Dan was the chief architect.</p>
<p>This was based on documentation and general sleuthing (Dan figured out who McObject got Perst from), rather than hands-on experience, so performance figures and the like aren&#8217;t validated.  Still, if you&#8217;re interested in such technology, it&#8217;s a fascinating post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/06/08/perst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open source in-memory DBMS</title>
		<link>http://www.dbms2.com/2008/06/06/open-source-in-memory-dbms/</link>
		<comments>http://www.dbms2.com/2008/06/06/open-source-in-memory-dbms/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 15:59:26 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Cache]]></category>
		<category><![CDATA[DBMS product categories]]></category>
		<category><![CDATA[In-memory DBMS]]></category>
		<category><![CDATA[McObject]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Perst]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=437</guid>
		<description><![CDATA[I&#8217;ve gotten email about two different open source in-memory DBMS products/projects.  I don&#8217;t know much about either, but in case you care, here are some pointers to more info.
First, the McObject guys &#8212; who also sell a relational in-memory product &#8212; have an object-oriented, apparently Java-centric product called Perst.  They&#8217;ve sent over various [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve gotten email about two different open source in-memory DBMS products/projects.  I don&#8217;t know much about either, but in case you care, here are some pointers to more info.</p>
<p>First, the McObject guys &#8212; who also sell a <a href="http://www.dbms2.com/2008/05/13/mcobject-extremedb-a-soliddb-alternative/" >relational in-memory product</a> &#8212; have an object-oriented, apparently Java-centric product called <a href="http://www.mcobject.com/perst/" onclick="javascript:pageTracker._trackPageview('/www.mcobject.com');">Perst</a>.  They&#8217;ve sent over various press releases about same, the details of which didn&#8217;t make much of an impression on me.  (Upon review, I see that one of the main improvements they cite in Perst 3.0 is that they added 38 pages of documentation.)</p>
<p>Second, I just got email about something called CSQL Cache.  You can read more about CSQL Cache <a href="http://csqlcache.wordpress.com/" onclick="javascript:pageTracker._trackPageview('/csqlcache.wordpress.com');">here</a>, if you&#8217;re willing to navigate some fractured English.  CSQL&#8217;s SourceForge page is <a href="http://sourceforge.net/projects/csql" onclick="javascript:pageTracker._trackPageview('/sourceforge.net');">here</a>.  My impression is that CSQL Cache is an in-memory DBMS focused on, you guessed it, caching.  It definitely seems to talk SQL, but possibly its native data model is of some other kind (there are references both to &#8220;file-based&#8221; and &#8220;network&#8221;.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/06/06/open-source-in-memory-dbms/feed/</wfw:commentRss>
		<slash:comments>5</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>The 4 main approaches to datatype extensibility</title>
		<link>http://www.dbms2.com/2008/01/27/the-4-main-approaches-to-datatype-extensibility/</link>
		<comments>http://www.dbms2.com/2008/01/27/the-4-main-approaches-to-datatype-extensibility/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 05:26:46 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data types]]></category>
		<category><![CDATA[GIS and geospatial]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[data type]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[enterprise search]]></category>
		<category><![CDATA[geospatial]]></category>
		<category><![CDATA[OODBMS]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2008/01/27/the-4-main-approaches-to-datatype-extensibility/</guid>
		<description><![CDATA[Based on a variety of conversations – including some of the flames about my recent confession that mid-range DBMS aren&#8217;t suitable for everything &#8212; it seems as if a quick primer may be in order on the subject of datatype support. So here goes.
“Database management” usually deals with numeric or alphabetical data – i.e., the [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0in">Based on a variety of conversations – including some of the flames about my recent confession that <a href="http://www.dbms2.com/2008/01/24/mysql-database/" >mid-range DBMS aren&#8217;t suitable for everything</a> &#8212; it seems as if a quick primer may be in order on the subject of datatype support. So here goes.</p>
<p style="margin-bottom: 0in">“Database management” usually deals with numeric or alphabetical data – i.e., the kind of stuff that goes nicely into tables.  It commonly has a natural one-dimensional sort order, which is very useful for sort/merge joins, b-tree indexes, and the like.  This kind of tabular data is what relational database management systems were invented for.</p>
<p style="margin-bottom: 0in">But ever more, there are important datatypes beyond character strings, numbers and dates.  Leaving out generic BLOBs and CLOBs (Binary/Character Large OBjects), the big four surely are:</p>
<ul>
<li><strong>Text.</strong> Text search is a huge business on the web, and a separate big business in <a href="http://www.texttechnologies.com/2008/01/14/enterprise-search-versus-web-search/" onclick="javascript:pageTracker._trackPageview('/www.texttechnologies.com');">enterprises</a>.  And <a href="http://www.dbms2.com/2005/12/09/relational-dbms-versus-text-data/" >text doesn&#8217;t fit well into the relational paradigm</a> at all.</li>
<li><strong>Geospatial. </strong><span>Information about locations on the earth&#8217;s surface is essentially two-dimensional.  Some geospatial apps use three dimensions.</span></li>
<li><strong>Object. </strong><span> There are two main reasons for using object datatypes.  First, the data can have complex internal structures. Second, it can comprise a variety of simpler types.  Object structures are well-suited for engineering and medical applications.</span></li>
<li><strong>XML.</strong><span> A great deal of XML is, at its heart, either relational/tabular data or text documents.  Still, there are a variety of applications for which the most natural datatype truly is XML.</span></li>
</ul>
<p style="margin-bottom: 0in">Numerous other datatypes are important as well, with the top runners-up probably being images, sound, video, time series (even though they&#8217;re numeric, they benefit from special handling).</p>
<p style="margin-bottom: 0in">Four major ways have evolved to manage data of non-tabular datatype, either on their own or within an essentially relational data management environment. <span id="more-338"></span></p>
<ul>
<li><strong>Utterly standalone servers.</strong><span> There are lots of search engines, geospatial engines, object-oriented database management systems, and so on.  Some may have ODBC/JDBC SQL interfaces, to handle metadata (which is commonly tabular in nature) if nothing else.  But even so, there&#8217;s little relational about them.</span></li>
<li><strong>True RDBMS extensibility. </strong><span> In the 1990s, awkwardly named </span><em><span>object-relational database management systems</span></em><span> were introduced, boasting the awkwardly named feature </span><em><span>abstract datatypes.</span></em><span> Oracle, DB2, Informix, and PostgreSQL are now of this kind.  They let one write data access methods for data that&#8217;s right in the basic relational table structure, and get at it through extensions to SQL. </span></li>
<li><strong>Tightly coupled servers. </strong><span> A close relative of RDBMS extension via new access methods is to create new servers for new datatypes, well-integrated with your RDBMS.  Your parser and optimizer are in charge of federating them; the user just writes extended-SQL statements.</span></li>
<li><strong>User-defined functions. </strong><span> User-defined functions are like datatype extensions, but vastly easier to write, in that they don&#8217;t have any special access methods.  When their performance is good enough, UDFs are often the best way to handle extended-datatype needs.</span></li>
</ul>
<p style="margin-bottom: 0in">So how does this all play out in real-world examples?   It&#8217;s all over the place.</p>
<ul>
<li><strong>Enterprise text search</strong> is divided among three modes – integrated into the RDBMS (Oracle and IBM), tightly-couple server (Microsoft, pre-FAST acquisition), and standalone (Autonomy, FAST pre-acquisition, Google, and most other vendors).</li>
<li><strong>Geospatial datatypes</strong> are embedded into extensible DBMS – generally via technology from ESRI – for OLTP uses.  But for data warehousing, where you don&#8217;t need pinpoint record retrieval, UDFs are generally believed to suffice. (E.g. Teradata, Netezza.)</li>
<li><strong>Intersystems</strong> seems to stand alone in getting nontrivial revenue from the standalone OODBMS market.</li>
<li>The <strong>XML</strong> situation is really confused:  Oracle has been late getting its native XML strategy together; the tightly-coupled DB2 Viper engine has been a performance disappointment; Microsoft&#8217;s integrated native XML isn&#8217;t heard from much either; and text/XML integrated engine Marklogic is getting some non-text business almost by default.   In addition, every serious relational vendor has a capability to “shred” XML into relational tables, and can of course also just bulk-handle XML via BLOBs/CLOBs.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2008/01/27/the-4-main-approaches-to-datatype-extensibility/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Intersystems&#8217; stealth marketing has gotten pretty extreme</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/</link>
		<comments>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 00:17:50 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Intersystems and Cache']]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Intersystems]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/</guid>
		<description><![CDATA[Every few months I try to make contact with Intersystems.  Sometimes they graciously respond, promising to schedule a briefing, which then never happens.  Other times they don&#8217;t even bother.  Now, on one level I can&#8217;t blame them, based on what happened at my last briefing.  
And it&#8217;s not just me.  [...]]]></description>
			<content:encoded><![CDATA[<p>Every few months I try to make contact with Intersystems.  Sometimes they graciously respond, promising to schedule a briefing, which then never happens.  Other times they don&#8217;t even bother.  Now, on one level I can&#8217;t blame them, based on <a href="http://www.monashreport.com/2006/05/13/burning-issues-in-an-analysts-life/" onclick="javascript:pageTracker._trackPageview('/www.monashreport.com');">what happened at my last briefing</a>.  <span id="more-303"></span></p>
<p>And it&#8217;s not just me.  Two personal data points about Intersystems&#8217; self-defeating lack of visibility include:</p>
<ul>
<li>A nontrivial ISV is evaluating OODBMS for a nontrivial OLTP app.  Cache&#8217; &#8212; the obvious #1 choice &#8212; isn&#8217;t even being considered, because they know so little about the product.  I suggested Cache&#8217;, but they shot back a qualifying question I couldn&#8217;t answer, because I&#8217;m so out of touch with the company and product myself.</li>
<li> A client of mine that&#8217;s a medical-app ISV was indeed evaluating Cache&#8217;, as they should be &#8212; but was hugely impressed that I&#8217;d heard of such an obscure product.</li>
</ul>
<p>I probably should stop talking about the company.  While their story sounds very good in parts, I don&#8217;t have enough confidence in what I&#8217;ve heard to feel comfortable proposing them anywhere outside their flagship medical vertical market.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Progress Software progress report</title>
		<link>http://www.dbms2.com/2007/04/28/progress-software-progress-report/</link>
		<comments>http://www.dbms2.com/2007/04/28/progress-software-progress-report/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 02:20:25 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Companies and products]]></category>
		<category><![CDATA[Mid-range]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Progress, Apama, and DataDirect]]></category>
		<category><![CDATA[Relational database management systems]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2007/04/28/progress-software-progress-report/</guid>
		<description><![CDATA[For the past 20+ years – all the way back to when it was still privately held &#8212; I’ve periodically gotten up to speed on Progress Software.  I’m trying again now, and to that end dropped by yesterday for a chat with Jeff Stamen.  I’ll give a brief overview now – which is [...]]]></description>
			<content:encoded><![CDATA[<p>For the past 20+ years – all the way back to when it was still privately held &#8212; I’ve periodically gotten up to speed on Progress Software.  I’m trying again now, and to that end dropped by yesterday for a chat with Jeff Stamen.  I’ll give a brief overview now – which is probably all I’m qualified to do right now anyway – and then loop back with more detailed info after I get it.</p>
<p>After a reorganization at the beginning of this (November) fiscal year, the vast majority of Progress’ products fall into one of five buckets, which I shall glibly refer to in decreasing order of size as “Progress Classic,” “SOA,” “drivers,” “memory-centric,” and “EasyAsk.”  Here’s a quick overview of each. <span id="more-182"></span> </p>
<p><strong>Progress Classic</strong> is focused on the old DBMS/4GL combo, with the principal brand name being “OpenEdge.”  This business is 2/3 VARs, 1/3 enterprises, typically enterprises that were first introduced to the technology via VARs.   The 4GL is just historically a great product, if a little outmoded in one or the other way.  </p>
<p>The DBMS is noteworthy in that it’s extremely easy to administer.  In addition, Jeff claims that even for OLTP there’s commonly a 7:1 ratio in database size vs. Oracle for the same data, due to, for example, variable record lengths.  Such factors are <a href="http://www.dbms2.com/2006/09/28/expansion-ratio-data-warehouse-explosion/" >not unheard of in data warehousing</a>, of course; but for OLTP his comment was quite the jaw-dropper.  On the other hand, OLTP databases aren’t all that big (Progress’s biggest is 2 terabytes), so it’s not clear how great the practical significance of such statistics is.  </p>
<p>Incidentally, the ability to scale to that size is one recent enhancement.  Another is Java-friendliness; there’s now a JVM, and Progress supports Java stored procedures.  Come to think of it, the latter is also mainly a performance/scalability feature in practice, although it might also provide comfort to those users not wanting to be locked into the Progress OpenEdge engine.</p>
<p>Overall growth in this division right now is sloooow.  Big VARs continue to see some growth, but smaller ones dropping off aren’t necessarily being replaced.</p>
<p><strong>SOA</strong> was put together from a lot of pieces – the inhouse development of Sonic’s stuff, the Actional acquisition, and a bunch of others.  I’ll reserve comment until I know more, except to point out that Progress doesn’t seem to have yet connected the dots between its history of application development excellence and the need for really great and simple composite app development tools.  Growth here seems solid.</p>
<p><strong>Drivers = DataDirect,</strong> which has previously been an independent company, a part of the frequently renamed Sage/Intersolv/Merant, and before that originally an independent company named Pioneer and know for its Q+E product.  Basically, DataDirect pioneered ODBC in collaboration with Microsoft, and is still the default supplier of ODBC/JDBC drivers.  (Already in the 1990s these were just as performant as native database access, or so close as to make no difference, but to this day many people don’t realize that.)  Now the product set has XML mixed in, via Stylus Studio, which is one of the few parts of Progress’s product line that actually seems to be vigorously marketed.  Overall, the division seems to be growing nicely, something else that’s a relatively well-kept secret.  But then, I’m a charter member of the club that believes DataDirect will maintain its market dominance for as long as John Goodson runs development there.</p>
<p><strong>Memory-centric</strong> = what used to be known as Progress Real-Time Division, more or less.  Only part of that is doing well.   The object-caching and object DBMS products are being deemphasized and are showing small, declining revenue.  This is despite some <a href="http://www.dbms2.com/2005/10/10/the-amazoncom-bookstore-is-a-huge-modern-oltp-app-so-is-it-relational/" >notable product success</a> in the past.  Brand names and predecessor companies covered by that include ObjectStore, Object Design, eXcelon (those are all the same thing, basically), and Persistence.</p>
<p>The Apama products, however, seem to be doing nicely in their specialty markets – financial trading, intelligence, telecom.  A number of ultra-low-latency technologies seem to be doing well in those areas, as the need-for-speed seems not to be abating.</p>
<p>Note to self:  See how Streambase is doing these days.</p>
<p>And then there is <strong>EasyAsk.</strong>  Way back in 1983, I helped Artificial Intelligence Corporation raise scads of money on the strength of its natural language query product Intellect.   For a variety of reasons, that never amounted to much, although it was the base for what became a public company called Trinzic.  Anyhow, founder Larry Harris tried again, and the result product eventually became EasyAsk and was acquired by Progress.  The whole thing is quite incestuous – Larry was on the Progress board, Jeff was an original investor in AI Corp. as well as being in effect a technical cofounder of Progress (despite moving on to other things), etc.  </p>
<p>Be that as it may, Progress has some interesting thoughts about the possibilities for EasyAsk.  I plan to write about them over on Text Technologies.</p>
<p><em>Want to continue getting great research about DBMS, analytics, data integration, and other technologies related to data management? Then get a <a href="http://www.monash.com/feed.php" onclick="javascript:pageTracker._trackPageview('/www.monash.com');">free subscription</a> to our feed, by RSS/Atom or e-mail! We recommend taking the integrated feed for all our blogs, but blog-specific ones are also easily available.</p>
<p>Technorati Tags: <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/OpenEdge" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> OpenEdge</a>, <a href="http://technorati.com/tag/EasyAsk" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> EasyAsk</a>, <a href="http://technorati.com/tag/Apama" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> Apama</a>, <a href="http://technorati.com/tag/DataDirect" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> DataDirect</a>, <a href="http://technorati.com/tag/ObjectStore" onclick="javascript:pageTracker._trackPageview('/technorati.com');" rel="tag"> ObjectStore </a></p><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2007/04/28/progress-software-progress-report/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hot times at Intersystems</title>
		<link>http://www.dbms2.com/2006/05/13/hot-times-at-intersystems/</link>
		<comments>http://www.dbms2.com/2006/05/13/hot-times-at-intersystems/#comments</comments>
		<pubDate>Sat, 13 May 2006 08:22:34 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[EAI, EII, ETL, ELT, ETLT]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Intersystems and Cache']]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/2006/05/13/hot-times-at-intersystems/</guid>
		<description><![CDATA[About a year ago, I wrote a very favorable column focusing on Intersystems&#8217; OODBMS Cache&#8217;.  Cache&#8217; appears to be the one OODBMS product that has good performance even in a standard disk-centric configuration, notwithstanding that random pointer access seems to be antithetical to good disk performance.
Intersystems also has a hot new Cache&#8217;-based integration product, [...]]]></description>
			<content:encoded><![CDATA[<p>About a year ago, I wrote a very favorable <a href="http://www.computerworld.com/s/article/101591/Looking_Beyond_the_Big_Three" onclick="javascript:pageTracker._trackPageview('/www.computerworld.com');">column</a> focusing on Intersystems&#8217; OODBMS Cache&#8217;.  Cache&#8217; appears to be the one OODBMS product that has good performance even in a standard disk-centric configuration, notwithstanding that random pointer access seems to be antithetical to good disk performance.</p>
<p>Intersystems also has a hot new Cache&#8217;-based integration product, Ensemble.  They attempted to brief me on it (somewhat belatedly, truth be told) last Wednesday.  Through no fault of the product, however, <a href="http://www.monashreport.com/2006/05/13/burning-issues-in-an-analysts-life/" onclick="javascript:pageTracker._trackPageview('/www.monashreport.com');">the briefing didn&#8217;t go so well</a>.  I still look forward to learning more about Ensemble.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2006/05/13/hot-times-at-intersystems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
