A New Application for the Management of the MongoDB Servers

A New Application for the Management of the MongoDB Servers

Tudorica Bogdan George (Department of Modelling, Economic Analysis and Statistics, Petroleum-Gas University of Ploiesti, Ploiesti Romania & The Bucharest University of Economic Studies, Bucharest, Romania)
Copyright: © 2013 |Pages: 14
DOI: 10.4018/ijsem.2013070105
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

The application presented in the following subsections intends to cover one of the noticeable gaps of the NoSQL domain, namely the relative lack of working tools and systems administration for new large data storage systems. Following the comparative analysis of the NoSQL solutions on the market, the MongoDB system was chosen as target application for this step of development, for reasons mainly related to proven performance, flexibility, market presence already in place and ease of use.
Article Preview

Application Design: Targeted Features

MongoDB is a NoSQL database system which has the following characteristics (data presented below are taken from a recent paper of the author):

  • MongoDB is a fast and scalable database: The data is stored as documents, which allows the representation of the complex relationships in a single article. Documents can be composed of individual fields with fundamental data types, included documents or document vectors. This flexibility allows a developer to model a wide range of problems in a flexible manner without resorting to breaking up data in several tables. For cases where data cannot be modeled as a single document, MongoDB introduces the concept of DBRef, which is a pointer from a field in a document to another document;

  • Extracting and querying data in MongoDB is flexible: The documents can be queried dynamically based on the main document, on any field in the document, on any included document, or any document included in a document vector.

Written in C + +, MongoDB features the following:

  • Storage-oriented documents (using the power and flexibility of the JSON type data schemes);

  • Included objects, embedded vectors, geospatial information;

  • Dynamic Queries;

  • Support for indexes, including secondary indexes;

  • Fast updates of data;

  • Efficient storage of large binary objects (photos, videos);

  • Support for replication and system failure;

  • Auto-sharding (auto-partitioning) for scalability;

  • MapReduce for complex aggregation;

  • Commercial support, consulting and training.

MongoDB is licensed under a GNU license; the source code can be compiled on any operating system. It can be installed as an executable binary Linux, MacOS X, Windows and Solaris. The system runs as a daemon process mongod - core database server that can be accessed by drivers.

Partitioning and routing are performed via the mongos service. Drivers for server access are available for a variety of programming languages currently supported: C, C + +, C # &. NET, ColdFusion, Erlang, Factor, Java, Javascript, PHP, Python, Ruby, Perl.

MongoBD can be run in two modes depending on the application needs. The first way is “single master” where there is only one master server for all write operations. Read operations can be executed on the master server or client on any number of servers (slave).

For applications where the amount of data is large and the frequency of writing operations is high an auto-partition (auto-sharding) mode is used. In this mode, write operations are distributed automatically between partitions (shard - a database server or a database server group), each executing operations to read / write a piece of data.

Accessibility is achieved by replicating data across multiple MongoDB nodes, any of them being able to take the role of master at a time.

MongoDB also provides features that go beyond basic operations for databases. For example, it provides a good solution to store small and large files together in the database. Files are automatically divided into pieces. If MongoDB is running in a self-sharded environment, pieces of files are also replicated on multiple servers.

Storing files is a very difficult problem to solve effectively, especially when managing a large number of files. Saving files to the local system is seldom a good solution. MongoDB solves this problem by creating two internal collections: a collection of images that retains information about files metadata and a collection of partitions that store information about file partitions.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 6: 4 Issues (2017)
Volume 5: 4 Issues (2016)
Volume 4: 4 Issues (2015)
Volume 3: 4 Issues (2014)
Volume 2: 4 Issues (2013)
Volume 1: 4 Issues (2012)
View Complete Journal Contents Listing