<?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; 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>Wed, 08 Feb 2012 22:51:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Defining NoSQL</title>
		<link>http://www.dbms2.com/2011/10/02/defining-nosql/</link>
		<comments>http://www.dbms2.com/2011/10/02/defining-nosql/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 00:32:02 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Cassandra]]></category>
		<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Petabyte-scale data management]]></category>
		<category><![CDATA[Schooner Information Technology]]></category>
		<category><![CDATA[dbShards and CodeFutures]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5394</guid>
		<description><![CDATA[A reporter tweeted:  &#8221;Is there a simple plain English definition for NoSQL?&#8221; After reminding him of my cynical yet accurate Third Law of Commercial Semantics, I gave it a serious try, and came up with the following. More precisely, I tweeted the bolded parts of what&#8217;s below; the rest is commentary added for this post. NoSQL [...]]]></description>
			<content:encoded><![CDATA[<p>A reporter tweeted:  &#8221;Is there a simple plain English definition for NoSQL?&#8221; After reminding him of my cynical yet accurate <a href="http://www.strategicmessaging.com/no-market-categorization-is-ever-precise/2011/03/01/">Third Law of Commercial Semantics</a>, I gave it a serious try, and came up with the following. More precisely, I tweeted the bolded parts of what&#8217;s below; the rest is commentary added for this post.</p>
<p><strong>NoSQL is most easily defined by what it excludes: SQL, joins, strong analytic alternatives to those, and some forms of database integrity. If you leave all four out, and you have a strong scale-out story, you&#8217;re in the NoSQL mainstream.</strong>   <span id="more-5394"></span></p>
<ul>
<li>Thus, I&#8217;d say Cassandra, HBase, Mongo DB, and Couchbase are prime examples, in no particular order. Riak as well.</li>
<li>I might have phrased that better if I&#8217;d used a different word than simply &#8220;strong&#8221; &#8212; but hey, there was a 140-character limit, and he was on deadline.</li>
</ul>
<p><strong>Using NoSQL can make sense when at least one of two things is paramount: low-cost scale-out or dynamic schemas.</strong></p>
<ul>
<li>There are some seriously sensible use cases for <a href="../../../../../2011/07/31/dynamic-fixed-schema-databases/">dynamic schemas</a>.</li>
<li>&#8220;Low-cost&#8221; generally boils down to:
<ul>
<li>Performance.</li>
<li>Open source free-like-beer.</li>
<li>Not a lot of database administration.</li>
</ul>
</li>
</ul>
<p>I&#8217;ve generally given object-oriented DBMS vendors and also MarkLogic hard times whenever they consider saying they&#8217;re &#8220;NoSQL&#8221;. Reasons include:</p>
<ul>
<li>Closed source.</li>
<li>Database administration overhead (even if you get good stuff for incurring that overhead, like MarkLogic&#8217;s comprehensive indexing).</li>
</ul>
<p>Also, NoSQL started out being ACID-unfriendly.</p>
<p><strong>What you give up are the query flexibility and the easily automatic data integrity of SQL-based systems.</strong> I should have added something about a mature ecosystem.</p>
<p>In the most recent live example, I influenced a <a href="../../../../../2011/09/19/oltp-disk-solid-state/">client</a> away from Cassandra and toward scale-out MySQL (dbShards and/or Schooner flavors, most likely). Part of the reason was the ability to do joins, which are useful in their application. Another part is that their development practices obviated any significant benefit from dynamic schemas. But perhaps the most important &#8212; or at least resonant &#8212; reason of all was that they really, really cared about .NET support.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/10/02/defining-nosql/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Oracle NoSQL is unlikely to be a big deal</title>
		<link>http://www.dbms2.com/2011/09/30/oracle-nosql/</link>
		<comments>http://www.dbms2.com/2011/09/30/oracle-nosql/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 18:20:53 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Parallelization]]></category>
		<category><![CDATA[Schooner Information Technology]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5384</guid>
		<description><![CDATA[Alex Williams noticed that there will be a NoSQL session at Oracle OpenWorld next week, and is wondering whether this will be a big deal. I think it won&#8217;t be. There really are three major points to NoSQL. Dynamic schemas. This is the only one of the three that truly depends on NoSQL. Scale-out short-request [...]]]></description>
			<content:encoded><![CDATA[<p>Alex Williams noticed that there will be a NoSQL session at Oracle OpenWorld next week, and is wondering whether this will be a big deal. I think it won&#8217;t be.</p>
<p>There really are three major points to NoSQL.</p>
<ul>
<li><strong><a href="http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/">Dynamic schemas</a>.</strong> This is the only one of the three that truly depends on NoSQL.</li>
<li><strong>Scale-out <a href="http://www.dbms2.com/2011/03/30/short-request-and-analytic-processing/">short-request processing</a>.</strong> If you want to scale out efficiently at high request volumes, you&#8217;re best off not using all the flexibility SQL/relational DBMS offer. (In particular, you don&#8217;t want to do cross-node joins). Not coincidentally, a number of the best scale-out offerings were built to be NoSQL.</li>
<li><strong>Open source</strong>. Doing a relational DBMS is a big project. It seems easier to build NoSQL ones.</li>
</ul>
<p>Oracle can address the latter two points as aggressively as it wishes via MySQL. It so happens I would generally recommend MySQL enhanced by dbShards, Schooner, and/or dbShards/Schooner, rather than Oracle-only MySQL &#8230; but that&#8217;s a detail. In some form or other, Oracle&#8217;s MySQL is a huge player in the scale-out, open source, short-request database management market.</p>
<p>So that leaves us with dynamic schemas. Oracle has at least four different sets of technology in that area:</p>
<ul>
<li> As <a href="http://www.dbms2.com/2010/08/22/workday-technology-stack/">Workday</a> noticed years ago, MySQL can be used as a functional, basic key-value store.</li>
<li>Oracle also has XML-based Berkeley DB/SleepyCat kicking around.*</li>
<li>The XML extensions to Oracle&#8217;s core DBMS could be alleged to have a dynamic schema/NoSQL flavor. (Blech.)</li>
<li>A dynamic schema argument could also be made for object-oriented DBMS technology. While Oracle doesn&#8217;t to my knowledge exactly sell that, it does have the <a href="http://www.dbms2.com/2007/03/25/oracle-tangosol-objects-caching-and-disruption/">Tangosol</a> Coherence line of technology, with a potentially similar programming model.</li>
</ul>
<p>If Oracle is now refreshing and rebranding one or more of these as &#8220;NoSQL&#8221;, there&#8217;s no reason to view that as a big deal at all.</p>
<p><em>*That&#8217;s Mike Olson&#8217;s former company, if you&#8217;re keeping score at home.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/09/30/oracle-nosql/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The database architecture of salesforce.com, force.com, and database.com</title>
		<link>http://www.dbms2.com/2011/09/15/database-architecture-salesforce-com-force-com-and-database/</link>
		<comments>http://www.dbms2.com/2011/09/15/database-architecture-salesforce-com-force-com-and-database/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 16:09:32 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[Market share and customer counts]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Software as a Service (SaaS)]]></category>
		<category><![CDATA[salesforce.com]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5237</guid>
		<description><![CDATA[salesforce.com, force.com, and database.com use exactly the same database infrastructure and architecture. That&#8217;s the good news. The bad news is that salesforce.com is somewhat obscure about technical details, for reasons such as: A long-ago marketing decision to not give infrastructure details, so as to convey a &#8220;Don&#8217;t worry; we&#8217;ll take care of everything&#8221; message. Even [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dbms2.com/2011/09/15/salesforce-force-database-data-heroku/">salesforce.com, force.com, and database.com use exactly the same database infrastructure and architecture</a>. That&#8217;s the good news. The bad news is that salesforce.com is somewhat obscure about technical details, for reasons such as:</p>
<ul>
<li>A long-ago marketing decision to not give infrastructure details, so as to convey a &#8220;Don&#8217;t worry; we&#8217;ll take care of everything&#8221; message.</li>
<li>Even so, a long-ago and perhaps now-regretted marketing decision to disclose and even exaggerate salesforce.com&#8217;s reliance on Oracle, as part of an early-days attempt to prove salesforce was using enterprise-class technology.</li>
<li>A desire to hide the recipe for salesforce.com&#8217;s secret sauce.</li>
<li>Force of habit &#8212; I&#8217;m not sure salesforce even knows how to tell its technical story with any clarity.</li>
</ul>
<p>Actually, salesforce.com has moved some kinds of data out of Oracle that previously used to be stored there. Besides Oracle, salesforce uses at least a file system and a RAM-based data store about which I have no details. Even so, much of salesforce.com&#8217;s data is stored in Oracle &#8212; a single instance of Oracle, which it believes may be the largest instance of Oracle in the world.</p>
<p><span id="more-5237"></span>Salesforce did spell out some of its database story in <a href="http://www.salesforce.com/au/assets/pdf/Force.com_Multitenancy_WP_101508.pdf">a 2008 force.com white paper</a>,<em> </em>which is good stuff, but potentially misleading in one important way. The paper tells of a level of abstraction, whereby what the application sees as logical &#8220;columns&#8221; are stored in a very different schema than one might assume. However, it doesn&#8217;t spell out a second level of abstraction, whereby that logical schema also isn&#8217;t how the database is actually laid out.</p>
<p><em>Another flaw in the paper is that it spins &#8220;We had to do this, to support multitenancy, so we did.&#8221; issues as &#8220;Because we&#8217;re multitenant, we can do this, while single-tenant systems can&#8217;t.&#8221; One example is the query optimization step around &#8220;user visibility&#8221; in Figure 11. Welcome to marketing.</em></p>
<p>At the first level of abstraction, data seems to be kept mainly in a single wide table, with hundreds of columns. What&#8217;s more, many of those are &#8220;flex columns&#8221;; a flex column can hold data of many different kinds and even datatypes. Notwithstanding the second level of abstraction, I imagine the idea of stuffing different kinds of thing into the same column has something to do with the fact that <a href="../../../../../2011/03/13/so-how-many-columns-can-a-single-table-have-anyway/">Oracle&#8217;s physical limit on columns</a> falls far short of the number of logical columns salesforce wants to use.</p>
<p>If we imagine that the different kinds of data in a flex column were each in their own column instead, the whole thing might sound like BigTable/Cassandra/HBase-style column-group NoSQL. Thus, much as <a href="../../../../../2010/08/22/workday-technology-stack/">Workday uses MySQL to simulate a key-value store</a>, salesforce.com can be said to use Oracle to simulate a different kind of NoSQL. In both cases, what&#8217;s going on seems to be a kind of object/relational mapping, but with the relational aspect strongly deemphasized. Or, if you take a more relational view, we could say that salesforce.com&#8217;s tables are a lot wider than any one user organization&#8217;s, because each user sees only its own custom columns (plus the standard ones common to all users).</p>
<p>The second layer of abstraction has a lot to do with multitenancy. If you want to stick data for many different user organizations into the same huge table, then you have to label it in some way to show who is permitted to see or update each part. Logically, this leads to a join, between one table carrying data plus a simple key showing which users/roles are entitled to see it, and a second table showing who actually is that kind of user/has that kind of role. But that join makes a lot of sense to store in a denormalized way, all the more because data is partitioned across the computer cluster in line with which user organization it actually belongs to.</p>
<p><em>Multitenant security isn&#8217;t the only reason for this denormalization, but it appears to be the biggest one.</em></p>
<p>The whole thing is doing 550 million or so transactions per day. salesforce.com thinks that fact should be regarded as evidence that it works. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/09/15/database-architecture-salesforce-com-force-com-and-database/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Terminology: Dynamic- vs. fixed-schema databases</title>
		<link>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/</link>
		<comments>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 23:02:56 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5045</guid>
		<description><![CDATA[E. F. &#8220;Ted&#8221; Codd taught the computing world that databases should have fixed logical schemas (which protect the user from having to know about physical database organization).  But he may not have been as universally correct as he thought. Cases I&#8217;ve noted in which fixed schemas may be problematic include: &#8220;A bunch of apps in [...]]]></description>
			<content:encoded><![CDATA[<p>E. F. &#8220;Ted&#8221; Codd taught the computing world that <a href="http://www.dbms2.com/2011/07/31/the-ted-codd-guarantee/">databases should have fixed logical schemas</a> (which protect the user from having to know about physical database organization).  But he may not have been as universally correct as he thought. Cases I&#8217;ve noted in which fixed schemas may be problematic include:</p>
<ul>
<li>&#8220;A bunch of apps in one, similar but not the same&#8221; (in <a href="../../../../../2011/07/27/mongodb-users-and-use-cases/">my recent post on MongoDB</a>).</li>
<li>Out-of-control product catalogs (ditto).</li>
<li><a href="../../../../../2011/06/19/investigative-analytics-derived-data/">Analytic use cases in which one keeps enhancing the database with derived data</a>.</li>
</ul>
<p>And <a href="../../../../../2010/06/08/profile-of-revealed-preferences/">if marketing profile analysis is ever done correctly</a>, that will be a huge example for the list.</p>
<p>So what do we call those DBMS &#8212; for example NoSQL, object-oriented, or XML-based systems &#8212; that bake the schema into the applications or the records themselves? In the MongoDB post I went with &#8220;schemaless,&#8221; but I wasn&#8217;t really comfortable with that, so I took the discussion to Twitter. Comments from <a href="http://twitter.com/#%21/vldid/status/96271464310898688">Vlad Didenko</a> (in particular), <a href="http://twitter.com/#%21/ryanprociuk/status/96289631234035712">Ryan Prociuk</a>, <a href="http://twitter.com/#!/merv/status/96283658951995392">Merv Adrian</a>, and <a href="http://twitter.com/#%21/rolandbouman/status/96297629369106432">Roland Bouman</a> favored the idea that <strong>schemas in such systems are changeable or late-bound, rather than entirely absent.</strong> I quickly agreed.</p>
<p><em><span id="more-5045"></span>The discussion wasn&#8217;t entirely serious; wise-ass comments were contributed by at least <a href="http://twitter.com/#%21/merv/status/96236381382254592">Merv</a>, <a href="http://twitter.com/#%21/NeilRaden/status/96233519637999617">Neil Raden</a>, <a href="http://twitter.com/#%21/hakmem/status/96229674849533952">Yiorgos Adamopoulos</a>, and <a href="http://twitter.com/#%21/CurtMonash/status/96287448434360320">myself</a>.</em></p>
<p>I like that approach for the same reason I favor saying that databases are <a href="../../../../../2011/05/17/poly-structured-database/">poly- or multi-structured</a> (rather than un- or semi-):  <strong>Every database has structure, the only question being <em>when</em> that structure is determined.</strong> I wouldn&#8217;t precisely equate &#8220;poly-structured&#8221; to &#8220;has a late-bound schema&#8221;; for example, I&#8217;d say that mucking with the DDL (Data Description Language) of a relational database shows that it&#8217;s a little bit poly-structured, even though it&#8217;s not at all late-bound. But the concepts are definitely related.</p>
<p>So what actual wording should we use here? The only alternative I see to <strong>fixed schema</strong> is &#8220;static&#8221;, and that feels like it has <em>too</em> much of a connotation of &#8220;unchangeable&#8221;. The simplest word I can think of for changeable/late-bound/whatever is <strong>dynamic schema; </strong>that choice also has the virtue of some traction, as per the Vlad Didenko tweet linked above. Casual googling is also supportive of &#8220;fixed&#8221; and &#8220;dynamic&#8221;, at least over whatever alternatives I came up with. So those are my choices.</p>
<p>For actual definitions, I&#8217;ll say:</p>
<ul>
<li><strong>A (logical) schema is fixed </strong>if it is <strong>defined before a program is written, </strong>but<strong> dynamic </strong>if it is <strong>defined by the program or data itself.</strong></li>
<li><strong>A database is fixed- or dynamic-schema</strong> depending on whether its schemas are fixed or dynamic respectively.</li>
<li><strong>A DBMS is fixed- or dynamic-schema</strong> depending on whether databases created in it tend to have fixed or dynamic schemas respectively.</li>
</ul>
<p>Suit yourself as to what you say about relational DBMS when they also have a bit of XML, text, or whatever support.</p>
<p>By these definitions:</p>
<ul>
<li>Relational databases are fixed-schema (within the caveat above about XML or text data).</li>
<li>MOLAP databases are fixed-schema.</li>
<li>Pre-relational network and hierarchical DBMS (e.g. IMS) are fixed-schema.</li>
<li>Most other DBMS are dynamic-schema.</li>
</ul>
<p><em>What do you think? Do these definitions work for you?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/07/31/dynamic-fixed-schema-databases/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>McObject and eXtremeDB</title>
		<link>http://www.dbms2.com/2011/07/22/mcobject-extremedb/</link>
		<comments>http://www.dbms2.com/2011/07/22/mcobject-extremedb/#comments</comments>
		<pubDate>Fri, 22 Jul 2011 12:32:16 +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>
		<category><![CDATA[Objectivity and Infinite Graph]]></category>
		<category><![CDATA[Telecommunications]]></category>
		<category><![CDATA[solidDB]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=5004</guid>
		<description><![CDATA[I talked with McObject yesterday. McObject has two product lines, both of which are something like in-memory DBMS &#8212; eXtremeDB, which is the main one, and Perst. McObject has been around since at least 2003, probably has no venture capital, and probably has a very low double-digit number of employees.* *I could be wrong in [...]]]></description>
			<content:encoded><![CDATA[<p>I talked with McObject yesterday. McObject has two product lines, both of which are something like in-memory DBMS &#8212; eXtremeDB, which is the main one, and <a href="../../../../../2008/06/08/perst/">Perst</a>. McObject has been around since at least 2003, probably has no venture capital, and probably has a very low double-digit number of employees.*</p>
<p><em>*I could be wrong in those guesses; as small companies go, McObject is unusually prone to secrecy games.</em></p>
<p>As best I understand:</p>
<ul>
<li>eXtremeDB is something like an in-memory <a href="../../../../../2011/05/21/object-oriented-database-management-systems-oodbms/">object-oriented DBMS</a>, designed to be embeddable.</li>
<li>However, much as with Objectivity and other old-school OODBMS, eXtremeDB winds up being more of a toolkit with which to build DBMS than a full DBMS.</li>
<li>eXtremeDB has a few indexing schemes. The main one is good old B-trees. One customer wanted Patricia tries, so they&#8217;re in there. (Perhaps not coincidentally, solidDB relies on Patricia tries.) At least one wanted R-trees, so they&#8217;re in there too.</li>
<li>eXtremeDB has long had the option of persistent logs.</li>
<li>eXtremeDB newly has a hybrid memory-centric option, in which you can have more data in the database than fits into RAM.</li>
<li>eXtremeDB newly has multi-master two-phase-commit clustering.</li>
</ul>
<p>My guess three years ago that <a href="../../../../../2008/05/13/mcobject-extremedb-a-soliddb-alternative/">eXtremeDB might emerge as an alternative to solidDB</a> seems to have been borne out. McObject CEO Steve Graves says that the core of McObject&#8217;s business is OEMs, in sectors such as telecom equipment and defense/aerospace. That&#8217;s exactly solidDB&#8217;s traditional market, except that <a href="../../../../../2007/12/21/ibm-acquires-soliddb/">solidDB got acquired by IBM and deemphasized it</a>.</p>
<p>I&#8217;ve said before that if I were starting a SaaS effort &#8212; and it wasn&#8217;t just focused on analytics &#8212; <a href="../../../../../2011/05/21/object-oriented-database-management-systems-oodbms/">I&#8217;d look at using a memory-centric OODBMS</a>. Perhaps eXtremeDB is worth looking at in such scenarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/07/22/mcobject-extremedb/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Forthcoming Oracle appliances</title>
		<link>http://www.dbms2.com/2011/06/24/forthcoming-oracle-appliances/</link>
		<comments>http://www.dbms2.com/2011/06/24/forthcoming-oracle-appliances/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 06:44:56 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data warehouse appliances]]></category>
		<category><![CDATA[Hadoop]]></category>
		<category><![CDATA[In-memory DBMS]]></category>
		<category><![CDATA[MapReduce]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4822</guid>
		<description><![CDATA[Edit: I checked with Oracle, and it&#8217;s indeed TimesTen that&#8217;s supposed to be the basis of this new appliance, as per a comment below. That would be less cool, alas. Oracle seems to have said on yesterday&#8217;s conference call Oracle OpenWorld (first week in October) will feature appliances based on Tangosol and Hadoop. As I [...]]]></description>
			<content:encoded><![CDATA[<p><em>Edit: I checked with Oracle, and it&#8217;s indeed TimesTen that&#8217;s supposed to be the basis of this new appliance, as per a comment below. That would be less cool, alas.</em></p>
<p>Oracle seems to have said on yesterday&#8217;s conference call Oracle OpenWorld (first week in October) will feature appliances based on Tangosol and Hadoop. As I post this, <a href="http://seekingalpha.com/article/276425-oracle-s-ceo-discusses-q4-2011-results-earnings-call-transcript?part=qanda">the Seeking Alpha transcript of Oracle&#8217;s call</a> is riddled with typos. Bolded comments below are by me.  <span id="more-4822"></span></p>
<blockquote><p>Well, we&#8217;re planning to add a couple of appliances and announcing them this fall. One appliance, that should surprise you is a large memory addition to Exadata for analytics and memory, so we continue to invest. We thought that would &#8212; we&#8217;ve been the leader of in-memory database technology ever since we bought Tungsten. <strong>I presume that&#8217;s a typo for <a href="../../../../../2007/03/25/oracle-tangosol-objects-caching-and-disruption/">&#8220;Tangosol&#8221;</a>. And it sort of denigrates Oracle TimesTen.</strong> And that&#8217;s for both for transactions and for preprocessing. We are, as memories become cheaper and larger scale, we&#8217;ve changed as much of our algorithms and this in-memory analytics accelerator is going to be, again, coming out and we&#8217;ll be announcing it in the fall at Oracle OpenWorld.</p></blockquote>
<p>That part, especially in connection with the last sentence of the next quote, sounds almost as if Tangosol will be positioned as a  kind of memory-centric object-oriented DBMS, albeit with Oracle as its  persistence layer. Well, I favor both <a href="../../../../../2011/05/23/databases-ram/">in-memory</a> and <a href="../../../../../2011/05/21/object-oriented-database-management-systems-oodbms/">object-oriented</a> DBMS, and especially the intersection of those two categories. So in  principle this could be a very cool product. Exploiting that coolness, however, may require one heck of a missionary sell.</p>
<blockquote><p>In addition, attaching to our Exalogic box, there&#8217;s a lot of misunderstanding about what&#8217;s a dupe is, and is it a replacement for database.<strong> I presume &#8220;a dupe&#8221; is a typo for &#8220;Hadoop&#8221;</strong>. So the dupe is not a replacement for database. It&#8217;s an adjunct to the database, which we think, is very, very important. It really is a tool for Java programmers. And we&#8217;re the world leader in Java technology and we are building a big data accelerator to attach to our Exalogic box, which comes out also this fall. The big data accelerator includes some of the standard open source heavy software, HTFF, the heavy file system and a number of other pieces, but also some Oracle components that we think can dramatically speed up the entire math-produced process. <strong>I presume that&#8217;s a series of typos for &#8220;HDFS&#8221; and &#8220;MapReduce</strong>&#8220;. And will be particularly attractive to Java programmers who are the ones, who asked for &#8212; aspire to do. There are some interesting applications they do, ETL is one. Log processing is another. <strong>Those last two sentences are more evidence for the theory that this is about Hadoop. Besides, I spoke with somebody who listened to the call. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong> We&#8217;re going to have a lot of those features, functions and prebuilt applications in our big data accelerator. So, Oracle has always followed database technology trends, whether it&#8217;s object databases, in-memory databases and kept up with this technology and some, quite often led on innovation.</p></blockquote>
<p>And that part sounds as if Oracle will announce a Hadoop appliance, positioning it more as a Java software accelerator than a place to  store cheap data. Be the positioning as it may, my <a href="../../../../../2011/06/02/why-you-would-want-an-appliance-and-when-you-wouldnt/">objections  to the idea of a Hadoop appliance</a> still stand, although <a href="../../../../../2011/06/02/why-you-would-want-an-appliance-and-when-you-wouldnt/#comment-228238">Amr  Awadallah&#8217;s counterarguments</a> make sense as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/06/24/forthcoming-oracle-appliances/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>When it&#8217;s still best to use a relational DBMS</title>
		<link>http://www.dbms2.com/2011/05/29/when-to-use-relational-database-management-system/</link>
		<comments>http://www.dbms2.com/2011/05/29/when-to-use-relational-database-management-system/#comments</comments>
		<pubDate>Sun, 29 May 2011 19:56:37 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Analytic technologies]]></category>
		<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[Database diversity]]></category>
		<category><![CDATA[MOLAP]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4569</guid>
		<description><![CDATA[There are plenty of viable alternatives to relational database management systems. For short-request processing, both document stores and fully object-oriented DBMS can make sense. Text search engines have an important role to play. E. F. &#8220;Ted&#8221; Codd himself once suggested that relational DBMS weren&#8217;t best for analytics.* Analysis of machine-generated log data doesn&#8217;t always have [...]]]></description>
			<content:encoded><![CDATA[<p>There are plenty of viable alternatives to relational database management systems. For <a href="../../../../../2011/03/30/short-request-and-analytic-processing/">short-request processing</a>, both <a href="../../../../../2011/02/07/notes-on-document-oriented-nosql/">document stores</a> and <a href="../../../../../2011/05/21/object-oriented-database-management-systems-oodbms/">fully object-oriented DBMS</a> can make sense. Text search engines have an important role to play. E. F. &#8220;Ted&#8221; Codd himself once suggested that <a href="http://www.minet.uni-jena.de/dbis/lehre/ss2005/sem_dwh/lit/Cod93.pdf">relational DBMS weren&#8217;t best for analytics</a>.* Analysis of <a href="../../../../../2010/12/30/examples-and-definition-of-machine-generated-data/">machine-generated</a> log data doesn&#8217;t always have a naturally relational aspect. And I could go on with more examples yet.</p>
<p><em>*Actually, he didn&#8217;t admit that what he was advocating was a different kind of DBMS, namely a MOLAP one &#8212; but he was. And he was wrong anyway about the necessity for MOLAP. But let&#8217;s overlook those details. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>Nonetheless, relational DBMS dominate the market. As I see it, the reasons for relational dominance cluster into four areas (which of course overlap):</p>
<ul>
<li><strong>Data re-use.</strong> Ted Codd&#8217;s famed original paper referred to <a href="http://www.seas.upenn.edu/%7Ezives/03f/cis550/codd.pdf">shared data banks</a> for a reason.</li>
<li>The benefits of <strong>normalization,</strong> which include:
<ul>
<li>You only have to do programming work of writing something once &#8230;</li>
<li>&#8230; and you don&#8217;t have to do the programming work of keeping multiple versions of the information consistent.</li>
<li>You only have to do processing work of writing something once.</li>
<li>You only have to buy storage to hold each fact once.</li>
</ul>
</li>
<li>Separation of concerns.
<ul>
<li>Different people can worry about programming and &#8220;database stuff.&#8221;</li>
<li>Indeed, even performance optimization can sometimes be separated from programming (i.e., when all you have to do to get speed is implement the correct indexes).</li>
</ul>
</li>
<li>Maturity and momentum, as reflected in the availability of:
<ul>
<li>People.</li>
<li>A broad variety of mature relational DBMS.</li>
<li>Vast amounts of packaged software that &#8220;talks&#8221; SQL.</li>
</ul>
</li>
</ul>
<p>Generally speaking, I find the reasons for sticking with relational technology compelling in cases such as:  <span id="more-4569"></span></p>
<ul>
<li><strong>You&#8217;re building a low-volume, medium-complexity suite of applications that will evolve over time.</strong> This is the use case for which relational DBMS were invented, and they&#8217;re still great for it.</li>
<li><strong>Your (duplicated) data volumes would be ridiculous if you didn&#8217;t do a reasonable amount of normalization.</strong> Once you need to normalize, you need to do joins &#8212; and if you&#8217;re doing joins, you&#8217;re in relational territory.</li>
<li><strong>You simply don&#8217;t see a cost/benefit advantage to moving away from proven legacy technology.</strong> If you&#8217;re looking for an off-the-shelf answer to your needs &#8212; or if you&#8217;re inventorying your own technological shelves &#8212; relational-oriented technology has overwhelming share.</li>
</ul>
<p>For many enterprises, that third point alone should be decisive in a large fraction of cases.</p>
<p>But the advantages of relational technology are less clear when you&#8217;re doing <strong>serious engineering of path-breaking new applications, </strong>where by &#8220;serious engineering&#8221; I mean:</p>
<ul>
<li>The problem is big enough that you simply want the best solution, with only loose coupling needed to the rest of your technical environment.</li>
<li>Long-lasting &#8220;strategic&#8221; or legacy technology is not a great concern; you&#8217;re willing to keep &#8220;rebuilding the 747 while it&#8217;s flying&#8221; if that&#8217;s what&#8217;s necessary to get the best possible result.</li>
<li>You have access to sufficient quantities of sufficiently smart people.</li>
</ul>
<p>For example:</p>
<ul>
<li>I recently suggested that <a href="../../../../../2011/05/21/object-oriented-database-management-systems-oodbms/">innovative SaaS vendors could adopt object-oriented database technology.</a></li>
<li>Major web applications are rarely very relational. Until recently, the default approach to scaling out web databases was memcached/sharded MySQL, hardly a whole-hearted adoption of relational technology. Now NoSQL DBMS are vigorous competitors.</li>
<li>Analytic challenges that amount to teasing out signals from streams of data are sometimes handled non-relationally as well, although it&#8217;s often nice to be able to do a few joins to mix in information from more relationally-structured data.</li>
</ul>
<p>Not coincidentally, in a lot of those cases, throwing performance concerns &#8220;over the wall&#8221; to the database administrator isn&#8217;t going to work.</p>
<p><em>*I do expect the pendulum to swing back a bit as high-performance/highly-scalable MySQL implementations mature, but there are relatively few supporting examples to date.</em></p>
<p>To look at it another way, it&#8217;s right to be skeptical about relational DBMS when you can defeat all of the reasons to favor them. For example:</p>
<ul>
<li>Data re-use may not arise when applications are self-contained and rapidly-changing.</li>
<li>Sometimes you don&#8217;t need to normalize your data.</li>
<li>It&#8217;s not obvious that the relational approach to separation of concerns is the best one. Perhaps you&#8217;d be better off with the people who understand a specific application best being responsible for all the decisions connected with it.</li>
<li>As for that maturity and momentum:
<ul>
<li>People don&#8217;t actually learn much SQL in school.</li>
<li>Are any of the mature relational DBMS what you really want?</li>
<li>Is any of that packaged software out there really helpful for your specific problem?</li>
</ul>
</li>
</ul>
<p>I should probably stop there. But in an appeal to authority, I&#8217;ll close instead with a quote from Codd&#8217;s own OLAP paper:</p>
<blockquote><p>IT should never forget that technology is a means to an end, and not an end in itself. Technologies must be evaluated individually in terms of their ability to satisfy the needs of their respective users. IT should never be reluctant to use the most appropriate interface to satisfy users’ requirements. Attempting to force one technology or tool to satisfy a particular need for which another tool is more effective and efficient is like attempting to drive a screw into a wall with a hammer when a screwdriver is at hand: the screw may eventually enter the wall but at what cost?</p></blockquote>
<p><strong><em>Related link</em></strong></p>
<ul>
<li><a href="../../../../../2008/02/15/database-management-system-choices-overview/">My exchange with Mike Stonebraker highlighting our shared advocacy for database diversity</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/05/29/when-to-use-relational-database-management-system/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Starcounter high-speed memory-centric object-oriented DBMS, coming soon</title>
		<link>http://www.dbms2.com/2011/05/18/starcounter-high-speed-memory-centric-object-oriented-dbms-coming-soon/</link>
		<comments>http://www.dbms2.com/2011/05/18/starcounter-high-speed-memory-centric-object-oriented-dbms-coming-soon/#comments</comments>
		<pubDate>Wed, 18 May 2011 10:14:11 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Data models and architecture]]></category>
		<category><![CDATA[In-memory DBMS]]></category>
		<category><![CDATA[Memory-centric data management]]></category>
		<category><![CDATA[OLTP]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Starcounter]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4502</guid>
		<description><![CDATA[Since posting recently about Starcounter, I&#8217;ve had the chance to actually talk with the company (twice). Hence I know more than before. Starcounter: Has been around as a company since 2006. Has developed memory-centric object-oriented DBMS technology that has been OEMed by a few application software companies (especially in bricks-and-mortar retailing and in online advertising). [...]]]></description>
			<content:encoded><![CDATA[<p>Since posting recently about <a href="../../../../../2011/04/13/starcounter/">Starcounter</a>, I&#8217;ve had the chance to actually talk with the company (twice). Hence I know more than before. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Starcounter:</p>
<ul>
<li>Has been around as a company since 2006.</li>
<li>Has developed <strong>memory-centric object-oriented DBMS</strong> technology that has been OEMed by a few application software companies (especially in bricks-and-mortar retailing and in online advertising).</li>
<li>Is planning to actually launch an OODBMS product sometime this summer.</li>
<li>Has 14 employees (most or all of whom are in Sweden, which is also where I think Starcounter&#8217;s current customers are centered).</li>
<li>Is planning to shift emphasis soon to the US market.</li>
</ul>
<p>Starcounter&#8217;s value propositions are <strong>programming ease (no object/relational impedance mismatch) </strong>and<strong> performance. </strong>Starcounter believes its DBMS has 100X the performance of conventional DBMS at short-request transaction processing, and 10X the performance of other memory-centric and/or object-oriented DBMS (e.g. Oracle TimesTen, or Versant). That said, Starcounter has not yet tested VoltDB. Starcounter does not claim performance much beyond that of disk-based DBMS on analytic tasks such as aggregations.</p>
<p>The key technical aspect to Starcounter is <strong>integration between the DBMS and the virtual machine,</strong> so that <strong>the same copy of the data is accessed by both the DBMS and the application program,</strong> without any movement or transformation being needed. (Starcounter isn&#8217;t aware of any other object-oriented DBMS that work this way.) Transient and persistent data are handled in the same way, seamlessly.</p>
<p>Other Starcounter technical highlights include:  <span id="more-4502"></span></p>
<ul>
<li>Starcounter is focused on OLTP (OnLine Transaction Processing).</li>
<li>The Starcounter OODBMS is ACID-compliant.</li>
<li>The Starcounter DBMS is single-server, albeit multi-core. Starcounter thinks this is OK because the Starcounter DBMS can do millions of transactions per second on a server with 8 cores or less. (I neglected to ask how quickly Starcounter thinks RAM would fill up on a single server at that kind of update rate.)</li>
<li>A Starcounter database sits in RAM. Logs go to disk, and Starcounter doesn&#8217;t commit a transaction in RAM until there&#8217;s been an acknowledgement that it&#8217;s been logged to disk.*</li>
<li>Since Starcounter never wants to read from disk (except in the case of recovery), logs can be written pretty much at sequential/batch update speeds.</li>
<li>You can do SQL queries against Starcounter objects, based on T-tree indexes. Otherwise, Starcounter data manipulation is done via what effectively is a proprietary object-oriented data manipulation language. (I neglected to ask whether there was any concept of join, or whether Starcounter SQL just does SELECTs. Starcounter did say that the only schema in a Starcounter database is the object model.)</li>
<li>Naturally, Starcounter objects are compressed, so that the most possible data fits into the fastest possible tier of memory. Proxy objects also come into play here.</li>
<li>Starcounter runs on Windows and .NET, supposedly for reasons of better virtual machine performance. Ports to Linux, Java, etc. are on the drawing boards, but won&#8217;t be particularly easy.</li>
</ul>
<p><em>*I thought Starcounter said that the core that runs the operating system communicates the acknowledgement via Direct Memory Access to a core that runs the Starcounter DBMS, obviating the need for an interrupt (except to the core that runs the operating system). But upon reflection, that doesn&#8217;t really seem to make sense.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/05/18/starcounter-high-speed-memory-centric-object-oriented-dbms-coming-soon/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Terminology: poly-structured data, databases, and DBMS</title>
		<link>http://www.dbms2.com/2011/05/17/poly-structured-database/</link>
		<comments>http://www.dbms2.com/2011/05/17/poly-structured-database/#comments</comments>
		<pubDate>Tue, 17 May 2011 13:16:06 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[Object]]></category>
		<category><![CDATA[Structured documents]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Theory and architecture]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4484</guid>
		<description><![CDATA[My recent argument that the common terms &#8220;unstructured data&#8221; and &#8220;semi-structured data&#8221; are misnomers, and that a word like &#8220;multi-&#8221; or &#8220;poly-structured&#8221;* would be better, seems to have been well-received. But which is it &#8212; &#8220;multi-&#8221; or &#8220;poly-&#8221;? *Everybody seems to like &#8220;poly-structured&#8221; better when it has a hyphen in it &#8212; including me. The [...]]]></description>
			<content:encoded><![CDATA[<p>My recent argument that <a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/">the common terms &#8220;unstructured data&#8221; and &#8220;semi-structured data&#8221; are misnomers</a>, and that a word like &#8220;multi-&#8221; or &#8220;poly-structured&#8221;* would be better, seems to have been well-received. But which is it &#8212; &#8220;multi-&#8221; or &#8220;poly-&#8221;?</p>
<p><em>*Everybody seems to like &#8220;poly-structured&#8221; better when it has a  hyphen in it &#8212; including me. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>The big difference between the two is that &#8220;multi-&#8221; just means there are multiple structures, while &#8220;poly-&#8221; further means that the structures are subject to change. Upon reflection, I think the &#8220;subject to change&#8221; part is essential, so <strong>poly-structured </strong>it is.</p>
<p>The definitions I&#8217;m proposing are:</p>
<ul>
<li>A <strong>database</strong> is <strong>poly-structured</strong> to the extent that its structure is apt to be changed in the ordinary course of query, update, or programming.</li>
<li><strong>Data</strong> is <strong>poly-structured</strong> to the extent that it is best represented in a poly-structured database.</li>
<li>A <strong>DBMS</strong> is <strong>poly-structured</strong> to the extent that it is oriented to managing poly-structured databases.</li>
</ul>
<p><em><span id="more-4484"></span>Please note: <a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/"></a></em></p>
<ul>
<li><em><a href="../../../../../2011/05/15/what-to-do-about-unstructured-data/">There are many different degrees of being poly-structured</a></em><em>; that&#8217;s why I used the phrase &#8220;to the extent that&#8221;, instead of a simple &#8220;if&#8221;. </em></li>
<li><em>And as always, <a href="http://www.strategicmessaging.com/no-market-categorization-is-ever-precise/2011/03/01/">no technology categorization is ever precise</a>.</em></li>
</ul>
<p>Examples of poly-structure include:</p>
<ul>
<li>XML or JSON documents/objects describe themselves. Add a new one to a database with a different structure than the others and &#8212; presto! &#8212; you have changed the overall structure. Thus:
<ul>
<li>XML and JSON data is apt to be poly-structured.</li>
<li>XML and JSON databases are apt to be poly-structured.</li>
<li>MarkLogic, MongoDB, et al. are poly-structured DBMS.</li>
</ul>
</li>
<li>A text document is inherently poly-structured. Some queries might look at it as a bag of words; others might group the words via stemming and synonyms; others might actually exploit the document&#8217;s grammatical structure. Text search engines are poly-structured because they support all those kinds of queries.</li>
<li>A single log file can be somewhat poly-structured, in that different views of it might extract different kinds of name-value pair, or different temporal relationships.</li>
<li>A database that seamlessly includes a variety of log files, each with its own structure(s), is quite poly-structured.</li>
<li>A classic relational database is not very poly-structured, because DDL (Data Description Language) isn&#8217;t really in &#8220;the ordinary course&#8221; of programming or update.</li>
<li>However, views add a bit of poly-structure to relational databases that is not present in, say, IMS databases.</li>
<li>An object-oriented DBMS is highly poly-structured, as is <a href="../../../../../2010/08/22/workday-technology-stack/">Workday&#8217;s  internal data store</a>.</li>
</ul>
<p>So what do you think? Do these definitions work?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/05/17/poly-structured-database/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Whither MarkLogic?</title>
		<link>http://www.dbms2.com/2011/04/05/whither-marklogic/</link>
		<comments>http://www.dbms2.com/2011/04/05/whither-marklogic/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 02:06:51 +0000</pubDate>
		<dc:creator>Curt Monash</dc:creator>
				<category><![CDATA[MarkLogic]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[RDF and graphs]]></category>
		<category><![CDATA[Structured documents]]></category>

		<guid isPermaLink="false">http://www.dbms2.com/?p=4168</guid>
		<description><![CDATA[My clients at MarkLogic have a new CEO, Ken Bado, even though former CEO Dave Kellogg was quite successful. If you cut through all the happy talk and side issues, the reason for the change is surely that the board wants to see MarkLogic grow faster, and specifically to move beyond its traditional niches of [...]]]></description>
			<content:encoded><![CDATA[<p>My clients at MarkLogic have a new CEO, Ken Bado, even though former CEO Dave Kellogg was quite successful. If you cut through all the happy talk and side issues, the reason for the change is surely that the board wants to see MarkLogic grow faster, and specifically to move beyond its traditional niches of publishing (especially technical publishing) and national intelligence.</p>
<p>So what other markets could MarkLogic pursue? Before Ken even started work, I sent over some thoughts. They included (but were not limited to):  <span id="more-4168"></span></p>
<ul>
<li>Everybody now knows that not all problems require a relational DBMS.  The NoSQL movement has seen to that.</li>
<li>Not everybody agrees that &#8220;heavyweight&#8221; enterprise DBMS are  needed for everything. The NoSQL movement has seen to that too.</li>
<li><a href="http://www.dbms2.com/2011/02/07/notes-on-document-oriented-nosql/">The &#8220;document&#8221;/&#8221;object&#8221; DBMS distinction has long been blurry</a>. XML is  full of documents, but they&#8217;re really objects. The same goes for the  JSON/quasi-JSON objects of CouchDB/Couchbase and MongoDB.  Object-oriented DBMS vendors have dabbled in XML on and off over the  years because of technical similarity. Etc.</li>
<li>MarkLogic has always focused on markets  where the database truly was about documents in the conventional sense &#8212; especially long text documents &#8212;  aka &#8220;content&#8221;. I always thought that focus was over-narrow.</li>
<li>There are various cases where law, regulation, compliance etc.  mandate the production of long text documents. I&#8217;m not sure MarkLogic has  penetrated those as well as it could have.</li>
<li>Graph DBMS  technology is going nowhere fast, largely because nobody has solved the  data distribution problem in cases big enough to need scale-out, and the  technology isn&#8217;t obviously needed in single-server cases. (But see my post on <a href="http://www.dbms2.com/2010/06/19/objectivity-infinite-graph/">Objectivity&#8217;s Infinite Graph</a>.) Even so,  graph-oriented apps are exploding, and MarkLogic should think about playing in the graph area, even if by acquisition.</li>
<li> I think what I  described in <a href="../../../../../2010/06/08/profile-of-revealed-preferences/" target="_blank">http://www.dbms2.com/2010/06/08/profile-of-revealed-preferences/</a> is non-relational and a very big market. Playing there with a  &#8220;heavyweight&#8221; DBMS is of course a challenge.</li>
<li>Coming over from Autodesk, Ken Bado hopefully knows more about the product  data management business than I do.</li>
</ul>
<p>It will be interesting to see what MarkLogic actually does.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dbms2.com/2011/04/05/whither-marklogic/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

