Industry Leader Q&A with Robert Nagle, InterSystems Vice President for Software Development
InterSystems Corporation will next week roll out a new version of its Caché high-performance object database. The new release targets the growing demand by CIOs for economical high availability by introducing database mirroring, while also now addressing Java developers' need for high-volume high-performance processing combined with persistent storage for event processing systems. Robert Nagle, InterSystems vice president for software development, recently chatted with 5 Minute Briefing about the release and the new features it offers. Commenting on the growing interest in NoSQL databases, Nagle observes that many of the beneficial characteristics people see in NoSQL are in fact true of Caché - a flexible data model and zero DBA cost. "But for us, what is unique is that it is not NoSQL, it is that it needs to be SQL - without the overhead of relational technology - because I think SQL is extremely important for almost every class of application that is deployed."
5 Minute Briefing: What differentiates Caché from other databases?
Nagle: Caché is a system that we have been building for many decades now. Its unique characteristics are that it is extremely resource-stingy, very sort of parsimonious in what it does, and as a consequence, extraordinarily scalable. Complementing that, it has a very rich model for allowing developers to see their data. It is really designed for complex, almost unstructured data - although unstructured data has a very specific meaning. We have an engine that allows the modeling of that with great facility and gives you the ability to see that data as objects, as tables or in its raw form, and that gives a very rich development environment to application developers.
5 Minute Briefing: Where is it used?
Nagle: We have applications in almost every vertical sector. It is fair to say that Caché is the most widely used database for clinical applications around the world. But we also have deployments in financial services, in telecommunications, in government applications, in publishing, and so on down the list.
5 Minute Briefing: Would you say the enhancements for Caché 2010 fall into two main areas?
Nagle: Yes. One is really on the deployment side, and another is a new development avenue that is available.
5 Minute Briefing: On the deployment side?
Nagle: It goes back to our heritage of finding ways for people using our technologies to use less in the way of resources while offering more. Database mirroring uses redundant servers and redundant storage which can be purchased much less expensively but can deliver the same level of availability that people have today when they have used shared storage configurations and shared clusters. We support shared clusters and lots of our customers deploy them - and they work really well. But what we have done is given a new choice to people, to give them the option of delivering the same promises of application availability while reducing the cost.
5 Minute Briefing: The new database mirroring can be done to a remote location?
Nagle: Yes. The only thing that is required for mirroring is a TCP connection between the mirror members.
We also feel that besides reducing cost, we have simplified the environment. And, philosophically, a simpler environment is one that is likely to have greater reliability. That, too, is part of our long-standing ethos - that the fewer moving parts you have, the more scalable your environment is, and the more reliable your environment is.
From time immemorial, our applications have been deployed in real mission-critical applications, namely life and death ones involving clinical applications, so high availability and reliability has always been part of what we have offered. And, complexity is one of your enemies there. Simplifying things reduces risk.
5 Minute Briefing: This would be used for disaster recovery scenarios as well as planned downtime -- for upgrades, for example?
Nagle: It would be used for both planned and unplanned outages. We have got automatic takeover. If the primary server fails, the backup will take over immediately. If 2 days later the new primary fails, we can fail back to the original one and that all works fine. That is sort of an automatic failover option.
We also offer configurations with mirroring for disaster recovery. And disaster recovery usually involves some kind of human decision process that says this is a disaster - there is some level of interruption because a portion of the city has gone blank, because it has lost power. And rather than waiting for that to come back online, we are going to redirect everyone to a different data center. Our asynchronous mirror option provides a disaster recovery model as well.
5 Minute Briefing: And what is the second major new feature in Caché 2010?
Nagle: It is more on the development side. Again, over the last 15 years, we have looked at ways of making the Caché environment be extraordinarily scalable, really nimble and at the same time offering a really rich development model for developers. Well, that is all presuming that you are willing to work on the Caché server; it hasn't had native Java support. There is a whole class of application developers for whom this level of exciting development framework as well as a rich deployment environment hasn't been available. With "eXTreme for Java," we are making that framework available to Java developers by giving them direct poke-through access into the core of the Caché server. They still work in Java, they have access to the rich, direct underlying data model and all the scalability that that implies, and the light use of resources that that implies, and they also have the richness that that offers, with object access and relational access to the same data.
5 Minute Briefing: Who is this targeted at?
Nagle: We are targeting that, in particular, at certain types of use cases where in the past people have not been able to use a real database. For example, a very high-volume data capture situation where there is a massive amount of data streaming in that can't be stored in a relational database fast enough for the demands of the applications. What people have tended to do is either build their own custom in-memory solution or they have bought some very specialized unique database technology. But, ultimately, their persistent storage, their long-term storage, is a relational database that gets updated after the fact. We can give Java application developers solving those kinds of problems full persistent database storage and at the same time let them achieve the rates that they haven't been able to achieve thus far.
5 Minute Briefing: InterSystems feels this is a breakthrough for those developers?
Nagle: Yes, we did something like this about 3 or 4 years back for C++ developers, and that has led to some really innovative applications especially in the area of financial services, where it is very easy for you to imagine scenarios where they have streams of ticker data coming in at immense rates. And they need that data inserted into a database really fast, and then you have got complex queries running against that data to make immediate market decisions about updating portfolios, or buying and selling stocks, or increasing derivatives, or whatever it may be. In the past, people were using custom databases or home-grown databases for that- which worked very well up to a limit - but often led to reliability issues because they didn't have a full database model behind what they did. We saw a lot of exciting uptake with the C++ offering that we introduced - and now we are extending the same richness for Java developers.
5 Minute Briefing: Has the new Caché release been in beta for a while?
Nagle: Yes, this has been in our field test since March of this year. For both of these new capabilities, we have had very strong positive reactions. For database mirroring, this new configuration choice has caused some of our largest enterprise customers and our largest ISVs to rethink some of their deployment models. Generally speaking, to a customer, they are excited about the opportunities that this offers for them to pass on costs to their end users.
5 Minute Briefing: And the enhancements for Java developers?
Nagle: The Java offering is in many respects new. While many of our existing customers do Java development, we have been more opening up new prospects with this, and we have had some exciting encounters in Europe and in the U.S. with people who are relatively new to Caché based on their ability to now exploit it through Java. So I think on both fronts, we are pretty enthusiastic.
It's key for us that we spend a lot of time in innovation at the database level, which a lot of people believe is a solved problem. There is a large class of applications today for which the orthodoxy of databases is not the right answer and Caché continues to be one of the unique offerings that gives developers a new choice. They still have all of the richness for reporting purposes and ad hoc queries that SQL offers, but they have got a much more flexible and powerful development environment, and so I think that that level of innovation is important.
5 Minute Briefing: What is InterSystems' perspective on the emerging trend toward NoSQL databases?
Nagle: If you look at some of the current brouhaha about NoSQL databases, many of the characteristics that people see as beneficial for them are in fact true of Caché-a flexible data model, zero DBA cost. But for us, what is unique is that it is not NoSQL, it is that it needs to be SQL - without the overhead of relational technology - because I think SQL is extremely important for almost every class of application that is deployed. What we try to offer is a lightweight, flexible, extremely scalable, easy to manage, rich development environment database framework that still allows you to see your data through SQL - and not only to see it through SQL, but to see it through SQL at performance rates that meet or exceed what the relational databases can do.
Visit the InterSystems website for more information about the Caché high performance object database.