Pavlenko J. S., Sokolova N. O., Osadcha O. V.

Oles Honchar Dnipropetrovsk National University


The bases of existing information systems are database. A database is a means of storing information in such a way that information can be retrieved from it. There are two main classes – relational and non-relational databases

The relational database was first defined in June 1970 by Edgar Codd, of IBM's San Jose Research Laboratory. Relational databases have been around for over 30 years. A relational database is essentially a group of tables. Tables are made up of columns and rows. Those tables have constraints, and relationships are defined between them. Relational databases are queried using SQL, and result sets are produced from queries that access data from one or more tables. Multiple tables being accessed in a single query are "joined" together, typically by a criterion defined in the table relationship columns. Normalization is a data-structuring model used with relational databases that ensures data consistency and removes data duplication. Normalization was first proposed by Codd as an integral part of the relational model. It encompasses a set of procedures which in turn prevents loss of data integrity. The most common forms of normalization applied to databases are called the normal forms.

A relational database is created using the relational model. The software used in a relational database is called a relational database management system (RDBMS). Almost all database systems we use today are RDBMS, including those of Oracle, SQL Server, MySQL, Sybase, DB2, TeraData, and so on.

The reasons for the dominance of relational databases are trivial. They have continually offered the best mix of simplicity, robustness, flexibility, performance, scalability, and compatibility in managing generic data.

Non-relational databases are also known as Next Generation Databases, mostly addressing some of the points: being non-relational, distributed, open-source and horizontally scalable. Next Generation Databases can be divided into such functional groups: Wide Column Store / Column Families; Document Store; Key Value; Graph Databases; Multi-model Databases; Object Databases; Grid & Cloud Database Solutions; XML Databases; Multidimensional Databases; Multi-value Database.

The original intention has been creating modern web-scale databases. The movement began in early 2009 and is growing rapidly. The most important characteristics are:scheme independence, easy replication support, simple API, consistency, a huge amount of data and more.

One type of the non-relational databases is commonly called a key-value store.

Relational databases and key/value databases are fundamentally different and designed to meet different needs. Key/value databases are item-oriented, meaning all relevant data relating to an item are stored within that item.

There are two clear advantages of key/value databases to relational databases. The first benefit is that they are simple and thus scale much better than today's relational databases. The database provides a relatively cheap data store platform with massive potential to scale. The second benefit is that they are more natural fit with code

Relational data models and Application Code Object Models are typically built differently, which leads to incompatibilities. Developers overcome these incompatibilities with code that maps relational models to their object models, a process commonly referred to as object-to-relational mapping.

Taking into account all things mentioned above, we can define three reasons why you would choose a non-relational key/ value database platform for your application:

1. Your development environment is heavily object-oriented, storage utilization type key-value will reduce the size off amount of additional code to convert the data.

2. The data store is cheap and integrates easily with your vendor's web services platform.

3. Your foremost concern is on-demand, high-end scalability.

However in making the decision, remember the database's limitations and the risks you face using a non-relational databases.