InterSystems
Last Updated:
Analyst Coverage: Philip Howard
InterSystems Corporation is a privately-owned company that was founded in the USA in 1978 and it opened its first office in the UK in 1986. Revenues were nearly $700 million in 2018. Apart from North America it has offices throughout Europe (including Russia and Israel), across both South America and South East Asia, and in Australia, South Africa and the Gulf, in a total of over 20 countries. It also has distributors around the globe.
Historically the company has largely relied on implementation partners and ISVs for its sales, with a relatively small direct sales force. While the company’s partner base remains a major strength InterSystems has also expanded its direct sales force to support large corporations that require a direct relationship and because of the HealthShare and TrakCare solutions, which provide healthcare applications for the US (HealthShare) and elsewhere (TrakCare).
Caché
Last Updated: 7th March 2013
We have no doubt that Caché offers better performance both for the developer and in production than comparable systems from much more well-known vendors and, indeed, the same would apply if you compared Caché with many environments that you not think of as being comparable. While these benefits are accentuated in complex application environments they actually apply to any and all sectors.
Let us be clear, Caché can do what conventional transactional databases can do, only better. Not only that, it can support operational business intelligence at the same time, or master data management or complex event processing. We don't know of any other database, anywhere, that can make those claims in a credible manner. Of course, Caché is not just a database but also a development environment and it wouldn't be what it is as a database if it wasn't for the development tooling, and the latter wouldn't be as flexible and powerful as it is without the database. We are big fans: you should go and look at Caché.
While InterSystems has customers in all vertical sectors, the company has a particular focus on healthcare and financial services. For example, Ensemble (remember that Ensemble is effectively a layer implemented on top of Caché) has a dominant position in the UK's National Health Service. However, looking forward, InterSystems has the potential to be a significant player in areas such as social media analysis (because of iKnow), smart metering and other machine-to-machine environments.
Users of Caché specifically, as opposed to any other products, include Press Computer Systems (PCS), Epic Systems, The Belgian Police, BNP Paribas, Epic Systems, The European Space Agency (this is a 'big data' implementation), IBM, Johns Hopkins, Optalert (a sensor-based 'breakthrough application'), SPAR, TD Ameritrade, Whitbread and many others.
Caché is the company's database and development environment which acts as the basis for all of the company's other products: InterSystems Ensemble (a platform for connected applications), InterSystems HealthShare and InterSystems TrakCare (specialised solutions for the healthcare sector, DeepSee (for embedding analytics into operational applications) and iKnow (which offers a text analytics capability). DeepSee and iKnow (which can run together) are collectively known as Active Analytics.
Caché, which was first introduced in 1997, is available to run under HP-UX, AIX, HP Tru64 UNIX, HP OpenVMS, Sun Solaris, Linux, Microsoft Windows (various versions) and the Apple Macintosh. In modern parlance the product is a NoSQL database though, of course, the product existed long before anyone came up with the term.
Caché is, on the one hand, a database and, on the other, a rapid application development environment. As a database the product uses a multi-dimensional storage engine. This means that if you want to use it for relational tables then you can do so, because a table is just a two-dimensional array. Alternatively, the engine supports an object-oriented approach (with no impedance mismatch) that allows you to store business objects, customers or patients, for example, as complete entities without having to disperse this information across multiple tables with all the complications of referential integrity that you would require when using a relational approach. There is a free-to-download version of Caché that provides just the storage engine.
As a development environment you can continue to use a relational paradigm if you wish, for the environment supports SQL as well as a wide range of popular programming languages. However, there are also Caché-specific development capabilities that take advantage of tight integration with the database to provide superior performance. In some cases this integration has also been extended to standard languages such as Java. Note that you are not limited to any particular choice: it is common, for example, for Caché developers to use InterSystems' provided capabilities for some purposes but still use SQL for reporting, say.
InterSystems offers a worldwide central response centre as well as local support and individual support groups for each of its main product lines. The company also provides a specialised portal on its web site for developers as well as a formal education and training programme. There is also a campus programme for students and faculty.
GlobalsDB
Last Updated: 10th February 2015
Globals DB is a NoSQL Database offering by InterSystems. It is free to download. It exposes the multi-dimensional data engine that lies at the core of the company's commercial product Caché. It can be deployed as a document store, a key value store or as a graph database. In the latter category it can act as a true graph database with index-free adjacency (that is, nodes point to adjacent nodes without the need for indexing). In theory, because of the multi-model nature of the engine you could also deploy GlobalsDB as a triple store or RDF database if you preferred.
As a free product the intention behind GlobalsDB is to encourage a broader community of users and developers that are familiar with InterSystems' technology, that will/may in due course wish to adopt the full Caché product.
InterSystems has customers in all vertical sectors, though the company has a particular focus on healthcare and financial services. Looking forward, InterSystems has the potential to be a significant player in areas such as social media analysis, smart metering and other machine-to-machine environments (the Internet of Things).
There are no case studies or user details on the GlobalsDB website. However, users of Caché specifically, as opposed to any other InterSystems' products, include Press Computer Systems (PCS), Epic Systems, The Belgian Police, BNP Paribas, The European Space Agency (this is a 'big data' implementation), IBM, Johns Hopkins, Optalert (a sensor-based 'breakthrough application'), SPAR, TD Ameritrade, Whitbread and many others.
Caché is the company's database and development environment which acts as the basis for all of the company's other products, while GlobalsDB is the database engine inside Caché.
Caché (and therefore GlobalsDB), which was first introduced in 1997, is available to run under HP-UX, AIX, HP Tru64 UNIX, HP OpenVMS, Sun Solaris, Linux, Microsoft Windows (various versions) and the Apple Macintosh. In modern parlance the product is a NoSQL database though, of course, the product existed long before anyone came up with the term.
As a database GlobalsDB uses a multi-dimensional storage engine. This means that if you want to use it for relational tables then you can do so, because a table is just a two-dimensional array. Alternatively, the engine supports an object-oriented approach (with no impedance mismatch) that allows you to store business objects, customers or patients, for example, as complete entities without having to disperse this information across multiple tables with all the complications of referential integrity that you would require when using a relational approach. Similarly, you can build your own NoSQL implementations on top of GlobalsDB: key-value stores, document stores, graph databases or customised database types.
Currently supported APIs for GlobalsDB are Java, Node.js and .NET. The company will add new APIs subject to user demand.
For GlobalsDB there is documentation available online, along with FAQs, a forum and blogs.
More broadly, InterSystems offers a worldwide central response centre as well as local support and individual support groups for each of its main product lines. The company also provides a specialised portal on its website for developers as well as a formal education and training programme. There is also a campus programme for students and faculty.
InterSystems IRIS
Last Updated: 28th June 2019
Mutable Award: Gold 2019
InterSystems IRIS Data Platform™ was announced in late 2017 and made generally available shortly thereafter. It is an evolution of the company’s Caché database, Ensemble interoperability platform, and its various analytics offerings for both structured and unstructured data, which are all available in this single platform. In this context, it is worth commenting that InterSystems IRIS is the company’s fourth generation of database technology; Caché was first introduced in 1997. InterSystems IRIS is available for on-premises, cloud-based, and hybrid deployments.
The major elements of InterSystems IRIS – illustrated in Figure 1 – are a horizontally and vertically scalable multi-model transactional-analytic database with full ACID compliance and immediate consistency; scalable and distributed application server(s); a development environment (Eclipse-based) supporting several languages; a business process layer with a rules engine, workflow and process orchestration; and specific capabilities to support analytics against both structured (including integration with Apache Spark) and unstructured (including natural language processing) data, as well as integration with streaming environments such as Apache Kafka.
Customer Quotes
“We view InterSystems (IRIS) as a powerful and comprehensive platform for development. InterSystems provides all the capabilities we need to meet our business demands, in one seamless environment.”
CFAO
InterSystems IRIS contains a multi-model database that stores data in multi-dimensional arrays. Models supported are relational, object (with full persistence, polymorphism, inheritance and so forth, and with no requirement for object-relational mappings), document (XML, JSON), and multi-dimensional, and you can implement any number of these within the same environment, with full interoperability across these projections, and without any duplication of data. Thus, for example, other models can also be implemented on top of the arrays within InterSystems IRIS. Where InterSystems IRIS differs from most other vendors is that competitive products typically have a row store and a column store to support transactions and analytics respectively. This is not necessary in InterSystems IRIS because you can read an array either vertically or horizontally. We consider this to be a major advantage for InterSystems IRIS.
InterSystems IRIS is able to process transactions, index the incoming data in real time, and perform analytics on the real-time data and non-real-time data (that is, historical data and reference data) at scale.
InterSystems IRIS scales to accommodate large workloads and data sets on commodity hardware. Figure 2 illustrates how both the database and application servers scale out horizontally. From the point of view of hybrid applications, the most important thing is how you maintain both performance and consistency. This is enabled by means of InterSystems Enterprise Cache Protocol (ECP). This decouples the execution of application code from the process of persisting the data, which allows application servers to scale horizontally, independently of the number of shard servers, and to distribute workloads automatically. It is possible to configure the environment so that some nodes are designated as query servers and others as transactional or hybrid servers, to cater for different workload resource requirements. Data ingestion can be done in parallel directly to each shard server, providing high-performance ingestion for streaming data. InterSystems IRIS also allows analytic queries to be pushed down to partitioned or sharded data tables, further increasing performance and resource efficiency.
There are a variety of specific query capabilities provided by InterSystems IRIS. To begin with, there is an Apache Spark connector for leveraging machine learning and predictive modelling within the IRIS environment. The connector operates in parallel, with high-speed connections from each of the shard servers shown in Figure 2 into a Spark cluster. Predictive models developed in R, IBM SPSS and other environments are executed natively within InterSystems IRIS through support for PMML (predictive modelling mark-up language).
To facilitate the embedding of real-time business intelligence into operational applications InterSystems IRIS includes a designer for creating dashboards and extending operational applications; an analysis component, employed by business users to explore and display relevant data; and an architect component, which is used to define your data model. From a performance perspective a major feature is that the software can make direct use of graphics processors for pipelining and so forth. An ODBC interface is available to support third-party visualisation products such as Tableau, Power BI and Qlik. For unstructured data InterSystems IRIS includes natural language capabilities and it supports Apache UIMA (unified information management architecture) for processing natural language processing (NLP) pipelines.
Hybrid real-time use cases are becoming increasingly common in financial services (fraud detection), retail (customer personalisation), manufacturing/IoT (detecting errors, predictive maintenance), and other industries. InterSystems IRIS not only caters to these environments but it is going to be more cost efficient than many of its rivals, thanks to the fact that you only need to store your data once and in only one place. And unlike some other multi-model databases you get full interoperability across all data models without any duplication of data.
The bottom line
We are long-time fans of InterSystems products and that hasn’t changed with the introduction of IRIS. We think there is a compelling argument for shortlisting InterSystems if you are considering a new hybrid transactional/analytic application deployment.