One of the key challenges facing Java developers is that their object-oriented applications use data stored in relational databases. The result: time- and cost-intensive mapping between the two paradigms. InterSystems' Corporation develops and markets a post-relational database management system called Caché that's designed to address this challenge by eliminating the impedance mismatch between objects and tables.
We set out to test the capabilities of this database software from a Java developer's perspective. Working with the latest release of the software, Caché 5, we found the results impressive.
Caché?s unique combination of objects and SQL provides a very interesting development framework for object-oriented programmers that goes far beyond what pure relational or pure object-oriented databases provide. Besides eliminating the impedance mismatch between objects and tables, Caché's unified data architecture allows rapid application development (RAD) of complex systems and applications. With Caché 5, InterSystems delivers a powerful, high-performance, massively scalable database system that supports a plethora of standard protocols, programming languages, and middleware technologies.
Ready, Set, Go!
For our evaluation, we used the Windows and Linux versions of Caché. In both cases, we used the single-user license that can be freely downloaded from InterSystems' Web site. The installation process took only a few minutes and not even the Windows system had to be restarted. All other tools and technologies are installed along with the database system, and the Web server (Internet Information Server or Apache) is reconfigured to incorporate Caché's Web gateway.
After the installation, we started the Caché Studio (see Figure 1), the development environment used for editing the classes stored in Caché, and immediately began to create some classes. Using the integrated wizards, you can easily create classes with all the features available in Caché. Programming Caché's internal language, ObjectScript, is very easy, especially if you are used to coding in Java or JavaScript. If Visual Basic is your favorite programming language, you can also use Caché Basic, a close relative to Visual Basic.
What's Behind the Scenes?
The heart of Caché is its multidimensional data engine with a robust storage system that provides outstanding transactional performance and is capable of serving very large data volumes. Equipped with transactional bitmap indices, queries are evaluated in fractions of a second without sacrificing update and insert performance.
In addition, the multidimensional data model of Caché avoids time-consuming mapping operations between objects and relations because data is natively stored in Caché's multidimensional storage. The Unified Data Architecture (UDA) provides access to the stored data and delivers the necessary metadata information to the relational or object-oriented client. In general, there's no difference if the data is accessed in a relational manner or through objects.






