Article Preview
TopIntroduction
NoSQL (not only structured query language) is quickly becoming a hot topic. It addresses the scalability and performance issues of traditional RDBMS (Relational Database Management System) with large amounts of data (Ayyagari, 2019; Mehla et al., 2022). The relational databases also become poor support for storing complex data, leading to a move toward Object-Relational (OR) technology to provide extensibility and ñexibility (Soutou, 2001).
Object-relational database management systems (ORDBMS) are intended to manage diverse data types and offer a good support for the object-oriented programming language (Aggoune, 2020b). Although Object-Relational databases (ORDB) can perform complex data, the scalability and heterogeneity of data are very complex and difficult to achieve. Indeed, the migration of ORDB to NoSQL is also needed. Nevertheless, very few studies provide solutions for ORDB migration to NoSQL. Motivated by this, the authors present a process for migrating ORDB of Oracle ORDBMS to NoSQL document-oriented store of MongoDB system.
The object-relational model is an extended relational one to support non-first normal-form (NF2) databases to store complex data (Aggoune, 2020b). The object-relational model allows users to create their data structured types using abstract data type (ADT), which is defined by four elements (Date & Darwen, 1998):
- 1.
The ADT name;
- 2.
The ADT type, which can be an object, a REF reference to another ADT, and collection data types;
- 3.
A list of attributes associated with the domain that is built-in datatype or other ADT;
- 4.
A list of methods' signatures for representing the behaviour of ADT.
For example, the following SQL statement allows the creation of the ADT named Book_t as an object type, having three attributes (ISBN, Title, Year): CREATE TYPE Book_t AS OBJECT (ISBN Integer, Title varchar2(40), Year Number (4)).
ADT offers multivalued attributes by using collection data types such as varray (array with variable size), nested table, etc.(Aggoune, 2020b). These collection data types differ from one ORDBMS to another. In this work, the authors focus on the best ORDBMS so-called Oracle. The object-relational table also called the NF2 table is created through the object ADT with a set of constraints. For example, from the Book_t an object type, the creation of a table termed Book is done as follows: CREATE TABLE Book OF Book_t (Primary key (ISBN)).
In contrast to the relational model, the relationship between NF2 tables can be achieved without using foreign keys (Devarakonda, 2001). The aggregation association is also called total nesting, where the tables are nested within other tables as values in a column. In other words, the data type of this column is an object type (in the case of one-to-one relationship) or collection data type (in the case of one-to-many or many-to-many relationships) like nested table and varray (Aggoune, 2020a). The symmetric association is also called partial nesting, where the tables have been created with a column whose data type is a cross-reference or a collection of references to other tables.
Carlo Strozzi introduced the term NoSQL to describe “not only SQL” to emphasize the fact some systems might support SQL-like query languages (Störl et al., 2015). NoSQL data storage is often open source, non-relational, schema-less, horizontally scalable, and allows for rapid changes and rapid replication (Davoudian et al., 2018).
NoSQL is designed to accommodate a wide variety of data models, including key-value, document, columnar and graph formats (Matallah et al., 2020, 2021).