Bridging Relational and NoSQL Databases - Advances in Data Mining and Database Management
Latest Publications


TOTAL DOCUMENTS

8
(FIVE YEARS 0)

H-INDEX

1
(FIVE YEARS 0)

Published By IGI Global

9781522533856, 9781522533863

The chapter proposes three ways of integration of the two different worlds of relational and NoSQL databases: native, hybrid, and reducing to one option, either relational or NoSQL. The native solution includes using vendors' standard APIs and integration on the business layer. In a relational environment, APIs are based on SQL standards, while the NoSQL world has its own, unstandardized solutions. The native solution means using the APIs of the individual systems that need to be connected, leaving to the business-layer coding the task of linking and separating data in extraction and storage operations. A hybrid solution introduces an additional layer that provides SQL communication between the business layer and the data layer. The third integration solution includes vendors' effort to foresee functionalities of “opposite” side, thus convincing developers' community that their solution is sufficient.


The chapter explains how NoSQL databases work. Since different NoSQL databases are classified into four categories (key-value, column-family, document, and graph stores), three main features of NoSQL databases are chosen, and their practical implementation is explained using examples of one or two typical NoSQL databases from each NoSQL database category. The three chosen features are: distributed storage architecture that comprises the distributed, cluster-oriented, and horizontally scalable features; consistency model that refers to the CAP and BASE features; query execution that refers to the schemaless feature. These features are chosen because, through them, it is possible to describe most of the new and innovative approaches that NoSQL databases bring to the database world.


The chapter discusses the necessity for data modeling in NoSQL world. The NoSQL data modeling is a huge challenge because one of the main features of NoSQL databases is that they are schema-free, that is they allow data manipulation without the need for the previous modeling or developing an entity-relationship (ER) or similar model. Although the absence of a schema can be an advantage in some situations, with the increase in the number of NoSQL database implementations, it appears that the absence of a conceptual model can be a source of substantial problems. In order to better understand the need for data modeling in NoSQL databases, first the basic structure of an ER model and an analysis of its limitations are summarized, especially regarding an application in NoSQL databases. The concept and Object modeling notation is presented as one of the possible solutions for data modeling in NoSQL databases.


The chapter presents a real case study of the integration of relational and NoSQL databases. The example of a real project related to vehicle registration, particularly to testing vehicles for compliance with environmental standards, explains how those two worlds can be integrated. Oracle database is used as a relational database, while MongoDB is used as NoSQL database. The chapter sustains that the COMN notation can be successfully used in the process of modeling both relational and nonrelational data. All three ways of integration of relational and NoSQL databases are tested. The native solution was tested by using of native drivers for communication with Oracle and MongoDB databases. The hybrid solution used a Unity product. The reducing-to-one option, in this case, SQL, was tested on Oracle database. The capabilities of Oracle 12c database to work both with relational and nonrelational data by using SQL were tested.


The chapter presents how relational databases answer to typical NoSQL features, and, vice versa, how NoSQL databases answer to typical relational features. Open issues related to the integration of relational and NoSQL databases, as well as next database generation features are discussed. The big relational database vendors have continuously worked to incorporate NoSQL features into their databases, as well as NoSQL vendors are trying to make their products more like relational databases. The convergence of these two groups of databases has been a driving force in the evolution of database market, in establishing a new level of focus to resolving big data requirements, and in enabling users to fully use data potential, wherever data is stored, in relational or NoSQL databases. In turn, the database of choice in the future will likely be one that provides the best of both worlds: flexible data model, high availability, and enterprise reliability.


The chapter gives an overview of the three main stages of database development: hierarchical and network database models, relational database model, and NoSQL databases. It gives a short overview of the pillars of relational databases: relational data model, ACID (atomicity, consistency, isolation, and durability) properties of a transaction, and SQL (structured query language). Also, the concepts that make the base for NoSQL database development are explained, including the CAP (Consistency, Availability, Partitioning) theorem, the BASE (Basically Available, Soft-state, Eventually consistent) approach, and the sharding phenomenon. At last, the limitations of relational databases which led to the development of NoSQL databases are discussed.


The chapter discusses the fact that the development and use of NoSQL databases showed that neither everything was good in NoSQL nor everything was so bad in relational databases. Namely, when operating with data, NoSQL databases have identical requirements for entering, updating, deleting or searching data, or for the data manipulation that SQL already resolved long ago. Therefore, it is not surprising that further development of many NoSQL databases shifted towards supporting SQL, which is one of the topics of this chapter. Namely, database users are generally not concerned with details about how data is stored. Rather, they want to have the possibility to view and analyze data together, regardless of whether the data is stored in relational or NoSQL databases. Therefore, vendors of relational databases were forced to look for solutions that would allow them to work with data stored in NoSQL databases as well.


The chapter explains that NoSQL databases emerged as an attempt for resolving the limitations of relational databases in coping with Big Data. The issue of Big Data is related to extensive requests for the storage and management of complex, dynamic, evolving, distributed, and heterogeneous data from different sources and platforms. The chapter provides an overview of the technologies, including Google File System (GFS), MapReduce, Hadoop, and Hadoop Distributed File System (HDFS), which were the first responses to Big Data challenges and main driving forces for the development of NoSQL databases. Also, the chapter asserts that NoSQL is an umbrella term related to numerous databases with different architectures and purposes, which can be classified in four basic categories: key-value, column-family, document, and graph stores. The chapter discusses the general features of NoSQL databases, as well as the specific features of each of the four basic categories of NoSQL databases.


Sign in / Sign up

Export Citation Format

Share Document