A STUDY ON NOSQL DATBASES AND THEIR APPLICATIONS
By
Narasimhan Kannan
A RESEARCH PAPER
Submitted in partial fulfillment of the requirements for the degree of Masters of Science in Computer Science in the Graduate School of
Troy University
MONTGOMERY, ALABAMA
AUGUST, 2015
A STUDY ON NOSQL DATBASES AND THEIR APPLICATIONS
Submitted by Narasimhan Kannan in partial fulfillment of the requirements for the degree of Master of Science in Computer Science in the Graduate School of
Troy University
Accepted on behalf of the Faculty of the Graduate School by the research paper committee:
____________________________ _______________________ Matthew Mariano, Ph.D.
…show more content…
For example, Facebook which is the most popular social networking website recently announced their adoption of a NoSQL based graph data store for efficient storage of user data. In other words, NoSQL has already made its way into the enterprise. However, just like every other widely accepted technology, NoSQL has its own set of advantages and disadvantages. It is important for an enterprise to quantify the pros and cons of a particularly new database technology against the already existing solutions based on their custom requirements. For example, legacy enterprise applications may require extensive community support from their database vendors. Moreover, traditional relational database vendors such as Oracle have already established themselves for providing excellent support. On the other hand, NoSQL has been rapidly growing since the past few years and is consistently evolving in terms of big data handling, data warehousing and lesser complexity. Hence, there is a need to study the current market of data stores based on the most popular NoSQL data stores and how well they fair against the widely accepted traditional database systems. This requires a study of the commonly used NoSQL data stores.
HUMAN OR ANIMAL SUBJECTS REVIEW FORM
For
Narasimhan Kannan
A STUDY ON NOSQL DATABASES AND THEIR APPLICATIONS
This research project has been reviewed by the
Abstract- This research documents a comprehensive evaluation of the emerging graph databases along with a benchmark study to compare it to the existing relational model. With the ease of the graphical representation brought in with Neo4j, we saw the opportunity to attempt getting details about the various attributes in the dataset and analyze this data to present a statistical view along with its popular counterpart, MySQL. The ultimate goal of this study is to determine whether a traditional relational database system like MySQL, can be replaced completely in production, by a graph database, such as Neo4j.
In order to overcome these limitations, a new database model known as Not Only SQL (NoSQL) database emerged with a set of new features. The main objective of NoSQL is not to discard SQL, but to be used as an alternative database data model for new features [1] [2] [3]. NoSQL database increases the performance of relational databases by a set of new characteristics and advantages. In contrast to relational databases, NoSQL databases introduced an additional feature that provides flexible and horizontal scalability and taking advantage of new clusters. The rise of NoSQL provides cost-effective management of data in modern web applications. With its new features, NoSQL can be used with applications that have a large transaction, and require low-latency access to huge datasets, service availability while
Provide reasoning to support the use of the NoSQL database as the database of choice to solve the problem faced by TWC. Identify one strength and one weakness for each of the other three kinds of databases to solve the problem for TWC.
STRUCTURE OF DATA: The data structure of a relational database comprises of table structure. Every table is identified by a unique name or label. The data tables are described as the collection of rows and columns. Each row of the table is known as the record and each column is known as the field of the specific data table. All the data sets are well organized and logical linked to each other through definite and unique relationships. A table, therefore can also be defined as the “structured collection of relationships”. The fundamental aim of developing No SQL database systems is to easily and effectively handle vast quantity of data or information in advanced web-scale applications. In order to achieve this purpose, the No SQL systems are designed as the schema-free database systems. There are different modes to define the No SQL databases that typically depend on the requirements of the data that has to be managed. The main No SQL data structures include column database, key-value store database, document store database, graph database and
NoSQL databases are a significant departure from the relational model that has dominated the business world for the past few decades. Standing for “Not Only SQL,” these products are all some variation of a non-relational, key-value pair database, and they are becoming very popular with companies that use Big Data and prioritize speed or availability over consistency of data.
“NoSQL practitioners focus on physical data model design rather than the traditional conceptual / logical data model process” (Hsieh, 2014). The mindset of the data modelers have changed in recent years. The flexibility, scalability and the ability to handle variety of structured to unstructured data of the NoSQL data bases have made the data modelers to think more in business –centric notion.
NoSQL databases are databases designed to run on clusters of computers/servers, built for the ever-increasing data storage needs for websites. Devised as a way of scaling databases horizontally which is a challenge with traditional relational databases. Scaling horizontally is the ability to add more computers/servers as nodes to a database. These “clusters” work well with write-heavy systems and allow increase storage and processing power limited only by the number of connections you can have on the network. Defined as No-Schema, No-SQL data structures mean they are not limited to the original data structure. Objects and fields etc can be implemented at
NoSQL databases had made for unraveling the Big Data issue by utilizing a distributed system to bring out excellent performance in data storage and retrieval at very large-scale. At this scale, pieces of the system often fail and NoSQL is created to handle these failures (Chow, 2013) (Ron, Shulman-Peleg, & Bronshtein, 2015). Various companies have espouse different sorts of non-relational databases, ordinarily alluded to as
NoSQL is able to address the massive traffic loads experienced by database servers at corporations that specialize in data processing like Google, Facebook and Amazon. NoSQL technologies can provide near constant availability, massive user concurrency and lightning fast responses. There are four primary NoSQL database implementation types being used today: document based, wide column (or columnar), key-value and graph. The different properties of SQL and NoSQL databases will be examined and an overview of each NoSQL implementation type along with an example will be given.
The modern RDBMS advancements are not capable of supporting unstructured information with ideal space necessity. The plan winds up plainly mind-boggling and is henceforth troublesome for designers. The requirement for unstructured information administration is so annoying with conventional RDBMS arrangements (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). Moreover, RDBMS turns out to be an exorbitant answer for creating light-footed web applications with direct information investigation necessities. NoSQL is developing as a proficient possibility in this situation, which connects the issues related with RDBMS innovation. The market development can credit to creative dispatches of NoSQL arrangements, and collective endeavors by NoSQL sellers and clients. The endeavors of organizations, to enhance their market offerings, are creating the request of NoSQL, as a back-end bolster (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). The emergence of agile software development is creating the demand for NoSQL (Big data in financial services industry: Market trends, challenges, and prospects 2013 - 2018). They offer users much more avenues to accept data in many different forms. NoSQL is adaptable as SQL but offers many more uses that can apply to many organizations.
NoSQL Databases are being used in the social media applications and big data processing based portals in which huge, heterogeneous and unstructured data formats are handled. NoSQL Databases are used for faster access of records from the big dataset at back-end. The AADHAAR Card implementation in India was done using NoSQL Databases as huge amount of information is associated including Text Data, Images, Thumb Impressions and Iris Detection. Any classical database system cannot handle the dataset of different types (Image, Text, Video, Audio, Video, Thumb Impressions for Pattern Recognition, Iris Sample) simultaneously.
In Nowadays, there are two major of database management systems which are used to deal with data, the first one called Relational Database Management System (RDBMS) which is the traditional relational databases, it deals with structured data and have been popular since decades since 1970, while the second one called Not only Structure Query Language databases (NoSQL), they are dealing with semi-structured and unstructured data; the NoSQL types are gaining their popularity with the development of the internet and the social media since April 2009. NoSQL are intending to override the cons of RDBMs, such as fixed
With the appearance of Big Data, there was clearly a need for more flexible databases. In this paper, we will review one of the graph database (Neo4j), and compared it with one of the traditional relational databases (MySQL) based on the features like ACID, replication, and the language that is used for both of them. MySQL is being another name for Relational Databases and it has been used for a long time period until now. And Neo4j which is a graph database and it is a part of the emerging technology that is called NoSQL is now trying to prove that there is a need for NoSQL usage.
In this report I am going to discuss about No SQL databases and the criterion that are to be taken into consideration when choosing a database that best supports your product. NoSQL databases enclose a variety of database technologies and was developed in response to rise in volume of data unlike relational databases which were built to handle structured data [1].
Currently, there are two major of database management systems which are used to deal with data, the first one called Relational Database Management System (RDBMS) which is the traditional relational databases, it deals with structured data and have been popular since decades from 1970, while the second one called Not only Structure Query Language databases (NoSQL), they have been dealing with semi-structured and unstructured data; the NoSQL term was introduced for the first time in 1998 by Carlo Strozzi and Eric Evans reintroduced the term NoSQL in early 2009, and now the NoSQL types are gaining their popularity with the development of the internet and the social media. NoSQL are intending to override the cons of RDBMS, such as fixed schemas, JOIN operations and handling the scalability problems. With the appearance of Big Data,