Perspectives on a Big Data Application What Databa
Engineering, Technology & Applied Science Research Vol. 5, No. 5, 2015, 850-853 852 www.etasr.com Erturk and Jyoti: Perspectives on a Big Data Application: What Database Engineers and IT Students… This is a cloud based tool, and does not require an installation.
MMS offers a sophisticated database backup service, and can
monitor up to thousands of online database deployments [7].
The second important area for learning MongoDB involves
the storage concepts and terminology. Most trainees will
already be familiar with relational database concepts and terms;
therefore a good approach would be to explain to them the
corresponding MongoDB terms along with the similarities and
differences. As seen in Figures 3 and 4, a MongoDB database
is made up of collections, which may be viewed as two
dimensional tables. On the other hand, given a similar business
domain, relational database structures necessitate the creation
of multiple tables to represent the data whereas the same design
can be done with fewer collections in MongoDB. Not having to
create joining tables for many-to-many relationships and
handling one-to-many relationships within the same collection
with are examples of reasons for this. Each MongoDB
document is similar to an SQL row; however MongoDB’s
BSON (binary java script object notation) document format
provides recursive functionality and allows more efficient
database scanning.
Fig. 3.
Viewing sample data from MongoDB.
Fig. 4.
MongoDB structure vs traditional SQL.
Learning the syntax is essential for creating a MongoDB
database. Advanced students and database professionals are
already proficient in programming with SQL using relational
database applications, e.g. Microsoft SQL Server or MySQL.
Figures 5 and 6 compare statements in SQL versus MongoDB.
In the case of an INSERT command that creates new data
records, the mapping of the values is easier to understand. It
can be explained as a transposition from SQL’s horizontal
coding (i.e. items and values are listed from left to right) to a
vertical coding in MongoDB where the document items and
values are listed from top to bottom. In SQL, the input row
names are grouped together while their input values are also
grouped together separately; these groups are implicitly
corresponded based on their order within that table’s structure.
In MongoDB, the input values are written next to the field
name, similar to XML (Extensible Markup Language), and
these fields can be listed vertically, each one on a new line. In
the case of a READ command (Figure 6) that fetches data
records, the difference is greater, between traditional SQL
SELECT statements and MongoDB (which uses the FIND
method). First, the same kind of transposition or projection
difference applies, going from horizontal groupings to vertical
listings. On the other hand, in MongoDB, the user needs to be
careful to separate the fields involved in the query criteria from
the fields included in the query output. Furthermore, SQL
queries use intuitive Boolean operators to define query criteria
while MongoDB queries use abbreviated tags, such as $gt
(greater than). The value of ‘1’ also needs to be specified next
to the field name(s) to show them in the output result.
The publicly available instructional information on coding
with MongoDB is limited, with many of the resources written
in a technical language that is not conducive to easier and faster
learning. For this reason, the explanations offered above will be
useful in a future training course by filling an educational gap.
Fig. 5.
NoSQL vs traditional SQL syntax.