Re: Comments on InterSystems Cache Database Platform

From: Wolf Koelling <wolf.koelling_at_slaughterandmay.com>
Date: 22 Jun 2004 03:28:06 -0700
Message-ID: <eef28651.0406220228.355d5e2d_at_posting.google.com>


As a long time (satisfied) user of Caché I'll try to answer some of the points raised.

First of all a few brief comments on the nature of the beast, what it is and isn't. It's not your typical RDBMS like Oracle or SqlServer. Caché is described by Intersystems as being "post-relational" which is a marketing term supposed to convey modernness (I guess) but in technical terms this is wishy washy and doesn't really tell you anything. Caché is based on a multidimensional database engine which, historically speaking, is derived from the M(umps) DBMS. On top of it sits an object layer that turns Caché into an OODBMS (think classes, properties, instance methods, class methods, relationships, inheritance, polymorphism etc pp). Additionally, Caché will offer a relational projection of object definitions. Every class is projected into one or more tables. The relational projection allows for querying via Sql. Obviously, methods will not be available via the relational view (but class methods can be projected as stored procedures). The projection works both ways. You can create tables via DDL and Caché will create classes from that. They call this process "Unified Data Architecture". You don't have to use the object features of Caché and treat it purely as an RDBMS but in my opionon you would lose some of the more stronger features, like encapsulation of business logic.

Interfaces / Languages
Sql, Odbc, Jdbc, Java, Ejb, C++, Com, Soap, Xml Caché has its own server side scripting languages, Caché ObjectScript (COS) and Caché Basic (syntactically derived from VBScript). Particularly COS is a fully fledged and very flexible programming language that goes way way beyond what you can do with your typical RDBMS stored procedure languages like Transact Sql. Also, Caché has its own web development platform, Caché Server Pages (CSP) which, in much simplified terms, can be viewed as a cross between ASP and ASP.Net (but the business logic resides on the back-end not on the web server).

Standards
Sql 92 Intermediate
Jdbc Type 4
COS is backwards compatible with ISO M(umps).

Operational Tools
Online Backup and Restore
Journalling: Before Image, After Image, Shadow (i.e. near-instant cross-system replication)
Database Repair (the physical db layer is based on B-trees), although you are unlikely to ever use them. While Caché as a product / brand name is around 6 years old the underlying database engine has evolved from its pre-decessor products over the last 25 years (Intersystems has been in the dbms market since 1978) and is rock solid.

Front-end tools
Any you like as long as they support one of the interfaces into Caché mentioned above. If you take our company as an example, we have developed terminal based applications, moved to C++ front-ends with a low-level COM interface into the Caché multidimensional database, moved to VB6 with COM interface into Caché Objects, moved to web applications using Caché's own CSP and, most recently, ASP.Net via Soap to Caché (i.e. Caché providing web services).

Platforms
Windows, Linux, Unix (HP, AIX, Solaris) and OpenVMS

Performance
One of the big strengths of Caché. Scales excellently while not being very resource hungry.

Flexibility
Schema Migrations do not require db rebuild

Resources
There is a newsgroup intersystems.public.cache on news.intersystems.com

Best regards

Wolf Koelling

Ed Prochak <ed.prochak_at_magicinterface.com> wrote in message news:<OqRAc.49460$bO6.35830_at_fe39.usenetserver.com>...
> Alex wrote:
>
> > Hi all,
> >
> > We're looking at a vendor who uses the InterSystems Cache Database
> > Platform, but our IT department has zero experience with this system.
> > This software package will have a pivotal and mission critical roll in
> > our organization, so I'd like some comments on what others think of
> > this database platform.
> >
> > Mainly I'm curious how easy/difficult it is to query a Cache Database,
> > and does it use standard SQL calls like Oracle and MS SQL? What about
> > ODBC connections into the database from Crystal, MS Access, and OLAP
> > tools? Any other caviets (backup, maintenance, etc)?
> >
> > Thanks in advance for any suggestions or comments Cache.
> >
> > Sam
>
> Won't they let you test drive it?
>
> I've never used Cache, but I have gone thru DB evaluations before. I would
> only suggest you set out some clear DB requirements (testable if at all
> possible). Their sales rep should be able to answer questions about its flavor
> of SQL, ODBC support and such. If they cannot (or worse, will not), answer
> those simple questions, then run away.
>
> Your post here is not a bad start:
> Interfaces/Languages supported - SQL, ODBC, JAVA(JDBC), Special libraries
> Standards supported - like SQL, and at what level?
> Tool availability - does it have custom Back up/restore programs or is it only
> a data file? (
> Front end support - Do you have to use their GUI development tools or can you
> program using others?
> Platforms supported - If next year you no longer want to pay MS for an OS
> update license, can you switch to LINUX?
> Programmers available? If few people know/use the DB, is training inexpensive?
> Are other resources available (e.g. books, usenet discussion groups)?
> Performance - run some benchmarks
> Flexibility - does the DB adapt easily? (e.g., does adding a column to a table
> force you to rebuild the DB? Does it force you to rebuild your applications?
>
> Bottom line is that you need to watch your bottom line. IOW, what is the total
> bang for the buck?
>
> Good luck.
> --
> Ed Prochak
> running http://www.faqs.org/faqs/running-faq/
> netiquette http://www.psg.com/emily.html
Received on Tue Jun 22 2004 - 12:28:06 CEST

Original text of this message