10gen

Creators of MongoDB

permalink

As developers get started with MongoDB, one of the initial challenges is figuring out how to best model data. On the user forum and at our events, the community is asking lots of schema design questions.

We need you to share your expertise! We want to hear stories on how you’ve modeled data in your MongoDB app, what tradeoffs you made, and the insights that you’ve had. This is an opportunity for the community to learn about schema design from real world examples.

Contest Rules

Write a detailed blog post on your personal or company blog about how you designed the schema for your application. Write your answer for a technical audience, because 10gen engineers will be picking the winner.

Once complete, submit a link to your blog post in the comments section of this post by Tuesday, June 5th. We’ll announce the winner shortly thereafter. Please also tweet it out with the #mongodb hashtag!

Contest Prizes

Grand Prize

Honorable Mention

  • All participants receive a MongoDB t-shirt
  • Expect many of the best posts to be tweeted out from @mongodb!
permalink

This is the first in a 4-part series by Grant Shipley, Cloud Evangelist for Red Hat’s OpenShift Platform-as-a-service. Grant’s series will cover the development of “Beershift”, a mobile app for iPhone and Android built using Titanium, OpenShift and MongoDB. MongoDB makes a great companion to this mobile application given its ability to shard store JSON documents with little data manipulation required.  In this blog post, we will go over the background of the application and discuss the features we plan to build.

Background:

I started developing iOS based applications shortly after the arrival of the iPhone on the market.  Having been a Java and PHP developer for my entire career, switching to objective-c was a tough challenge for me.  I had to remember basic programming methodologies and patterns that I haven’t used since college. 

It took me nearly two months of work at the cadence of 30-40 hours per week to build my first iOS application. To my delight, after releasing the application, the market for the application was larger that I had anticipated. Users were writing great reviews and requesting more features.

Shortly after releasing my first iOS based application, Google decided to enter the smartphone market with their android based sdk and devices. This should have been great news for most software developers but for me, a part time mobile developer, it wasn’t. I now had users requesting my application for android devices as well as for the new iPad and other tablets that were hitting the market. I didn’t have the free time to port my application to the android sdk as it would have required another two months of software development as well as maintaining two separate code streams for patches and updates.

About 8 months ago, I heard about a company called Appcelerator and their Titanium SDK.  This SDK would allow me to code using javascript but target native UI controls for an array of devices.  This sounded like heaven as most of the applications that I write are productivity or novelty based applications that don’t rely heavily on 3D graphics.  I set out to learn the titanium SDK and was able to develop the BeerShift sample application over a period of two days.

 About BeerShift:

At OpenShift, we enjoy local craft beers and the social aspects of having a pint while discussing the latest trends in software development and deployment.  One night, over a pint, we thought it would be cool if we could quickly read a description of the beer and brewery before ordering.  We kept discussing the app and of course feature creep started setting in. By the end of the night, we decided to develop a mobile-based application that would allow a user to search for beers, and then log when and where they drank it.  Because the team was split between using iOS and Android based phones, we needed it to work on both devices and sync the information via a backend service.  Of course, all of this had to be available via the web as well.

This was a great opportunity for me to learn Titanium so I set out to develop the application.  The biggest unknown was where to get a freely available database of beers that I could search.  I researched this question and did some google searching but didn’t really come up with any providers that met my needs.  Luckily, while speaking at a PHP Users Group in Raleigh, NC, I met a couple of guys who owned a startup called brewerydb.com.  With their growing repository of beers and breweries, it had all of the information that I needed in order to develop the sample app.  I invited them out for a pint after the user group and we discussed the details.  A few days later I had an API key and was ready to get my Titanium Javascript on.

Want a quick preview of what we will be building?  Check out the video showing the application.

BeerShift has a tabbed based UI that consists for 4 main screens.  Drink, Drank, Kegstand, and Settings.

The settings tab presents the user with username and password input fields.  If the username does not exist in the MongoDB database, the user will be prompted if they want to create a new user.

The drink tab is the heart of the application.  This tab allows the uses to enter in a beer name and will return a result of all beers and breweries that match the search string.  The results are retrieved via a REST API call to the openshift server and presented to the user in a table view.  The user can select a a beer from the list and then select to “Drink It”.

Once the user has decided to log drinking a beer, the drinking event will be recorded on both the drank tab and the keg stand tab.

The keg stand tab will allow the user of the application to view the 50 most recent beers drank by any user of the application.

In the next blog post of this series, I will detail the installation of applications and tools needed to begin with development of the BeerShift application.

Source Code:

All of the source code for this application, including the backend REST API and MongoDB integration, is available on github.com/gshipley

permalink
Hey everyone. Here’s what’s going on in the MongoDB world. 

News
  • Know some MongoDB ninjas? We’re accepting more Masters into our MongoDB Masters program for stellar MongoDB contributors, evangelists and community members. Submit your nominations here by June 15 
  • Open Source Hack Contest: Submit your open source hack by May 31 and enter for a chance to win a free ticket to OSCON. Check out the guidelines and submit here

Webinars

Learn More

Upcoming MongoDB Events 

huMONGOus things from Github: 
  • Mongo-Express: Web-based MongoDB admin interface, written with Node.js and express
  • Speakeasy: File sharing for the paranoid

Other Reading:

Got some MongoDB news you’d like to share in the next update? Send it over

permalink

This is a guest post by James Chesters, Community Manager for Skills Matter 

MongoDB blew through London last week like an Oxfordshire twister — bringing talks and a practical tutorial to the community. Skills Matter’s Progressive NOSQL Tutorials offered three days of NOSQL talks and hands-on workshops, and wearing the MongoDB mantle was 10gen’s own Chris Harris, along with David Mytton of Server Density.

Chris Harris presented on MongoDB and Document Databases, answering burning questions like “What is a document database?” “Why was MongoDB created?” and “Why did they call it that?” before moving on to schema design, JSON and how MongoDB can scale with your application needs.

You can watch the full video on the Skills Matter site.

David Mytton — founder of Server Density and an organiser of the popular London MongoDB User Group — presented on MongoDB performance at scale. David discussed important deployment considerations, including how to scale reads and writes, bottlenecks (and how to resolve them) and how to deploy redundantly across clusters of machines. You can watch the full video here

On top of the talks, Chris Harris also delivered a shining and practical MongoDB tutorial, walking through how one can building a simple location-based checkin application using MongoDB. Check it out here.

MongoDB UK: June 20th The MongoDB community in London continues to gather momentum — and you should become a part of it! MongoDB UK comes to the capital on June 20th — and we want to hear your MongoDB experiences: submit a proposal by tomorrow, May 15th, or enjoy the talks as an attendee, and get your early bird ticket. Early bird prices end today, so take advantage of the reduced prices before it’s too late! 

MongoDB UK this year will feature 5 tracks, featuring the excellent talks from 10gen engineers and MongoDB community that you’ve come to expect — and this year there is the added opportunity to book a slot to talk to the 10gen experts. Just sign up before the conference to get a 15-minute slot with a 10gen team member.

London MongoDB User Group: May 29th Have you joined the London MongoDB User Group yet? The next meeting is May 29th at the shiny new Google Campus in Shoreditch — and will feature lightning talks on a variety of topics. This is your chance to share in a friendly and supportive community your MongoDB project, or you can talk for a few minutes about something you have learned using MongoDB.

Come join the fun: RSVP here, and let us know if you’d like to give a lightning talk! 

permalink

With just two weeks to go, MongoNYC is coming up fast. With four tracks and over 50 sessions, you’ll have a lot to choose from at the event. Here are some tips to help you get prepared—and excited—for the event on May 23rd.

1. Schedule an “Ask the Experts” Session

MongoDB days are an excellent opportunity to speak with MongoDB’s core contributors who remain the foremost experts on the database. At MongoNYC, we’ll be hosting “Ask the Experts” sessions to offer you specialized, 15 minute sessions with 10gen’s engineers. Spots are limited so sign up now before the conference. Email jackie@10gen.com to reserve your slot.

2. Sign up for a seat in the Build an IRC Service with MongoDB

Reserve your seat now for this this interactive session. You can follow along as 10gen’s CTO and co-founder, Eliot Horowitz, walks you through building an IRC service using MongoDB. This is a half-day track the morning of MongoNYC and is a great opportunity to learn about important concepts in MongoDB. Attendees who pre-register for this session will get a reserved seat at a table with power supply. Email us to reserve your seat.

3. Download GuideBook App

MongoNYC has gone mobile!Using Guidebook App, you can view the MongoNYC schedule, maps, twitter, alerts, more on your iPhone/Android. Visit the MongoNYC Guidebook page to download the app.

4. Review the agenda and plan your day

With multiple tracks and 40+ sessions, there is a lot to experience at MongoNYC. Don’t wait until you are sitting in the audience at the keynote to look at the agenda. Plan your day now. Get the most out of the conference sessions and networking opportunities. Most importantly, make sure to leave time for the after-party.

MongoNYC Agenda

5. Update your social network

Now that you know what you are doing on the 23rd, let your friends know too. Find your friends and make new ones with Qrious. Tweet about your attendance using the #mongonyc hashtag, add the MongoNYC event to your LinkedIn profile, and don’t forget to check-in on foursquare while you’re there!

Enjoy your day at MongoNYC! If you haven’t signed up yet, get your tickets now. 

permalink

http://www.10gen.com/events/NYC-MongoDB-Hackathon

In April, 10gen pledged $1 for every MongoNYC ticket sold to HackNY to help further its mission of bringing tech talent in New York City. To amplify our contribution to HackNY, 10gen along with the Prince Building Tech Talks, will be hosting a fundraiser for HackNY at foursquare on Thursday May 16. At the event, we will host future HackNY fellows and celebrate New York City tech. It’s not too late to sign up and show your commitment to New York City tech. 

permalink

This past Friday, 10gen hosted the 3rd annual MongoSF at the Mission Bay Conference Center. MongoSF featured over 1,000 attendees and over 50 presentations from 10gen engineers and production users such as Stripe, Github, Jetlore, eBay, Wordnik, and Craigslist.

10gen CEO and MongoDB core contributor Dwight Merriman greeted the crowd for the opening Keynote and offered a session on MongoDB 2.2 internals

May 4, 2012 - 02

Thanks to our partners Joyent, Red Hat’s OpenShift, Ubuntu from Canonical, CloudFoundry, MongoHQ, MongoLab, Virident, Zuberance, Appfog, RightScale and Bizo for their continual support and great presence at MongoSF. 

May 4, 2012 - 77

We look forward to seeing you next year at MongoSF 2013. All presentations and videos are available on the 10gen site. 

DSC_7502

permalink
Hey everyone. Here’s what’s going on in the MongoDB world. 

News

Webinars

MongoDB Events Next Week

MongoDB Reading

Got some MongoDB news you’d like to share in the next update? Send it over

permalink

This is a guest post by Mark Baker, Product Manager, Ubuntu Server at Canonical

April sees the release of Ubuntu 12.04 LTS. This is a Long Term Support Release, which means that support and updates will be provided free of charge for 5 years from launch. The new release will feature improved deployment of MongoDB on Ubuntu. 

The 12.04 represents a juncture in the switch to new technologies. Since 10.04, the last LTS release, the technology world has changed enormously. Two years ago, cloud was something that people had heard about and were starting to investigate. NoSQL and Big Data technologies were known only to a small number of users. Now, however, most organisations have a strategy around making best use of both NoSQL, Big Data and the cloud, often together. Ubuntu Server 12.04 LTS is a platform optimized for organisations taking advantage of these new technologies, and through our work with 10gen, we now have better internal integration of MongoDB.

This release includes many feature updates for MongoDB users, such as a 3.2 kernel, dynamic writeback throttling and I/O-less dirty throttling and reducing filesystem writeback from page reclaim to improve performance. For us the key improvement for Mongo users is in the deployment and management of Mongo on Ubuntu. Deploying and managing replica sets, either on server or in cloud, are now easier than ever, thanks to a service orchestration tool called Juju.

Juju uses config files called a charms and we have worked with 10gen to create an example charm for Mongo deployment. The example is a bash script, but it can could be written in pretty much any language that can be interpreted by Ubuntu. You can even use your Puppet or Chef syntax if you like. Take a look at the sample charm using the Charm Browser. If you are deploying Mongo, we really believe that Ubuntu 12.04 LTS is the best platform for you. Go ahead, give it a go

-Mark Baker

permalink

We’re excited to announce that 10gen has been profiled in Gartner’s “Cool Vendors in Information Infrastructure and Big Data, 2012 report” (April 2012).

This year’s report, authored by analysts Merv Adrian, Donald Feinberg and W. Roy Schulte, draws attention to the key emerging vendors in information infrastructure who are tackling various aspects of “big data”.  Gartner identifies MongoDB’s high-performance features as the right solution for “CIOs, IT architects, and developers looking for agile development and flexible schema design that enhances developer productivity”.

10gen President Max Scherison comments: “We consider our inclusion in the Cool Vendor report by Gartner confirmation of our mission to provide cutting edge NoSQL database technology to customers developing innovative large-scale applications and performing real-time ‘big data analytics.’”

According to Gartner, NoSQL databases continue to be valuable for organizations looking to scale out cloud and on premise uses of numerous content types. Merv Adrian praises MongoDB for its unique feature set, including flexible schema, full consistency, ‘no-downtime auto-sharding’, replica sets, and more.

For more information read the full press release. We will be posting Gartner’s Cool Vendor report within the next week.

The 10gen Blog on MongoDB and NoSQL RSS

10gen provides commercial support, training, and other services for MongoDB.

Developers at 10gen began the MongoDB project and continue to be the foremost experts in the world.

Archive

Download MongoDB

Download the latest stable releases, or new nightly builds.

Download MongoDB