MongoDB Berlin 2013

MongoDB Berlin 2013

February 26th

MongoDB Berlin is an annual one-day conference in Berlin, Germany, dedicated to the open source, non-relational database MongoDB.

At MongoDB Berlin, you can expect to hear from 10gen engineers who have contributed to the product, learn about the core concepts of using MongoDB, and hear about exciting new features in our most recent release, MongoDB 2.4. You'll also hear and learn from local customers and community members from across Germany and Europe, and have a chance to meet with solutions and service providers in our expo hall.

Hashtag

Follow the #MongoDBDays hashtag to stay up-to-date on all things related to MongoDB Berlin.

Ask the Experts

At MongoDB Berlin, we're hosting office hours for anyone who wants to ask a 10gen engineer a question directly. Sign up is on site and is first come, first serve, and time is limited to 15 minutes per attendee.

Choose your language

Talks at MongoDB Berlin will be offered in both English and German. Want to know which is which? Look for the (DE) abbreviation after the talk title to identify the presentations in Deutsche. As well as including two native German speakers, 10gen's experts are also fluent in English.

Want more MongoDB? Sign up for a Workshop on Feb 25th

We are offering two in-depth, hands-on MongoDB workshops a day before MongoDB Berlin. These workshops are perfect for jump starting your knowledge and use of MongoDB. Each session is led by a 10gen engineer and limited to 15 students to ensure each student receives individual attention from a MongoDB expert. In addition, all workshop attendees are invited to attend the free interactive lab presented by OpenShift during the lunch break.

Workshop tickets include admission to the conference on February 26th. For more information, review the full schedule.

Admission

Admission price includes t shirts, coffee mugs, books, breakfast, lunch, refreshments throughout the day, and the admission to the conference After Party.

Skip to Details

Schedule

Registration and Coffee

Registration and Name Tag pick up will be held in the foyer of B.01, and coffee will be served in B.01

Welcome

Joe Morrissey, VP EMEA, MongoDB

Coffee Break

The Coffee Break will be held in Room B.01

Lunch

Lunch will be held in Room B.01

Coffee Break

The Coffee Break will be held in Room B.01

MongoDB Roadmap

Christian Kvalheim, Software Engineer, MongoDB

Please join us to learn about exciting new features, immediately to be followed by a cocktail reception. This session will be held in C.01

Cocktail Hour

Please join us for refreshments and networking after the conference in room B.01

C.01 B.05 B.09
8:00am - 9:15am
9:20am - 9:45am
9:50am - 10:30am

Building Your First App with MongoDB

Thomas Rueckstiess, Technical Services Engineer, MongoDB

This talk will introduce the philosophy and features of the open source, NoSQL MongoDB. We’ll discuss the benefits of the document-based data model that MongoDB offers by walking through how one can build a simple app to store books. We’ll cover inserting, updating, and querying the database of books.

MongoDB Internals

Christian Kvalheim, Software Engineer, MongoDB

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.

MongoDB For Official Documents in Bavaria (DE)

Christian Brensing, Senior Developer, State of Bavaria

The Bavarian government runs a document template application (RTF or ODF with Groovy, Python, Ruby or Tcl as scripting language) serving different government offices. Having complex and hierarchical data structures to organize the templates, MongoDB was selected to replace the Oracle-based persistence layer. In this talk you will hear about the improvements we have achieved with the migration to MongoDB, problems we had to solve underway and unit testing of the persistence layer in order to keep our quality level.

10:35am - 11:15am

Schema Design (DE)

Marc Schwering, Solutions Architect, MongoDB

MongoDB’s basic unit of storage is a document. Documents can represent rich, schema-free data structures, meaning that we have several viable alternatives to the normalized, relational model. In this talk, we’ll discuss the tradeoff of various data modeling strategies in MongoDB using a library as a sample application. You will learn how to work with documents, evolve your schema, and common schema design patterns.

Deployment Preparedness

Ross Lawley, Software Engineer, MongoDB

The last bugs are finished, testing is complete, and business is ready. What do you do next? In this talk we will cover the topics to ensure that you are prepared for a successful launch of your MongoDB based product, including: • Key counters and metrics: Page Faulting? IO Bound? What's my working set? How do I know? • Load Testing and Capacity Planning: How much resource is my MongoDB going to use? When do I need to add replicas and shards? • Monitoring: What should I be watching and how do I know if things are running correctly? We will map the theory to the practice by illustrating with real world examples.

JSON All Over

Dr. Gerd Jungbluth, Director, Engawa

This talk is about MongoDB and Node.js as a perfect match for modern, efficient web development. Without any need to switch the mindset, JSON (as data format) and JavaScript (as programming language) are used through all the layers of web apps. The main topics are: Short intro to JavaScript How to connect Node.js and MongoDB JSON all over Short intro to JavaScript Get started with Node.js How to connect Node.js and MongoDB Examples

11:15am - 11:30am
11:30am - 12:10pm

Replication (DE)

Marc Schwering, Solutions Architect, MongoDB

In this session we will introduce the concepts around replica sets in MongoDB, which provide automated failover and recovery of nodes. You’ll learn how to set up, configure, and develop with replica sets, and how to tune consistency and durability according to your application’s requirements. We’ll also review common deployment scenarios. The Welcome will be held in room C.01

Chat in Space

Benjamin Paillereau, Product Manager, eXo Platform

In this talk, I will introduce how easily and efficient it is to use MongoDB for a Chat application. To go one step further, we will discuss how you can leverage the simplicity of MongoDB to store your data in the Cloud using MongoHQ service.

Bringing Spatial Love to Your Application

Marek Jelen, Red Hat

You have seen the stuff that FourSquare has done with spatial and you want some of that hotness for your app. But, where to start? Have no fear - by the end of this session you will have all the pieces necessary to write your own location based app. The OpenShift platform already has MongoDB plus the spatial bits installed, so there is no need to find a VPS or convince your OPs staff to install stuff. What's OpenShift? It's Red Hat's free auto-scaling Platform as a Service. This session will start with a quick intro on firing up an OpenShift instance with MongoDB. Then we will load and query spatial data to and from MongoDB using simple Ruby web application. When you go home you will be able to amaze your friends and supervisors with some spatial magic goodness you can control.

12:15pm - 12:55pm

Sharding

Sam Weaver, Solutions Architect, MongoDB

MongoDB was designed for humongous amounts of data, with the ability to scale horizontally via sharding. In this session, we’ll look at MongoDB’s approach to partitioning data, and the architecture of a sharded system. We’ll walk you through configuration of a sharded system, and look at how data is balanced across servers and requests are routed.

MongoDB and Node.js

Christian Kvalheim, Software Engineer, MongoDB

How does node.js work? And why is mongodb and node.js such a great combination? In this session, 10gen's Node.js evangelist, Christian Kvalheim, will take you through the core concepts of the driver and where its functionality differs from other MongoDB drivers.

Java Persistence Frameworks for MongoDB

Tobias Trelle, Senior IT Consultant, CodeCentric AG

After a short introduction to the MongoDB Java driver we'll have a detailed look at higher level persistence frameworks like Morphia and Spring Data MongoDB with lots of examples.

12:55pm - 1:45pm
1:45pm - 2:25pm

Optimising for Performance, Scale & Analytics

David Mytton, Server Density

MongoDB is easy to download and run locally but requires some thought and further understanding when deploying to production. At scale, schema design, indexes and query patterns really matter. So does data structure on disk, sharding, replication and data centre awareness. This talk will examine these factors in the context of analytics, and more generally, to help you optimise MongoDB for any scale.

MongoDB for Java Developer: Schema Evolution and Schema Maintenance - What They Did Withhold.

Timmo Gierke, Head Architect, Hypoport AG

MongoDB has arrived in the industry and runs for years in production systems now. But schema evolution and schema maintenance is neccessary. In his talk, Timmo will present solutions for (Java) Developers to get theire data into MongoDB and make data migration explicit, straight-forward and testable. You will learn: - how to map your Java domain model to a schema - how you can support model and schema evolution - that TDD is very easy with MongoDB - why MongoDB supports continuous deployment

Ask the Experts

We're hosting office hours for anyone who wants to ask a 10gen engineer a question directly. Sign up is on site and is first come, first serve, and time is limited to 15 minutes per attendee. We will be hosting this session in room B.01

2:30pm - 3:10pm

Sharding - Hands On

Stefan Rudnitzki, Software Developer, searchmetrics GMBH

Within this talk the powerful combination of Puppet and Vagrant is used to create MongoDB sharding setups for testing purposes. This allows the developers to test their sharding keys with real testdata to check their assumptions before they use it in their live systems. Therefore an easy to use example setup will be shown, combined with different experiences running such a sharded setup. The background of this talk was part of our MongoDB user group Berlin meetings.

Indexing and Query Optimization

Thomas Rueckstiess, Technical Services Engineer, MongoDB

Having the right indexes in place are crucial to performance in MongoDB. In this talk, we’ll explain how indexes work and the various indexing options. We’ll talk about the tools available to optimize your queries and avoid common pitfalls. Throughout the session, we’ll reference real-world examples to demonstrate the importance of proper indexing.

Ask The Experts

We're hosting office hours for anyone who wants to ask a 10gen engineer a question directly. Sign up is on site and is first come, first serve, and time is limited to 15 minutes per attendee. This session will be hosted in room B.01

3:15pm - 3:30pm
3:30pm - 4:10pm

Data Processing and Aggregation

Ross Lawley, Software Engineer, MongoDB

In version 2.2, we introduced a new framework for aggregating data to complement MongoDB’s built-in map/reduce capabilities. The aggregation framework makes it simple to do tasks such as counting, averaging, and finding minima or maxima while grouping by keys in a collection. After introducing the syntax and usage patterns for the new aggregation system, we will give some demonstrations of aggregation using the new system.

Software Tests with MongoDB

Johannes Hoppe

Quality matters. That’s why we write software tests. They give us confidence to release complex business applications. In a schema-free world they are going to be our escape rope! This talk introduces some Unit Testing principles and separates them from Integration Tests. We will see how other databases solve common problems and how we can archive the same with MongoDB. Of course, you can expect some Test Driven Development (TDD).

Upload Files to MongoDB GridFS with Symfony2 and Combine Them with ORM Entities

Dennis Coorn, Applicatie ontwikkelaar, IPPZ B.V

IPPZ develops an online platform for patients and practitioners in mental healthcare, child welfare and general healthcare. Patients can login to a secure environment and work on their treatment assignments, daily recordings and they stay in touch with their therapist through a mailbox. We therefore have to deal with very privacy-sensitive data. We recently spent a few iterations working on a new mailbox feature that provides transferring files by uploading attachments. We have chosen for GridFS to ensure that the files are being uploaded fast, are easily manageable and above all stored safely. The MongoDB GridFS specification offers you the ability to save files in MongoDB, no matter how large. In this presentation I will explain how you can save an uploaded file directly to GridFS with Symfony2, and how you can combine the ODM document seamlessly with an ORM entity.

4:15pm - 4:55pm

Advanced Sharding Features

Sam Weaver, Solutions Architect, MongoDB

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.

Event Streaming & Message Queueing with MongoDB

Adam Warski, CTO, SoftwareMill

In one project that I am currently working on [1], we are using MongoDB as the main database. However, apart from traditional usage for storing documents or user data, we're also using it for other purposes, two of which I'd like to describe in this presentation. Firstly, Mongo serves as our replicated message queue. The queue is very simple and supports only basic operations, but meets our needs well. It has semantics similar to Amazon SQS [2]. The crucial features of MongoDB that we have used here are find-and-modify operations and replica sets. I'll explain in detail how the queue is implemented and what are its characteristics. Secondly, we use Mongo for storing events and streaming them to other components (e.g. for reporting purposes). The event streaming is implemented without active pooling, so events are passed for further processing as soon as they are written; on the other hand, the events are batched, so even under high load, the system still performs well. The Mongo features that make this possible are capped collections and tailable cursors. Again, I'll show how to implement such a solution, taking into account the specifics of the Mongo Java driver. Of course the question arises - why not use dedicated solutions? An important aspect here is devops - setting up the servers, deploying the application and managing the infrastructure is easier with just one database. Same for the development environment. Plus we have to deal with fewer external components, which lets us focus on the business problem, instead of focusing on the infrastructure. [1] www.softwaremill.com [2] aws.amazon.com/sqs/

Building an Online-Recommendation Engine with MongoDB

Bernd Zuther, comSysto GmbH; Cindy Lamm, Data Scientist, comSysto GmbH

Mario, a famous munich pizza baker, has an online shop based on MongoDB. Marios current goal is to increase his cross- and up selling rate. He hired a statistician and built an online recommendation engine with MongoDB. This talk will show how to build an online recommendation engine based on MongoDB and Apache Mahout. Therefore we will show which recommenders must be built to increase the cross- and up selling rate and how his recommenders can be integrated in Mario's shop infrastructure. Finally a realtime dashboard will be shown to verify the effectiveness of recommenders.

5:00pm - 5:20pm
5:20pm - 6:30pm

Location

bcc Berliner Congress Center GmbH

Alexanderstr. 11
10178 Berlin
Germany

» Get Detailed Map and Directions