MongoSV 2012
December 2nd to December 3rd Santa Clara, United States
MongoSV is an annual one-day conference in Silicon Valley, CA, dedicated to the open source, non-relational database MongoDB.
This year’s conference includes over 50 sessions by 10gen engineers and MongoDB users from companies such as foursquare, Github, Apollo Group (University of Pheonix), AOL, and more.
For the first time, we are offering a full track dedicated to operations for those interested in learning about the maintenance strategies and best practices for your MongoDB clusters.
For more information, check out the agenda or our blog post Get Ready for MongoSV.
Not enough MongoDB? Sign up for a workshop
We are offering two in-depth, hands-on MongoDB workshops a day before MongoSV. Each workshop is offered in both the morning (9:00-12:30) and afternoon session (1:30-5:00). For more information, see the detailed description below registration.
Hashtag
Follow the #MongoSV hashtag to stay up-to-date on all things MongoSV.
M101(MongoDB for Developers) and M102 (MongoDB for DBAs) Office Hours
At MongoSV, we're hosting office hours for students enrolled in 10gen's online MongoDB classes. M101 instructor Andrew Erlichson and M102 instructor Dwight Merriman will be available to answer your questions about the course and MongoDB in general.
Schedule
8:00am to 9:00am
Registration
9:00am to 9:30am
Welcome to MongoSV
Room B4
9:30am to 9:50am
Session Transition, Coffee, and Registration
9:50am to 10:30am
Schema Design
Room B4 (10gen Dev Track)
Sridhar Nanjundeswaran
One of the challenges that comes with moving to MongoDB is figuring how to best model your data. While most developers have internalized the rules of thumb for designing schemas for RDBMSs, these rules don't always apply to MongoDB. The simple fact that documents can represent rich, schema-free data structures means that we have a lot of viable alternatives to the standard, normalized, relational model. Not only that, MongoDB has several unique features, such as atomic updates and indexed array keys, that greatly influence the kinds of schemas that make sense. Understandably, this begets good questions: Are foreign keys permissible, or is it better to represent one-to-many relations withing a single document? Are join tables necessary, or is there another technique for building out many-to-many relationships? What level of denormalization is appropriate? How do my data modeling decisions affect the efficiency of updates and queries? In this session, we'll answer these questions and more, provide a number of data modeling rules of thumb, and discuss the tradeoffs of various data modeling strategies.
Sharding
Room B5 (10gen Ops Track)
Brandon Black
Sharding allows you to distribute load across multiple servers and keep your data balanced across those servers. This session will review MongoDB’s sharding support, including an architectural overview, design principles, and automation.
How We Evaluated MongoDB as an Relational Database Replacement
Room M1
Brig Lamoreaux
Explain the process, methodology, and results used at Apollo Group to evaluated MongoDB to replace Oracle for a core platform component.
Lightning Talks
Room M3
Niall O'Higgins; Robert Vandehey; Michael Calabrese
- NOMP Stack has arrived: Node.JS, MongoDB and PaaS: Niall O'Higgins, CTO, Beyond Fog
- Moving from .NET/C# to Hadoop/MongoDB : Robert Vandehey, Senior Director, Rovi Corp
- MongoDB using PHP: Using a New Framework Called Ox: Michael Calabrese, Senior Developer, Lunar Logic
Build an App Track - Part 1
Room H
Eliot Horowitz
We will build an IRC server based on MongoDB. In this first session we will review how the server works and how to manage the necessary data. We will look in detail at how to build a Message Bus that is the backbone of our IRC server.
Sailthru: Moving from Cloud to Colo
Room G
Ian White
For nearly two years, Sailthru ran our entire MongoDB deployment on Amazon EC2, serving terabytes of data and processing thousands. We had a number of successes and a number of challenges, and ultimately decided to move our primaries to a physical hardware. I'll reflect on the move and the pros and cons of both cloud and metal, from hard experience.
10:35am to 11:15am
Indexing and Query Optimization
Room B4 (10gen Dev Track)
Max Schireson
MongoDB supports a wide range of indexing options to enable fast querying of your data. In this talk we’ll cover how indexing works, the various indexing options, and cover use cases where each might be useful.
Deployment Preparedness
Room B5 (10gen Ops Track)
Alvin Richards
Lightning Talks
Room M3
Mark Nielsen; Charity Majors; Michael Salera
- Database Administration Dashboard for MongoDB : Mark Nielsen, Programming DBA Geek, Reputiation.com
- MongoDB and AWS Best Practices : Charity Majors, Systems Engineer, Parse // Mongo 2.x, Morphia, and Grails
- Perfect Together : Michael Salera, Software Architect, MercadoLibre
Building an IRC App on MongoDB: Deployment, Replication and Monitoring
Room H
Eliot Horowitz; Shaun Verch
Now that we've built our app, we will look at how to deploy it in production. We will design and deploy a replica set to support a highly available backend for the server. We'll also show you how to monitor your server, both from the shell and using the MongoDB Monitoring Service (MMS). Additionally, we will try to break our cluster and show how the service stays running throughout failures as well as how to recover from catastrophic failures.
Automated Slow Query Analysis: Dex the Index Robot
Room G
Eric Sedor
A well-indexed query improves performance by several orders of magnitude. The trick is to identify an ideal set of indexes for a particular use case. Even for experts, hand-crawling MongoDB log for slow queries is a laborious process. Introducing Dex: an open-source automated tool for analyzing the slow query log or system.profile collection. Dex's primary author Eric Sedor demonstrates Dex's usage and elaborates on indexing topics from the basic to the advanced. Includes how to pick indexes in an elegant, practical way. You learn how Dex categorizes slow queries and recommends indexes to help keep your application running smoothly. Eric is an engineer at MongoLab, cloud-hoster of MongoDB, where Dex is used daily to optimize customer indexes.
11:15am to 11:30am
Coffee Break
11:30am to 12:10pm
Replication
Room B4 (10gen Dev Track)
Hannes Magnusson
MongoDB supports replication for failover and redundancy. In this session we will introduce the basic concepts around replica sets, which provide automated failover and recovery of nodes. We'll show you how to set up, configure, and initiate a replica set, and methods for using replication to scale reads. We'll also discuss proper architecture for durability.
Capacity Planning
Room B5 (10gen Ops Track)
Scott Hernandez
Deploying MongoDB can be a challenge if you don't understand how resources are used nor how to plan for the capacity of your systems. If you need to deploy, or grow, a MongoDB single instance, replica set, or tens of sharded clusters then you probably share the same challenges in trying to size that deployment. This talk will cover what resources MongoDB uses, and how to plan for their use in your deployment. Topics covered will include understanding how to model and plan capacity needs from the perspective of a new deployment, growing an existing one, and defining where the steps along scalability on your path to the top. The goal of this presentation will be to provide you with the tools needed to be successful in managing your MongoDB capacity planning tasks.
The three aaS's of MongoDB in Windows Azure
Room M1
David Makogon; Doug Mahugh; Sridhar Nanjundeswaran
MongoDB can be deployed to Windows Azure via PaaS or IaaS. And - surprise! - Now there's a SaaS option as well! This session will show all three approaches and compare each.
Lightning Talks
Room M3
Nosh Petigara; Rick Copeland
- Exploring Public Datasets and APIs with MongoDB and Analytica: Nosh Petigara, President, Analytica
- Multi-Master Replication for MongoDB : Rick Copeland, Principal, Arborian
- Mongo and Java made easy : Discover Jongo : Katia Aresti, Developer
Building an IRC App on MongoDB: Build a Scalable Message Logging Service and Then Shard It - Live!
Room H
Eliot Horowitz; Shaun Verch
We will extend the IRC server to log the full chat history. This requires a scalable backend to store an infinitely growing volume of messages. We'll look at several ways of designing the message storage and the limitations and tradeoffs of each. We will then deploy our updated IRC server and upgrade from a replica set to a sharded cluster without any downtime.
MongoDB at Foursquare: From the Cloud to Bare Metal
Room G
Jon Hoffman
Foursquare recently migrated their Mongo infrastructure from servers running on Amazon's EC2 to bare metal hardware in their own DC. I'll talk about why and how we moved and what we learned along the way.
12:15pm to 12:55pm
Aggregation
Room B4 (10gen Dev Track)
Bryan Reinero
MongoDB's native tools for processing data can help you make sense of your data. This presentation will focusing on our native implementation of The new Aggregation Framework and Map Reduce. This session will include examples and practical strategies for aggregating data.
Understanding MongoDB Storage for Performance and Data Safety
Room B5 (10gen Ops Track)
Antoine Girbal
MongoDB supports write-ahead journaling of operations to facilitate fast crash recovery and durability in the storage engine. In this session, we'll give an overview of durability with MongoDB, demo journaling, and discuss journaling internals.
The Joy of Cooking: Deploying MongoDB with Chef
Room M1
Nathen Harvey
MongoDB makes developers happy! Extend that happiness beyond the database and application development with Chef. Chef enables you to capture your infrastructure as code and automate the provisioning and deployment of MongoDB (and just about any other kind of) servers. In this talk you'll learn some of the basics of Chef and get a glimpse into the Joy of Cooking with Chef.
Lightning Talks
Room M3
Venky Vaddineni; Mike Saparov
- Connecting Healthcare in remote locations (Hospitals, Physicians and Patients) : Venky Vaddineni, CEO/CTO, Sphata Systems
- Powering a New Breed of Apps : Mike Saparov, Director of Engineering, MuleSoft
- MongoDB in Games : Ben Goswami. Kixeye
Building an IRC App on MongoDB: Backups, Monitoring and Ops for a Replicated and Sharded Deployment
Room H
Eliot Horowitz; Shaun Verch
We will explore the various options for backups, go through the rich information available through the monitoring service (MMS), and observe the automated chunk split and automated chunk migration across shards. We will also provoke several failures in the cluster and see how to recover.
Managing Large Scale Data Streams with MongoDB
Room G
Tao Cheng
Managing hundreds of millions of structured data with real time updates is a daunting task by itself. Meshing the data with semantic linking such as trending, clustering, and relationships makes the task even more challenging if not impossible. In this presentation, the author shares why a Document-Oriented database (like Mongo) is a must in such real world projects, and the numerous benefits that come with it. Schema design techniques, trade-offs, query optimization, performance statistics, caveats, and comparisons with other technologies, such as MySQL and SOLR, are discussed.
12:55pm to 1:45pm
Lunch Break
1:45pm to 2:25pm
Data Modeling Examples From the Real World
Room B4 (10gen Dev Track)
Jared Rosoff
In this session, we'll examine schema design insights and trade-offs using real world examples. We'll look at three example applications: building an email inbox, selecting a shard key for a large scale web application, and using MongoDB to store user profiles. From these examples you should leave the session with an idea of the advantages and disadvantages of various approaches to modeling your data in MongoDB. Attendees should be well versed in basic schema design and familiar with concepts in the morning's basic schema design talk. No beginner topics will be covered in this session.
Advanced Sharding Features
Room B5 (10gen Ops Track)
Bernie Hackett
In this session we will take an in-depth look at shard keys and look at multi-data center and tag aware sharding. Attendees should be well versed in basic sharding and familiar with concepts in the morning's basic sharding talk. No beginner topics will be covered in this session
MongoDB for Analytics
Room M1
John Nunemaker
The flexibility of MongoDB makes it perfect for storing analytics. I'll discuss a few patterns for storing data that we have learned while growing Gaug.es from zero to millions of page views a day. You'll leave with a desire to measure everything and the ability to do it.
TBA
Room M3
Real-Time Location Based Social Discovery Using MongoDB
Room H
Fredrik Björk
Banjo offers the ability for users to go anywhere in the world to discover content from social networks like Foursquare, Facebook, Instagram and Twitter. Using MongoDB's geospatial indexing and TTL collections we allow users to see friends, mutual friends and other relevant geo updates in real-time.
Putting 3 Billion Ancestors in Your Pocket: FamilySearch's Journey from RDBMS to MongoDB
Room G
Judson Flamm
FamilySearch, owned by the Church of Jesus Christ of Latter-day Saints, is one of the largest web properties in the family history industry holding over 3 billion vital records and images used to help patrons in discovering their roots. Only the social network Facebook rivals it for sheer amount of data it must parse and serve: The social graph, or lineage graph in this case, poses a very significant Big Data challenge. FamilySearch is curating the family history of mankind, and holds approximately one billion records in a lineage-linked “tree of mankind.” This session will outline why FamilySearch is moving off traditional relational database technology to tackle its family history Big Data problems, and will include a discussion of its process for evaluating MongoDB to significantly increase both the performance and scale of its family tree application. It will also feature an early demonstration of a special “Bumping” application that allows two users to locate where their family trees may have linked up generations ago.
Simplify your MongoDB Java cloud apps with Spring Data
M3
Thomas Risberg
Let Spring Data make developing MongoDB Java cloud applications a lot easier. We'll show you step-by-step how to create a simple application using Spring, Spring Data and MongoDB and deploy it to a Platform as a Service cloud like Cloud Foundry or AppFog. We will also cover in more detail, using code examples, what the Spring data project provides for MongoDB Java developers including object mapping, annotation based mapping metadata, query/criteria/up