MongoDB Handles Masses Of Data

The merits of MongoDB, a NoSQL database management system, are detailed by its CEO.

Charles Babcock, Editor at Large, Cloud

April 30, 2010

3 Min Read

MongoDB is one of the new class of NoSQL database management systems used for sorting and managing masses of data on high traffic Web sites, in online games, and in search engines.

Dwight Merriman, CEO of 10gen, a company formed to provide technical support for MongoDB, told InformationWeek as his company launched March 29: "We don't think this is going to be a small niche. We think it's going to creep out into the enterprise." The Web site is now seeing 30,000 downloads of the system a month, "up from zero" a few months ago, Merriman said.

The system gets its name as an extract from the adjective, humongous, and it admittedly sacrifices some precision for the ability to scale up and deal with masses of data fast. "You do not do complex financial transactions such as bond trading" with it, he said during one of the opening technical sessions of the MondoDB Conference in San Francisco's financial district.

The NoSQL systems go by different labels, but both MongoDB and CouchDB are known as document-oriented databases. That doesn't mean they literally store text documents so much as structured data in JSON or JavaScript Object Notation, an alternative to XML.

JSON is a lightweight, text based standard for exchanging data in a human-readable form. Simple JSON data structures are called objects, and may consist of a variety of data types, including integers, strings, arrays, dates, objects and bytearrays.

A document-oriented database is different from a relational database in that it stores data in an organized file -- a document -- not a row. A set of documents is known as a collection in MongoDB, while a set of rows is known as a table in a relational system.

At the same time, their operations are similar. A relational system uses Select, Insert, Update and Delete as operations on the data in the table. A document-oriented system uses Query, Insert, Update and Remove for equivalent operations.

Objects in MongoDB are limited to a maximum of four megabytes but the number of objects is unlimited. MongoDB can maintain a speed of operation by speading itself over a large server cluster. As the database grows in size, servers can be added to the cluster.

Tony Tam, VP of engineering at Wordnik, a project that collects definitions and information about all words, said his firm had five billion documents or 1.5 terabytes of data in a MySQL database and migrated it a month ago to MongoDB to assure its continued operation.

Tam said Wordnik kept "hitting bumps in the road" when it came to adding updates to MySQL, such as 10 second freezes of tables. Two hundred new words come into existence everyday and Wordnik is collecting and trying to add 1,500 examples of word usage to its system a second. "We kind of don't care about consistency," Tam said, meaning not every read of the database has to have the most recent update committed a millisecond ago.

The Wordnik system functions as a giant online dictionary as well as for other uses and executes 10,000 reads for every write. With MongoDB, Wordnik can keep adding data at a high rate and manage it without worrying about the system choking, he told a technical session, "Wordnik: From MySQL to MongoDB." His firm migrated from MySQL in a daylong data transfer from one system to the other.

About the Author(s)

Charles Babcock

Editor at Large, Cloud

Charles Babcock is an editor-at-large for InformationWeek and author of Management Strategies for the Cloud Revolution, a McGraw-Hill book. He is the former editor-in-chief of Digital News, former software editor of Computerworld and former technology editor of Interactive Week. He is a graduate of Syracuse University where he obtained a bachelor's degree in journalism. He joined the publication in 2003.

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like

More Insights