CACHÉ (post-relational database)

  • Do any of you know about CACHÉ?  Before today I had never heard of this database program.  The web site for it is http://intersystems.com for those who want to learn more.

    I read a bit on the above web site and then did a search on monster.com for jobs for people who know how to use CACHÉ.  From what little I have learned so far, it seems this database program is mostly used in the health care industry and there doesn't seem to be a lot of jobs available that use it.  Those I did see didn't specify how a salary.

    Does anyone know what their salary range would be?

    Would any of you consider this a good database program to learn?  Me, I have my doubts.  Although it could simply be my lack of knowledge concerning this database program.

    Does anyone believe CACHÉ is better in any way than SQL Server?

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • Before I get sued, I must point out that this is just my personal opinion, and I have only used versions 3 and 4, not the latest (5).

    Cache is not worth taking seriously. What Intersystems don't tell you is that it's a layer on top of MUMPS, the database / language / OS invented in a hospital in the 70s. The legacy technology is there in the background, and to make sense of the object / relational bits you'll need to get your head around this. It's a hierarchical database really.

    The major problems that I have seen are:

    • The relational engine has faults (eg add Order By and get a different number of records - sometimes)
    • Both the object layer and the relational engine write lots of MUMPS code on the fly. MUMPS is quite fast, but it is interpreted, and the code written is not always A1.
    • The product is so keen on being different that it can be odd for the sake of it - eg they have written their own version of ASP
    • Intersystems are not the world's finest testers, so new versions need to be taken with care and a lot of regression testing
    • The development environment isn't a patch on a Microsoft product
    • As there are few users worldwide, you tend to have to solve problems yourself (sharp contrast to SQL Server, Oracle etc)

    My advice would be: learn this if you have to, but if your motivations  include having access to lots of jobs, getting solutions written quickly, being able to trust your environment, etc, I think you'll be disappointed in the long run.

    YMMV - but it might not.

    Bill.

  • Bill is correct it is a new face on MUMPS (kinda like lipstick on a pig). Its biggest advantage is it is not transactional so it is fast. However since it is not transactional (and not a real database in my opinion), when it gets behind it creates locks, these can lock entire tables for minutes at a time. I run into trouble all the time when exporting out of CACHE' where a table is locked and I cannot get the data out.

    As an interesting side not I export out of CACHE' in SQL server as I can't do enough and it causes too much contention to query data out of our production system with CACHE' as a backend.

    Good luck - try to avoid this road if at all possible. If not possible at least try not to run it on a VAX.

  • Thanks for the replies.  Forgive my lack of knowledge.  What is a VAX?  What does YMMV mean?

    I only know transactional databases (specifically some Access and a lot of SQL Server).  What do you mean by it is not transactional?  How do SQL queries to update, insert, delete, and select get handled then?  Doesn't each query represent a transaction.

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • This will be way over simplified.

    Transactional means there is a Begin Transaction, then something changes/inserts ..., and a Committ Transaction. If there is no Committ then a Rollback is issued. And all this usually happens in a transaction log, that is reconciled into the data tables when a checkpoint occurs.

    With Cache and MySQL and the 50 other non-transactional db's changes are written directly to the data tables, so you have to write you apps differently to only send saves at certain points ... otherwise you are constantly updating tables and you end up with constant locks. So your forms developers need to be much more careful - or at least aware that your using a non-transactional system. Non-transaction system can be much faster as the data are only written once (transaction is twice once to log, once to data tables). But I find when they get behind, they lock more frequently than transactional.

    Another issue with Cache is data is no normalized, data will be written to many different tables and stored in violation of Codds principals, so it can be more difficult to update data, and query. However for some reports that need to be de-normalized this can be faster (see OLAP theory).

    A VAX is an old computer system developed by Digital equip corp now owned by Compaq. I believe that most MUMPS systems were originally written for use on the VAX, and they can be ported to some Unix varieties.

  • Under the covers Cache is a network database - an update of the state-of-the-art 25 to 30 years ago.  It was developed at Massachusetts General Hospital by their Lab of Computer Science in the late 60s to run on a Digital Equipment PDP-11 when there were no other real alternatives.  The earliest systems in medical informatics were developed using MUMPS, and it persists in older systems from IDX and others.  It can be very fast for fixed queries against stable data.  It is not relational, under the covers.  And it runs well on small PCs used as servers.  Jobs in the Cache world pay as well as rdbms jobs - scarsity can breed value.  Don't bother learning it unless your employer wants you to, and you plan to continue with it for the long term.

    IMHO -for what it's worth

    Alan

  • Thank you all for your comments.  They are very helpful.

    Can anyone tell me why the MUMPS (and/or CACHE) database has not been replaced by a transactional database?  Is it just a matter of the cost to purchase another program or is it truly the best system for the hospitals and other organizations in the health care industry that use it?

     

    Robert W. Marda
    Billing and OSS Specialist - SQL Programmer
    MCL Systems

  • Many vendors (IDX for example) claim they cannot get the performance from Oracle that they get from MUMPS. I personally believe that they have a programming staff that is unwilling to rewrite code, and that the rewrite would be so substantial that they won't do it.

    I've worked in many other industries and have recently moved to healthcare. And nothing in this industry makes sense! Take anything logical and invert it, this is the healthcare standard. I believe it stems from the belief that healthcare is different from any other industry. And they are correct as any other industry run this badly would be out of business.

    We're attempting to find a replacement for our legacy VAX based hospital registration/billing system and 2 of the 3 top, stable vendors demo'd VAX based systems to us as replacements. 

    This is why I stopped going to doctors! 

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply