Low-risk IT experiment No. 5: NoSQL
Just 10 months ago, NoSQL was of interest to just a few IT speed freaks who sought to build the most efficient data storage engines ever. These engineers looked at the SQL databases and realized that JOINs slowed performance and made it difficult, if not impossible, to spread data over multiple machines. Sure, they could have denormalized the tables and investigated some automatic sharding tools, but it's much more fun to spark a revolution.
Many of the resulting open source NoSQL tools -- Cassandra, MongoDB, and CouchDB, to name a few -- require a fair amount of experimentation and a willingness to put up with rough edges. Add the fact that they're not yet ready for mission-critical projects, and you can see why your experience with NoSQL may vary.
But for IT departments looking to make the most of noncritical data, NoSQL's fast response time and scaling simplicity can prove fruitful. The tools themselves sacrifice accuracy to achieve this performance -- "eventual consistency," as it has been referred to in the NoSQL community. Anyone who has watched postings appear and disappear from Facebook will know how users of NoSQL databases, which includes Facebook, are not worried about keeping servers completely consistent.
So how can IT put these tools to use? NoSQL provides an excellent opportunity to analyze ephemeral data that often falls by the wayside. For example, many companies trash their log files after a few days because they grow unwieldy. Other data often gets tossed aside simply because it's not worth paying a hefty license fee for a serious database to deal with it.
You can start sticking this information into NoSQL tables at a fraction of the cost of top-quality database software. Throw in some latitude and longitude values, and you can start popping up maps illustrating trends.
The NoSQL experiments and the analysis thrive when the results are aimed at answering specific questions or support an agenda item outlined by the business team. Is your organization looking to expand into new regions? Then present them with a table showing log file results from that location. Is there interest in understanding whether customers use one corner of the Website or one particular Web service more than other? Tap NoSQL to aggregate this data and correlate it with your customer base.