We began with the idea of having a NoSQL Camp Austin, but because there have already been numerous NoSQL camps/summits around the country, we didn't want to duplicate that effort. Many of the presentations from these events are already online. There's little reason to duplicate them.
So we moved to the idea of having a series of Data Dev Days -- not necessarily just Big Data, but anything anything new and interesting in the NoSQL/OpenSQL realm. By picking one or two complimentary technologies, and making them the focus of a full day event, we can give new folks the opportunity to get their feet wet, and even start hacking. We can also provide those already familiar with an opportunity get a bit deeper into the technologies.
We had planned to begin the series with a day devoted to document databases -- primarily MongoDB and CouchDB. After several interviews and discussions we decided to dedicate the first event entirely to MongoDB.
David Strauss, of Four Kitchens, explains why it is a good idea to launch the series with MongoDB:
MongoDB is unique in that they've spent an enormous effort on their project to provide high quality access libraries for multiple languages. Most of the other NoSQL solutions are almost entirely focused on the backend while treating access libraries as an afterthought, at least for client languages other than their preferred one.
One of the most exciting things for me has been how fast I could get MongoDB running and interface with it from PHP. I installed the extension and started running MongoDB from the shell. You simply say "Mondodb [space]" and provide an argument to specify the data directory, and you have MongoDB running. There's no other configuration, and if you have the extension running for PHP, you can connect to localhost as the default.
If you're running as localhost, there's no configuration whatsoever on the PHP side. You just create a MongoDB connection. Because your databases and collections -- collections are like the equivalent of tables in MongoDB -- are created on demand as you write to them, there's no schema to load in. There's no setup to do. You simply start writing your data. You say "I want to write to this database, this collection, write out this data structure." You can instantly start writing php objects to it, reading them and finding them. It's so amazingly easy.
It took me half a day to go from not touching MongoDB to writing some fairly good functionality against it. It makes setting up, configuring, and interfacing with MySQL look archaic -- ridiculously archaic.
The folks at 10gen have done an amazing job. They've made the experience of using MongoDB so easy and pleasant. When it comes to raw performance for reading and writing to the system and making it a practical to use system, I consider them absolutely the leader right now.
It's really important that these systems be seen not as toys, proofs of concept, or academic curiousities, but as practical utilities for daily problem solving.
It's all about getting people into this mentality of "we don't have to deal with an SQL-based store". There's a world outside of object-relational mappers and writing tons of SQL.
If we can get people exposed to MongoDB, the barrier for looking at CouchDB and other stores is relatively low, and MongoDB is one of the friendliest systems on the market, and absolutely ready for production use.
So, MongoDB it is.
The structure of the event:
We're planning for one track of presentations, and a hacking space. The hacking space can organically be used for either individual people working or BOFs (Birds of a Feather). We're counting on the fact, if some people are inspired by a presentation, they won't even want to watch the next presentation. They'll want to go off and start playing, and discussing with the other people who latched on to that particular presentation. So, a prominent hacker space will be critical.
Tools for exploration:
Quoting David Strauss again:
One of the reasons that people have been reluctant to experiment with NoSQL is a general feeling of "I don't know how to install and connect to this". It's super easy once you learn how to do it, but it's kind of a chicken and egg thing. People are not going to build applications and play with it until they get it installed, and they're not going to have the motivation to get it installed until they have a reason to use it in an application.
Because these tools are not yet commonly available on hosting providers, we hope to provide an opportunity for people to play with these tools.
We're investigating the possibility of providing people with either a download from the web, or a dvd that has been burned with virtual machine images they can copy to their laptop computer and fire up. Alternatively, we're looking at the possibility of getting virtual machines on the cloud that would be already set up for use with Mongodb.
(Geekaustin Data Series)
Saturday, March 27, 11AM-6PM
Registration and speaker info forthcoming
For sponsorship info, contact firstname.lastname@example.org