Many casual readers of this blog who have turned up here out of passing interest are probably now thinking: Mumps? WTF is that? That’s got to be some kind of joke, Rob…what have you been smoking mate?
The ironic thing is that if you, the reader, has been to your doctor, had treatment at a hospital or used an ATM, recently or in the past, you have probably had your information processed by and stored in a Mumps system. Mumps is a little-known and very poorly understood, yet amazingly competent technology that, despite being around since the late 70s is still delivering the goods and meeting the challenges of the 21st century. Though you may have never heard of it, it’s a technology that dominates healthcare around the world and is embedded at the heart of many large financial institutions.
Mumps is unusual in that it is two things at once: a language and a database. More accurately it’s a database with an integrated language that is optimised for accessing and manipulating that database. It was originally designed for use in a medical/clinical setting, but in meeting the non-trivial needs of that setting, it happened to pre-empt the now hyper-trendy NoSQL database design goals by several decades. It’s an exceptionally high-performance database with an equally high-performance language, capable of massive scalability.
I’ve written about this before, in a paper I co-wrote with George James:
Far from being some stupidly-named joke of an outdated database, it’s a serious, tried and tested technology that is highly relevant for today’s “big data” oriented world. Those of you who ignore it for your projects, whether in healthcare or any other sector, are missing a technology that is just as capable – I would argue far more capable – than any of the now trendy NoSQL databases or the still popular Open Source SQL databases. The version for GT.M is available for Linux under a Free Open Source license.
And for those of you who are already working with Mumps systems (such as the Dept of Veteran’s Affairs VistA application) who think its future lies in augmenting it with a NoSQL database such as MongoDB: please don’t demonstrate your ignorance about a database technology that you clearly don’t “get” or understand. Those “old” Mumps systems will scale and perform in all the ways you’re thinking you need that shiny new NoSQL technology for. All you’ll end up with is an unnecessarily complicated bolted-together pair of technologies that provides no appreciable gain in performance or scalability with all the added problems of keeping them in synch and having technical people who understand the system management of two databases instead of one.
By the way, for those of you who don’t understand my juxtaposition of the terms Mumps and Cache: Cache is a derivative of the Mumps technology – indeed under the covers of every Cache database is a Mumps database. Cache adds an object/relational projection on top of the core Mumps database and an object-oriented set of extensions to the core Mumps language. Cache is a proprietary product. Meanwhile, GT.M is a Free Open Source pure Mumps database that includes an implementation of the standard Mumps language.
I’ve been working in the web application arena since the early days of the web and follow it and the database world as part of my business. I’ve yet to find a database that I’d swap for a Mumps or Cache one. I strongly recommend those of you who have never heard of it to take a very close look at it – it could be smartest thing you do this year.
I’ll be writing a separate blog posting on the Mumps language. If ever there was a misunderstood, mis-represented language, then Mumps is probably top of the list. If all you know about Mumps is what you’ve read on Wikipedia or the infamous Daily WTF site, then hopefully I can re-educate you and set the case for Mumps straight once and for all.