Friday, July 14, 2006

Post-relational What?

I was visited today by a couple of chaps from Intersystems. My main hope from the meeting was to understand what 'post-relational' means when describing their database product Cache, and what benefits that brings. To be honest, they couldn't really satisfy my first hope thoroughly. Rather than storing data in rows and columns, it does some clever trickery around multidimensional arrays which means that you make fewer hard disk read/writes and you only store data (rather than the blanks in the fixed length fields).

Hmmm... onto the benefits. More promising, but how do you know what to believe? These gents were suggesting that if you rip out a MS SQL Server or Oracle database and do an ODMS or object port to Cache, then you can expect anything from a 4 to 7 times performance increase. Really badly written apps, or apps optimised for Cache could be as much as 200 times! Really? How do you measure that? Who can corroborate that?

The rest of the pitch was based on handling concerns. Yes, you can treat it like a relational database if you like. Yes, SQL statements run fine. Yes, objects using ADO .Net 2.0 will use the database unhindered. However, the jury is out as to what options you have if you are, for example, porting from MS SQL Server 2005 and using the integrated Business Intelligence-type services. Do you need a Business Objects to replace that?

My biggest question is that if it is so good, why is it not perceived as some sort of benchmark? Of course, what the salesmen won't tell you is what is wrong with it.

I'd love to know people's practical experience with Intersystems Cache.

Tags: , , , , , , , , ,

1 comment:

Anonymous said...

hey..well tat;s a very good thought and question about knowing bad things about Cache. I have been using this database and have been doing massive development using this DB, and I myself cudnt find any excuse of why this DB shudnt be used. Apart from its speed, I luv its cache object script, which i wud say a blend of C# and Java and lot more easier. And ofcourse if u dnt wanna use its scripting synatx then u can use .Net with Cache as backend and it is an amazing product. There is lot to it and if u wanna know more bout it then lemme know.