<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Intersystems Cache&#8217; highlights</title>
	<atom:link href="http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Thu, 09 Feb 2012 09:22:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>By: SQL Editor for InterSystems Caché</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comment-239996</link>
		<dc:creator>SQL Editor for InterSystems Caché</dc:creator>
		<pubDate>Fri, 09 Sep 2011 06:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=1400#comment-239996</guid>
		<description>There are some free tools for InterSystems Caché like the SQL Editor: Caché Monitor.</description>
		<content:encoded><![CDATA[<p>There are some free tools for InterSystems Caché like the SQL Editor: Caché Monitor.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Notes on document-oriented NoSQL &#124; DBMS 2 : DataBase Management System Services</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comment-207703</link>
		<dc:creator>Notes on document-oriented NoSQL &#124; DBMS 2 : DataBase Management System Services</dc:creator>
		<pubDate>Mon, 07 Feb 2011 08:51:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=1400#comment-207703</guid>
		<description>[...] DBMS are not what one would normally call object-oriented DBMS; for an example of those, consider Intersystems Cache&#8217;. And just to close the loop on confusion &#8212; Cache&#8217; can also be used as an XML [...]</description>
		<content:encoded><![CDATA[<p>[...] DBMS are not what one would normally call object-oriented DBMS; for an example of those, consider Intersystems Cache&#8217;. And just to close the loop on confusion &#8212; Cache&#8217; can also be used as an XML [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Jones</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comment-165008</link>
		<dc:creator>Scott Jones</dc:creator>
		<pubDate>Fri, 09 Apr 2010 00:29:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=1400#comment-165008</guid>
		<description>Unfortunately, some of those points that Hans makes are incorrect.

1) The product was named Caché because it is very good
     at caching, those performance numbers are not from
     using the file system cache, and why is using asynchronous
    disk I/O an issue for the performance numbers?
    The numbers are for sustained activity, not just doing a small burst of inserts and then having the writing occur after the benchmark completes.

2) Triggers are coded in CacheObjectScript, not M[UMPS]
     (difference is kind of like C++ compared to C, but even more so)
    I believe that triggers can also be written in CacheBasic (like VBScript), or CacheMultiValueBasic (like MultiValiue/Pick Basics)

3) Data in Caché is NOT just stored as text, and does NOT need conversion every time a calculation is done.
    They are internally stored as either:
      Binary strings,
      Unicode strings (but in a much more compact form than either using UTF-8, UCS-2 or UCS-4),
   integers,
   scaled decimals (64-bit signed #s with a power of 10 exponent from -128 to 127),
    or IEEE 64-bit doubles.
   Hans may have been confused because to the CacheObjectScript language, those internal types are mostly invisible to the programmer (except for the distinction between normal Caché strings and numbers (i.e. decimal arithmetic) and IEEE floating point values (binary floating point arithmetic)).</description>
		<content:encoded><![CDATA[<p>Unfortunately, some of those points that Hans makes are incorrect.</p>
<p>1) The product was named Caché because it is very good<br />
     at caching, those performance numbers are not from<br />
     using the file system cache, and why is using asynchronous<br />
    disk I/O an issue for the performance numbers?<br />
    The numbers are for sustained activity, not just doing a small burst of inserts and then having the writing occur after the benchmark completes.</p>
<p>2) Triggers are coded in CacheObjectScript, not M[UMPS]<br />
     (difference is kind of like C++ compared to C, but even more so)<br />
    I believe that triggers can also be written in CacheBasic (like VBScript), or CacheMultiValueBasic (like MultiValiue/Pick Basics)</p>
<p>3) Data in Caché is NOT just stored as text, and does NOT need conversion every time a calculation is done.<br />
    They are internally stored as either:<br />
      Binary strings,<br />
      Unicode strings (but in a much more compact form than either using UTF-8, UCS-2 or UCS-4),<br />
   integers,<br />
   scaled decimals (64-bit signed #s with a power of 10 exponent from -128 to 127),<br />
    or IEEE 64-bit doubles.<br />
   Hans may have been confused because to the CacheObjectScript language, those internal types are mostly invisible to the programmer (except for the distinction between normal Caché strings and numbers (i.e. decimal arithmetic) and IEEE floating point values (binary floating point arithmetic)).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Monash</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comment-155900</link>
		<dc:creator>Curt Monash</dc:creator>
		<pubDate>Fri, 15 Jan 2010 21:33:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=1400#comment-155900</guid>
		<description>Hans,

You raise excellent points. I hope somebody from the company addresses them.

Thanks,

CAM</description>
		<content:encoded><![CDATA[<p>Hans,</p>
<p>You raise excellent points. I hope somebody from the company addresses them.</p>
<p>Thanks,</p>
<p>CAM</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans</title>
		<link>http://www.dbms2.com/2010/01/15/intersystems-cache-highlights/#comment-155889</link>
		<dc:creator>Hans</dc:creator>
		<pubDate>Fri, 15 Jan 2010 20:31:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=1400#comment-155889</guid>
		<description>From personal experience, I will suggest that you inspect their insert performance claims closely. 

That performance might come from disabling transactions and using asynchronous disk writes or the file system cache. Which would put the configuration at exactly how other RDBMS vendors handle BLOBs. Which would explain why anyone would think to compare insert performance of records in one DBMS to that of BLOBs in another.

Having those configuration options is good. But let&#039;s just say that I have been annoyed by the way they phrase various claims in their sales pitch.

They did have a good looking API for doing high speed data inserts via shared memory. But again, something that should be revealed as part of a performance comparison since use of this API involves tradeoffs.

Also, the event system that I saw at that time worked like this:

1) insert event as a record
2) fire the equivalent of a post-insert trigger

The triggers were coded in MUMPS, so it is possible that now they are coded in Java. I sort of liked their trigger mechanism, but it&#039;s not really comparable to what a CEP engine does.

And note that all data in Cache is stored as text. Even numbers, which are automatically converted every time a calculation is done. I&#039;m not judging this, just pointing out an interesting fact.

If you&#039;re into the tech details, it&#039;s fun to learn a about how Cache works. They have very interesting and sometimes unique approaches to handling DBMS functionality.</description>
		<content:encoded><![CDATA[<p>From personal experience, I will suggest that you inspect their insert performance claims closely. </p>
<p>That performance might come from disabling transactions and using asynchronous disk writes or the file system cache. Which would put the configuration at exactly how other RDBMS vendors handle BLOBs. Which would explain why anyone would think to compare insert performance of records in one DBMS to that of BLOBs in another.</p>
<p>Having those configuration options is good. But let&#8217;s just say that I have been annoyed by the way they phrase various claims in their sales pitch.</p>
<p>They did have a good looking API for doing high speed data inserts via shared memory. But again, something that should be revealed as part of a performance comparison since use of this API involves tradeoffs.</p>
<p>Also, the event system that I saw at that time worked like this:</p>
<p>1) insert event as a record<br />
2) fire the equivalent of a post-insert trigger</p>
<p>The triggers were coded in MUMPS, so it is possible that now they are coded in Java. I sort of liked their trigger mechanism, but it&#8217;s not really comparable to what a CEP engine does.</p>
<p>And note that all data in Cache is stored as text. Even numbers, which are automatically converted every time a calculation is done. I&#8217;m not judging this, just pointing out an interesting fact.</p>
<p>If you&#8217;re into the tech details, it&#8217;s fun to learn a about how Cache works. They have very interesting and sometimes unique approaches to handling DBMS functionality.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

