Intro to NoSQL with Couchbase at the Boston Tech Meetup
On Tuesday night, Rags and I had the opportunity to speak at the Boston Tech Meetup. First, I want to thank Justin, Alex and Matt from the organizing team for setting up this Meetup.
We presented an introduction to both NoSQL and Couchbase. We had a packed room and a great audience. The Boston Tech Meetup has great diversity in its membership. There are developers of many persuasions. NET and Java seem to have slight advantages, but all major platforms are represented. There are also designers, DBAs, managers and entrepreneurs in the mix. So it was a great audience for a general discussion on NoSQL.
Unfortunately, my laptop didn't want to play nicely with the overhead projector at Microsoft's Northeast Regional Development (NERD) Center. Fortunately though, I keep my slides on Dropbox so I was able to present on Rags' laptop. Unfortunately though, my laptop had a code demo that was meant to transition between my talk and Rags' talk.
Rags demonstrated the new Couchbase Server 2.0 view API using the Java client. In a room with mixed language affinities, Java tends to be the lowest common denominator. I don't mean that in a negative way, but we've all likely dealt with Java at some point in our careers - academic or professional.
I had an interesting question from an attendee before the event. He asked if social and gaming were the primary use cases for NoSQL databases. I understand why he'd think that - and why many people do. Social and gaming sites were among the earliest adopters of open-source, NoSQL technologies. But as non-relational databases have grown up, they've made their way into mainstream companies. In fact, we count among our clients a wide range of companies, from social gaming to advertising to traditional e-commerce. Checkout www.couchbase.com/company for a list.
Another common question (or more accurately, a concern) I hear from people exploring non-relational databases is that flexible document schemas could break applications as business objects and documents get out of sync (i.e., deserialization problems when properties no longer line up). The fact is that this isn't a new problem. Whether using an ORM or some other reflection based approach, it's quite common to map the results of a SQL query to properties of business objects. If the underlying query, mapping code or even database schema gets out of sync with the code, then bad things will happen. NoSQL didn't invent schema mapping problems, it just introduced a variant of the problem.
Failed projector connections and awkward transition aside, Rags and I both really enjoyed the event. We had some great follow-up conversations with attendees after the talk. We're hoping to see some of you who were in the audience at http://www.couchbase.com/couchconf-boston, which will be held on May 15th. I'll also be delivering a talk on Couchbase at New England Code Camp 17 in Waltham, MA this Saturday.