Escolar Documentos
Profissional Documentos
Cultura Documentos
February 2013
Table of Contents
E XECU TI V E SU M M A RY What Is MongoDB? Telecoms Adapt to Slow Growth CUS TOM E R C A SE S T U DIE S Outside the Box: Capitalizing on Online Video Shared Experiences: Consumer Cloud Storage as a Way to Reduce Churn Featured Case Study: How 02 Turned Cost into an Opportunity One-Stop Shop: A Universal Product Catalog Across Multiple Channels Small Sensors, Big Data: Building a Machine-to-Machine Platform All in One Place: A True Subscriber Identity Management System Know Your Customer Like Yourself: Customer Sentiment Analysis MongoDB: Speed, Siz e, S tability Resources 1 1 3 3 3 4 4 5 5 6 6 7 8
Executive Summary
With consumers and businesses spending ever more time connected to the Internet, telecoms can expect growing demand for their services. But demand doesnt always translate to profit, as competition, commoditization, operational complexity, and network investment costs threaten to turn telecommunications providers into low-margin dumb pipes. More than perhaps any other industry, telecommunications is disrupted every few years by market-shifting innovations. To compete, telecoms need to develop new services, and to do so rapidly, before their competitive advantage is neutralized. Telecoms need tools that allow them to adapt to changing needs quickly and affordably, with the reliability they expect from their long-lived legacy systems. MongoDB, the leading NoSQL database, allows telecommunication companies to develop new applications quickly and adapt them as needs change. It is highly scalable, perfect for an age in which companies are capturing exponentially increasing volumes of data. And in an environment buffeted by many economic challenges, MongoDBs total cost of ownership can be orders of magnitude less than that of traditional databases like Oracle.1
What is MongoDB?
In traditional relational databases like Oracle and MySQL, data are stored in linked tables organized into rows and columns. Each row is associated with a unique entity, often a customer account, and each column is associated with a field defining an attribute of the account. Separate tables store different types of information about an account (e.g., mailing address, billing history), with common identifiers linking tables together. Schemas, or maps, that diagram these links and define allowable fields are locked in during the database development period, and managed by database administrators (DBAs), who must approve any changes. This approval process creates a bottleneck for developers trying to create and modify applications quickly. MongoDB uses a more flexible data model. A document database, MongoDB allows for varied data types and rapid addition of new fields. While entities in relational databases must pull information from fields in multiple tables, a single MongoDB document can store an entitys entire information. These documents can contain as many or as few fields as necessary. Creating new fields doesnt necessarily require admin-
See the 10Gen White Paper, A Total Cost of Ownership Comparison of MongoDB & Oracle. http://www.10gen.com/sites/default/files/downloads/10gen.TCO%20-%20MongoDB%20vs.%20Oracle.pdf
istrative approval. Developers can create new fields as they create new documents, write a script to add the field to all documents or batch-populate documents with a new field when sending a request to the database. Since new fields can be added ad hoc, MongoDB works well with unstructured, semistructured and polymorphic dataunlike relational databases, which cant easily store different types of data and require data to be structured before they can be mapped. With MongoDB, notes from customer service calls can be stored first, and organized later. Because the documents in MongoDB are similar to the objects used in most modern applications and programming languages, developers find MongoDB easy to work with. Documents are described in the Javascript Object Notation (JSON) format, familiar to users of Javascript. Developers dont have to spend much time learning MongoDBs syntax, or mapping their application structure to the database structure. This contrasts sharply with relational databases. For relational databases, developers and database administrators must ensure that their database schemas are aligned across three layers: the application, the application-database interface (object-relational map, or ORM) and the database itself. The need to create and maintain three separate, but consistent, data maps creates administrative drag. With MongoDB, there is no need for separate data maps or approval processes for creating new fields. Developers can create new applications rapidly, and revise and enhance them quickly. The volume of data created by popular social, mobile and video applications is immense. As relational database deployments reach their processing and storage limits, companies are faced with the expensive and complex task of upgrading their purpose-built servers and storage area networks (SANs). Upgrading servers often means several hours or even days of downtime. MongoDB, however, allows companies to expand their processing power and storage capacity easily across multiple off-the-shelf machines, on-site or in the cloud, with no downtime. With MongoDB, large databases can be partitioned into groups of documents, known as shards. These shards are distributed across different machines, with both processing and storage occurring separately from
the original server. Machines can be simple commodity servers found in cloud services like Amazons EC2. No expensive purpose-built hardware needs to be upgraded or replaced. Companies can therefore quickly and cost-effectively scale their applications in response to demand, and easily re-deploy system resources as needs change. Sharding brings performance benefits as well, as companies can place groups of documents on machines closer to the geographic source of those documents so, for example, customers in a particular region can access their user information more quickly. MongoDB provides many of the features that will be familiar to users accustomed to relational databases. MongoDB uses a rich query language for searching the database and supports indexing of documents on secondary fields. MongoDB provides an interface for interacting directly with the database, and drivers for most popular programming languages, including Java, C++, C#, PHP and Python. To provide the high level of uptime that users expect from relational databases, MongoDB supports the automated replication of database shards on up to 14 back-up servers and automated failover to back-ups when primary servers fail. With users as varied as Viber, Disney and Cisco, MongoDB has proven its versatility as a generalpurpose database. Unlike some other NoSQL databases, MongoDB allows analytics tools to record and analyze changes to the database in real-time. There is none of the lag-time associated with batch processing tools like Hadoop. MongoDB can be used with a diverse set of applications, from content management to data mining, allowing developers to focus their time on application development, rather than database maintenance and schema updates. With its flexible, simple and developer-friendly data model, MongoDB empowers organizations to be agile, to act like startups. They can get new applications to market quickly, and revise, upgrade and expand them as needs evolve. In many companies, administrators of relational databases limit the number of changes that can be made to the database structure to one or two times per year. With MongoDB, theres no need for such limits.
viewing permissions, location data and timestamps. Because adding new fields to the previous relational database system was such a time-consuming process, much of this type of data was previously stored in text form or discarded. MongoDB, however, can automatically turn this data into new fields, so users can see where and when their photos or videos were taken. By tying document storage to mobile subscriptions, the operator increases the stickiness of its paid service and defends against churn in a market threatened by increasing competition. Improving the available features allows the operator to keep pace with standalone consumer cloud storage sites like Dropbox, social networking sites and online photo album services.
Deals are delivered by location, so its quick and easy to find the offers and experiences they want. -Andrew Pattinson, O2
Resources
MongoDB Downloads Free Online Training Webinars and Events White Papers Case Studies Presentations Documentation Additional Info www.mongodb.org/downloads education.10gen.com www.10gen.com/events www.10gen.com/white-papers www.10gen.com/customers www.10gen.com/presentations docs.mongodb.org info@10gen.com
For more information on 10gen and MongoDB, please visit www.10gen.com and www.mongodb.org.
New York Palo Alto Washington, D.C. London Dublin Barcelona Sydney US (646) 237-8815 INTL (650) 440-4474 info@10gen.com
Copyright 2013 10gen, Inc. All Rights Reserved.