Here’s an edited version of the trip report I sent out. More commentary below.
There’s no better way to feel old than to attend a conference on a technology that’s currently at the top of its hype cycle. There might have been a handful of others there – out of almost 300 – who were my age or older, but there were more who were half that. Overall interest/excitement level seemed high, but probably not as high as some of the previous NoSQL conferences. In one of the early presentations, the presenter claimed that “NoSQL” as a brand was probably close to the peak of the Gartner hype cycle; based on the number of NoSQL-backlash articles I’ve seen I would have said we’re already heading for the “trough of disillusionment” and what I saw at the conference confirmed that. People are beginning to think about how they’ll use NoSQL in actual live production, and seeing some weaknesses. More about that in a bit, but first some quick notes.
- “No-sequel” is much more common that “no-S-Q-L” but that battle will probably continue forever.
- There was surprisingly little talk about whether NoSQL means NO SQL or Not Only SQL, whether it’s more to do with SQL or ACID, etc. I guess people have (finally) decided those matters are settled.
- The Azure Storage guy wasn’t getting a lot of love. Even MySQL seemed to be more favorably viewed, with more than one person saying if it works for you then use it.
- The Gear6/memcached guy wasn’t getting much love either. Most people seemed to think memcache doesn’t qualify as NoSQL (and they’re right
IMO). A surprising number mentioned using it in combination with NoSQL to absorb reads, particularly for a more write-optimized store like Cassandra, but none liked it.
- Numbers: Twitter over 9B rows, StumbleUpon over 12B (36 hours to load).
- “Object Relational Mappers are the Viet Nam of computer science” — Jonathan Ellis
- “The relationship between SQL and document databases is the same as between static typing and duck typing” — Paul Davis
One recurring theme was raising the semantic level of NoSQL stores. Secondary indices and complex range/boolean queries came up again and
again, with vendors who support them (e.g. Couch or Mongo) quick to mention it and others (e.g. Cassandra or Riak) eager to talk about roadmaps. I guess everyone’s catching the meme at the same time, because as of just a couple of weeks ago I had occasion to write about some of these issues a bit and during my research found that on most of the projects nobody seemed to be taking them very seriously. Nobody likes transactions, nobody likes joins, but there seems to be growing acceptance that something beyond get/set/delete would be nice. Even Voldemort, which has generally the most bare-bones API, is going to add atomic queue operations.
The “NoSQL in the Cloud” panel was particularly interesting. Jonathan Ellis, of Rackspace and Cassandra, made the controversial statement that cloud and NoSQL do *not* go well together, because if you’re small enough to be running your apps in the cloud then you’re not big enough to need the scale of NoSQL. This was closely related to the issue of multi-tenancy. There were three people there who have actually run hosted database services – Rackspace and Heroku with MySQL, Cloudant with CouchDB. They agreed that it was very difficult, especially with respect to performance isolation and preventing one careless customer from effectively destroying others’ performance. Without solving that problem, which none of the projects seem interested in doing any time soon, deployment as a shared service is likely to be far less common than deployment within users’ own VMs. Also relevant is Ellis’s comment that a cloud colocated with managed servers has significant appeal to many users.
For me, the best part was just getting to meet in person a bunch of folks I’d only met online before, to listen to all the conversations and hear where people’s thinking was wrt various issues, etc. There’s still a lot to be learned from things like tone and body language, for example watching everybody (or some important subset) nod or cringe when certain statements are made or questions asked, etc. That stuff just doesn’t come across in IRC/email/blogs/Twitter. It’s a high-bandwidth blast of information, both verbal and otherwise, coming from multiple directions at once. It’s a shame that I had to miss the Jillian’s party, but dinner at Coda was a blast. Throughout the day I learned a lot about who’s doing what, about the internals of various codebases, and even about the Large Hadron Collider. Thanks to the folks at 10gen/Cloudant/Hashrocket for setting this up.