I attended a NoSQL talk last night at my local JUG and the interest level for NoSQL seems to be higher than ever before. Without getting into a religious discussion on why the name NoSQL and is it really anti SQL, modern applications like Facebook, NetFlix, Zynga and so on have different needs and use cases from traditional applications. It’s perhaps a cliche to say that scalability and performance is paramount. However, more importantly, the move towards NoSQL is also seen as a way to simplify the architecture whenever possible. It’s no panacea by any means either. Eric Brewer’s work in 1990s – CAP theorem talks about the tradeoffs that need to be made at a very high level. In addition, you have to deal with technologies that are nowhere near the level of maturity as SQL.
The discussions that ensued after the talk made it clear that the NoSQL movement has some really quick growing up to do to become an integral part of the enterprise. Data visualization tools, regulatory compliance requirements and even ETL tools for most of the vendors seem to be well short of expectations. From a developer viewpoint, there is very little in terms of standardization to ease the pain of migration. Language APIs even from the same vendor are not all equal. However, companies from tiny to huge are venturing seemingly undeterred into NoSQL for a multitude of reasons, not all of them technical.
How is it possible to answer the question — should I even consider a NoSQL system, if so, how do I go about evaluating which one, how do I get started and so on?
There are a number of webinars, conferences that you can attend which go through some of these war stories. Often times, it’s great to get the buzz from the peers. The QCon panel provides a good high level perspective. There are a number of QCon conferences and NFJS conferences for a vendor neutral viewpoint. I personally am doing an O’Reilly webinar, speaking at the Cleveland JUG and at some of the Couch conferences, the next one happens to be in Portland, OR.
Hope to see you at some of these venues and talk about NoSQL, Java, Ruby or whatever development trends that you want to talk about.