Overall a well-executed, fact filled technical conference that catered to the needs of advanced MongoDB users and technical experts coming to learn more about MongoDB.
The keynote address delivered by Ben Sabrin, VP Sales for 10gen, presented the idea that the data revolution is changing everything except the underlying database technology. MongoDB represents an significant step forward for databases that are not based on the RDBMS or SQL paradigms. The principal behind MongoDB is to maintain a natural approach to humongous amounts of data. Ben’s main message – MongoDB is a more natural approach to database usage and end user solutions.
In the “Building Your First MongoDB Application” session Ian Whalen of 10gen delivered an informative presentation about the key concepts of the database while building an example application for the audience. This session quickly ramped up those new to MongoDB and provided the basics they would need for the rest of the day’s sessions.
The “Schema Design” session outlined the basics of designing a schema. MongoDB requires a more thoughtful approach to schema design with more focus on the intended use of the data. MongoDB offers exciting possibilities with its collection and document model. Documents are JSON-like data structures which are highly extensible. Documents are stored in collections. In SQL-speak collections are tables and documents are rows within tables. This construct allows the application programmer great flexibility when creating the database design. However with flexibility comes responsibility. For example, there is no SQL-like JOIN capability within MongoDB. So the data schema must be well designed from the beginning.
“Replication & Replica Sets” session was a clear demonstration of the capabilities of MongoDB in an enterprise setting. The ability to replicate and recovery quickly are always a requirement for production environments. MongoDB has a straightforward architectural solution that makes reliable replication possible. The ability to designate replicas by intended use allows for the support both a transaction (write heavy) and reporting (read heavy) environments across replicated databases. This type of capability in current RDBMS products and SAN/NAS disk solutions is often costly and difficult to manage. Out of the box MongoDB provides a flexible replication architecture that is easily defined and has predictable outcomes.
Paul Pederson, Deputy CTO of 10gen, discussed two kernel functions within the database – concurrency and page fault handling. Read/write concurrency with release 2.2 is a new evolutionary step that brings MongoDB more in line with what is expected when compared to RDBMS queries and the need for a read-consistent view. Page fault handling has evolved from an ad hoc approach to a more systematic methodology within the kernel that greatly reduces the performance impact to the overall database, collections and individual quires. Again another evolutionary step that supports an enterprise with big data needs.
Emily Stolfo presented “The New Aggregate Framework” for MongoDB 2.2. The framework is a “pipeline” architecture” which provides aggregation capabilities. A group of new operators has been added. Some examples are below.
They can be strung together much like a bash() command line:$ ps -ef | grep root | sort | tail
In SQL-speak the aggregation framework supports GROUP BY type aggregation in way that does not require map/reduce programming. But like any pipeline architecture the sequencing of the operators is critical to generating an excepted outcome. For example, a $unwind before a $sort could yield a very different result than $sort followed by a $unwind. The pipeline approach and operators is reminiscent of the architecture employed by Ab Initio’s ETL tool circa 2006. Data is streamed via pipes to highly specialized components. It is the programmer/designers task to determine the order and configuration of each component to create the intended outcome. The Architecture Framework provides this same type of modularity, power and flexibility.
The “Ask the Expert” sessions provided a place for “question and answer” interactions with the 10gen technical team. 10gen experts were available to answer any question about MongoDB or a specific design or coding challenge. 10gen did a get job executing this type of exchange in a conference setting. At other conferences all too often you end up dealing with “Marty Marketing” or “Sam the Sales Guy.” 10gen’s Randall Hunt bravely threw himself on my RDBMS star scheme conversion to MongoDB question. While he did not have the answer at his fingertips he promised to contact me with more information. And two hours later he emailed me the documentation I needed. Great job.
It is difficult to execute a one-day conference and serve the information needs of the attendees. 10gen keep the conference focused and relevant. Well done. I hope this continues in future. See you in Chicago!