Relational document, and file systems didn’t haveRelational document, and file systems didn’t have

Relational
Database

According to Joan Casteel (2015), a
database is “a storage structure that provides mechanisms for recording,
manipulating, and retrieving data” (Casteel, 2). Prior to the creation of
databases, data used to be stored in files. This method of storing data
introduced problems when trying to insert, manage, and retrieve data because in
order to gather any information it was necessary to search through the entire
document, and file systems didn’t have a way of managing redundancy. Databases
were created as a solution to this problem. Therefore, the goal of a database
is not only to store data, but also to do it in a way that facilitates
updating, retrieving, and analyzing the data being stored. There are various
types of databases, and one of the most popular is a relational database. Using
SQL, a highly structured and consistent language, a relational database
organizes data in tables in which a row represents a single record and several
attributes describing the record are represented in columns. Having a single
table wouldn’t make it possible to have a relational database. The relational
aspect of it comes from having various tables (sometimes in the thousands) that
are interrelated. Combining the information from several tables allows the user
to find exact information faster than having to do it in a file based system.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

In the current business age,
relational databases fulfill various roles in an organization. The main role is
to store any information that is important to the organization. These data can
be of various types such as numeric, alphanumeric, pictures, videos, sounds,
etc. For example, a store might need store information about their clients’
contact information such as name, phone number, address and email. The store
might also need to store information about the products it offers such as
number of items in stock and price. Furthermore, a relational database also enables
an organization to update records simultaneously, improves accuracy of an
organization’s data by using constraints that prevent a user from inserting
false information, and provides security to an organization by allowing the
database administrator to decide which users are allowed to view or edit
specific parts of the database and audit the database’s activity. In order to provide
these benefits, a relational database needs to be able to ensure the integrity
of data by following ACID properties. A transaction follows ACID properties
when all operations are properly reflected or none are(atomicity), it leaves
the database in a consistent state(consistent), it is unaware of other
transactions happening at the same time(isolation), and after commitment all of
it changes persist in the database(durability). 

Relational
Database Management Systems

In order to access data stored in
relational databases and to perform administrative tasks, a Relational Database
Management System(RDBMS) is needed. A RDBMS is “a software system design to
allow the definition, creation, querying, and updating of data stored in
relational databases” (Database Fundamentals). According to Elmasri and Navathe
(2015), a well-designed RDBMS should allow the incorporation of integrity
constraints that will ensure the correctness of data, allow users to access
information without performing programing tasks, have data visualization and
reporting features, manage data redundancy, and address security concerns by
allowing the DBA to assign password controls to specific parts of the database
(Elsmari and Navathe, 2015).

NoSQL
vs. Relational Databases

It is important to note that
relational databases are not the only type of databases in the market. Some
limitations of relational databases such as scalability, multi-structured data,
geo-distribution and agile development sprints lead to the development of NoSQL
databases such as document stores, graph databases, wide-column stores and
key-value stores in the late 2000s. (NoSQL Databases Explained).

Having discussed what a relational
database is, it is possible to define NoSQL as a non-relational database
system. Even though they both have the same end goal of storing any kind of
data, their design makes them different in various ways which leads to making
them better for different scenarios. A NoSQL (not only SQL) system is a type of
database management system that lacks a structured declarative language and has
no predetermined schema. Various types of NoSQL databases such as key-value
stores, document databases, graph databases, and wide-column databases use
different models which makes them more appropriate for specific applications. Not
having to define schemas before adding data saves significant time if the data
being store is continuously changing. These characteristics make a NoSQL system
adequate when trying to store large volumes of unstructured and unpredictable
data. Compared to a relational database which maintains tight consistency by
following ACID properties, a NoSQL is only eventually consistent. Instead of
focusing in having a consistent state a NoSQL system prioritizes flexibility
and high scalability (by scaling out instead of up).

Big
data and relational databases

            The amount of data we deal with has
grown drastically in the last couple of years. According to William Hakes, the
world’s data is doubling every 1.2 years and it is expected that by 2020 the
world will need ten times the number of servers to be able to handle all of the
data being generated (Hakes, 2012). In order to deal with this vast amount of
data, it would be intuitive to say that relational databases will disappear
from the market due to their limitation when dealing with data at high volume,
variety, and velocity. However, big data solutions are not a replacement for
relational databases because their different capabilities complement each other
nicely. According to Homer, Malcom, and Narumoto (2014), “it’s common to use
big data query to create a result set that is then stored in a relation
database for use in the generation of BI, or as input to another process” (Homer,
Malcom, and Narumoto, 2014, p.18.) These two technologies have different
strengths and weaknesses. Therefore, one can’t replace the other. Instead, I
believe that developers will try to implement some NoSQL features into
relational databases in order to improve their performance with large volumes
of data while maintaining the benefits of SQL systems that have made them
popular for so many years.