Monday, September 6, 2010 at 12:00AM | Derek Stainer
We've spoken about polyglot persistence before, in fact we've spoken about it a number of times. However, for those who have not been paying attention a quick reminder. Polyglot persistence essentially is using multiple persistence mechanisms in an application. This could mean that you have MySQL stacked side by side with HBase and Cassandra. Effectively it allows you to choose the right tool for the job.
Installing CouchDB on a VM - Dennis Delimarsky provides a nice tutorial for installing CouchDB on a VM so that you can give CouchDB 1.0 a try
Riptano Packages Cassandra for the Enterprise - Matt Pfeil, co-founder and CEO of Riptano discusses Cassandra. Little bit of background here, Riptano was created as a commercial entity for Cassandra. Pfeil and Jonathan Ellis, who is the project chair for Apache Cassandra, co founded Riptano back in March of 2010
NoSQL The Dawn of Polyglot Persistence - We discussed Polyglot Persistence a few weeks back. Stephan Schmidt of Code Monkeyism provides some more ideas about the topic.
In yesterday's post John Nunmaker discussed the future of persistence as it related to NoSQL. His thoughts were that application persistence would be hosted and would employ polyglot persistence. In today's post we are going to explore that last piece, polyglot persistence.
In his presentation at WindyCityDB, John P. Wood discusses polyglot persistence, what it is and how does it help?
Key points from the presentation:
RDBMS is no longer the default choice, but it's not dead either
We now have several choices in the NoSQL arena. Having choices is great. However, it means we must do the work to validate our tool of choice as the right one for the job.
So what exactly is polyglot persistence?
The continued or prolonged existence of something using several databases.
Scott Lebnerknight is quoted in the presentation to reinforce this point:
Polyglot Persistence, like polyglot programming, is all about choosing the right persistence option for the task at hand.
One could assume this would be like using Grails for the UI portion of a web application and perhaps Java for other backed processes. So what does this mean? It means you that the default mode of large organizations will be to support multiple data stores.
Some organizations like Facebook and Twitter are already doing this. Specifically in both cases you see these organizations using MySQL, Cassandra and HBase for various aspects of there applications.
As John Wood beautifully summarizes why we do this:
John Nunmaker, from Ordered List, presented the following presentation at WindyCityDB in Chicago a couple of days ago. After providing us with a reminder of the databases history he dives into NoSQL. Couple of highlights from that section:
NoSQL technologies are development and operations friendly
Moving from "How do we store?" to "How do we use"
What about the future? Well John sees two things:
Hosted
Polyglot Persistence
Unfortunately, we don't get to see John detail his thoughts on polyglot persistence. However, the idea is simple that applications will no longer use a single persistence layer. In theory and in my opinion this is what should be done right? Use the right tool for the job. It will be interesting as more applications adopt this strategy the issues it poses. We will explore ployglot persistence more in depth tomorrow.
Update: Here is the actual presenation on Vimeo (thanks to Ryan Briones for the link).