What Is Caché?
Welcome to Caché, a high-performance object database.
This book provides an overview of the major features of Caché.
For more details on a specific topic, refer to one of the other books available from the online documentation home page. In addition, Caché includes a number of online tutorials on various development and system administration topics.
A Unique Architecture
Caché derives much of its power from its unique architecture. At the core, the Caché database engine provides the complete set of services — including data storage, concurrency management, transactions, and process management — needed to build complex database management systems. You can think of the Caché engine as a powerful database toolkit. Using this toolkit, Caché implements a complete object and relational database management system.
The benefits of this architecture are manifold:
The object and relational database systems talk directly to the database engine for extremely efficient operation; there is no object-relational middleware or SQL-to-object bridge technology.
The logical separation of the database from its physical implementation makes it possible to radically reconfigure application deployments with no change to application logic.
Because the database engine interface is open, you can make direct use of its features where needed. This can range from building your own customized database management system to adding targeted optimizations to performance critical applications.
A platform for the future: The Caché architecture makes future database engine enhancements possible without impact on existing applications. For example, Caché v4.1 introduced a brand-new physical data structure, with dramatically improved scalability and performance, that not only required no change to existing applications but also required no change to the Caché object or relational systems. As new technologies emerge, Caché can add support for them as native, high-performance components with little impact to existing applications.
A High-performance Object Database — with Relational Access
Caché is designed to transcend the limitations of the relational model while providing an evolutionary upgrade path for the thousands of existing relational database applications as well as support for the many SQL-based reporting tools on the market.
In addition to being a high-performance object database, Caché is also a full-featured relational database. All the data within a Caché database is available as true relational tables and can be queried and modified using standard SQL via ODBC, JDBC, or object methods. Because of the power of the underlying Caché database engine, we believe that Caché is the fastest, most reliable, and most scalable relational database available today.
Additionally, Caché offers features that go beyond the limits of relational databases, while still supporting a standard relational view of data. These features include:
The ability to model data as objects (each with an automatically created and synchronized native relational representation) while eliminating both the impedance mismatch between databases and object-oriented application environments as well as reducing the complexity of relational modeling
A simpler, object-based concurrency model
User-defined data types
The ability to take advantage of methods and inheritance, including polymorphism, within the database engine
Object-extensions for SQL to handle object identity and relationships
The ability to intermix SQL and object-based access within a single application, using each for what they are best suited
Control over the physical layout and clustering used to store data in order to ensure the maximum performance for applications
While most databases with both object and relational access provide one form of access on top of the other, the SQL and object aspects of Caché both go directly to the data — so that users enjoy the performance benefit of either approach.
For information, see the first several chapters of the Caché Programming Orientation Guide.
A Broad Tool Set
Caché offers a broad set of tools, which include:
ObjectScript, the language in which most of Caché is written.
A well-developed, built-in security model
A suite of technologies and tools that provide rapid development for database and web applications
Native, object-based XML and web services support
Device support (such as files, TCP/IP, printers)
Automatic interoperability via Java, JDBC, ActiveX, .NET, C++, ODBC, XML, SOAP, Perl, Python, and more
Support for common Internet protocols: POP3, SMTP, MIME, FTP, and so on
A reusable user portal for your end users
Support for analyzing unstructured data
Support for Business Intelligence (BI)
Built-in testing facilities
For a comprehensive list of tools, see the table of contents of the InterSystems Programming Tools Index.
Caché in Action
Caché is used around the world for a wide variety of applications ranging from single-user embedded systems, to enterprise-wide multiserver installations with tens of thousands of concurrent users, to statewide and nationwide applications.
A small sample of applications built with Caché includes:
As the application platform for a large healthcare network running hundreds of patient-critical applications. The network includes a set of Caché systems acting as data and application servers and has over 30,000 client machines.
As the data server for a Java-based enterprise messaging system for large financial institutions. Caché was chosen both for its performance and its ability to carry out customized tasks not possible within a traditional relational database.
As an SQL-based OLTP (online transaction processing) system for a large government organization with over 1400 concurrent users. Caché was a drop-in (no application changes) replacement when other relational products failed to perform.
As an object database and web application framework for an online educational system used by a leading technical university. Caché was chosen for its rapid development (the application had to be built in three months), its object capabilities, as well as its ability to scale without application reworking.
As an object database used to track real-time position and velocity of professional athletes during a world championship. Caché was chosen for its performance (compared with the leading object and relational databases) and its native C++ interface.
As a distributed SQL data engine for a major web site with millions of users. This site uses a set of cost-effective Linux-based servers and uses the Caché distributed data management to provide a scalable, personalized site with no middleware or web caching infrastructure. The hardware costs of this system (four off-the-shelf Linux machines) were less than 10% of those quoted by a “leading database for Internet applications.”
Accessibility — Section 508
InterSystems believes that its products and services can be used by individuals regardless of differences in physical ability. We are committed to compliance with section 508 of the Rehabilitation Act of 1973 (29 U.S.C. 794d), as amended by Congress in 1998. We welcome and encourage suggestions that improve the accessibility and usability of our offerings; please contact us if you have contributions or questions.
For support questions about any InterSystems products, please contact the InterSystems Worldwide Support Center:
Telephone: +1 617 621-0700
Fax: +1 617 374-9391
For questions or suggestions regarding the Rehabilitation Act (29 USC 794d) section 508:
Telephone: +1 617 621-0700
Fax: +1 617 374-9391