Cloud and NoSQL have a Genetic Relationship
At JAXconf in San Jose next month Tim Berglund (August Technology Group) will give two talks on NoSQL, as well as a Git tutorial with Matthew McCullough. We spoke to Tim and asked him about the current state of NoSQL, and what attendees can expect from his sessions.
JAXconf: In your opinion, how is the rise of cloud computing impacting on the NoSQL movement?
Tim Berglund: There is definitely a genetic relationship between the cloud and NoSQL, and there is ongoing synergy besides. Two NoSQL products actually have their origins in cloud plays. The company Basho actually started out with the mission of creating Salesforce.com apps. They knew they were going to need a data store they could count on to perform at scale, so they implemented a Dynamo-based distributed hash table. Their SaaS business didn't really take off, but they found that the marketplace was interested in their database, which became the product now known as Riak. Likewise, after exiting Doubleclick, Dwight Merriman and Eilliot Horiwitz had this brilliant idea to build a platform-as-a-service (PaaS) that would provide functionality similar to what we now see in the Google App Engine or SpringSource's CloudFoundry. (This was quite prescient in 2007!) Their PaaS offering never really took shape, but they discovered people loved the database they built for it, which is now known to the world as MongoDB. Now, "cloud" can mean a lot of things, but as we look at the evolving continuum of infrastructure-as-a-service and PaaS offerings, we find that relational datastores aren't really ruling the roost. Amazon has SimpleDB, the Google App Engine has the BigTable-based Datastore, CloudFoundry has MongoDB. Each of these has existing or planned relational offerings as well, but they are at best peers to the NoSQL options, not the dominant older brothers they have been elsewhere. So cloud has given birth to some NoSQL products, and it seems like cloud economics are nudging us toward NoSQL in subtle and not-so-subtle ways. In addition, cloud's progressive technological sensibilities make NoSQL adoption more natural, compared to the conditions that prevail in a conservative enterprise data center.
JAXconf: In your 'NoSQL Smackdown!' session, you will look at some of the new technologies users must introduce to address today's scaling challenges. What technologies do you advise NoSQL users to currently look at?
Tim: You should look at as many as time allows. This is the period of early adoption for NoSQL products, which means technology innovators who want to realize competitive advantage by moving first are going to take risks on new products. This requires developers and architects to do a lot of learning about a diverse portfolio of products, and about a bunch of computer science we used to be able to ignore. It's so hard to narrow the list down. There are so many good products out there, and any time I leave something out, I risk leaving out a successful solution. Developers and architects should really learn about as many different solutions as possible, but since time is limited, I will narrow that down. I recommend you study Cassandra, MongoDB, Neo4J, Redis, Riak, and CouchDB. This is a good cross-section of the data models, scale paradigms, and licenses you're likely to find in the NoSQL world at present.
JAXconf: In 'Radical NoSQL Scalability with Cassandra' you will deep dive into the Cassandra database. Who would benefit from attending this session?
Tim: Anyone who's interested in NoSQL beyond the level of the survey should definitely come to this talk. Cassandra is just one option in the increasingly crowded NoSQL field, but it's got a very compelling combination of license, data model, scaling paradigm, and community. Cassandra really shines in "web-scale" applications, but it's very easy to deploy in smaller systems as well, and its growth path is second to none. If you're interested in how NoSQL database work under the hood and how they can achieve true horizontal scalability, you should come check it out.
JAXconf: You will run a 'Git Going with a Distributed Version Control System!' tutorial alongside Matthew McCullough. What can attendees expect from this session?
Tim: Attendees can expect to have their version control world changed. There's no longer any doubt about the importance of Git or that it represents the future of version control. The community is embracing it, and the kind of capabilities it brings us relative to previous solutions are truly compelling. The only problem is that it's different enough from previous solutions that it can be a little bit challenging for developers to pick up without adequate preparation. This tutorial is exactly what you need to get over that hump. Matthew's Git training materials are quite polished and very effective. I've delivered them with him before, and we have a lot of fun helping people get started with this technology. Attendees will learn the basic mechanics of using Git as well as how to reason a little bit about Git internals and repository history. You'll go back to work as the go-to person for this exciting piece of technology.