What is Database and How to Classify Database?

Mahipal Nehra
Deciphering-Deadlocks
4 min readFeb 26, 2019

--

A series of articles will be amalgamated to make the handbook of the database this article is the first one of this series and it briefly discusses the classification of the database.

Managing data has been one of the tedious task ever since our evolution. After the invention of the computer, organizations realized that they need an efficient way to organize their data. So, companies like Oracle and IBM came up with an effective solution in the late 80s called Relational database management system(RDBMS) which was horizontally scalable(User has to add more RAM processor or even bigger system as the database expands).

In the early 21st century social networks, eCommerce, digital data analytics came into existence where the huge amount of data has to be managed but now RDBMS wasn’t effective anymore which created demand for a new type of Database.

Apache and other companies realized the demand of database which can handle enormous data from social networks, e-commerce and various other industries. They decided to use non-relational database model as most of the data wasn’t related which led to NoSQL database where a database was horizontally scalable (user has to add more servers as the database expands), this non-relational database is coupled with a transaction interface to access database easily.

The real problem was that most of the NoSQL database doesn’t offer strict ACID (Atomicity, Consistency, Isolation, Durability) properties for OLTP (Online Transaction Processing) so this has created a demand for a new type of database. Companies like Google are working to create a NewSQL database which can offer high throughput of NoSQL and typical ACID properties of the old relational database.

The problems with database faced by companies brought them to a conclusion that the database needs to be classified and to use different solutions for different needs.

The classification of a database is complicated because there are various factors shown in figure 1 on which one can categorize the database. On primary level database are categorized on the basis of their structure and localization factor and on the secondary level database are categorized on their approach to saving data.

The basis of Database Classification

The primary level of Database Classification:-

The primary level of database classification is on the following basis

  • LOCALIZATION

Localization means how and where the database will be installed to handle the requests fluently without any latency. There are two approaches for installing servers and database

  • CENTRALIZED

When data is saved on servers installed at a centralized location then it is called a centralized database system.

  • DECENTRALIZED

When data is saved on servers installed at a various geographical location then it is called a decentralized database system.

  • TOPOLOGY

Although many topologies are available for designing database the following topologies are prominent and are being used today.

  • Relational

In Relational database data nodes are connected in tree form like student information is connected for a school’s database.

  • Non-Relational

In the Non-Relational database most of the data is not connected so a transactional interface is used to implement basic SQL functionalities over the database, therefore, this will provide high throughput.

Whenever our database is about to run out of space then we have to expand the memory or additional servers to ensure uninterrupted service. Following are the approaches to scale database systems

  • Vertical

When the database expands user need to scale up the server by installing more storage and RAM this is called vertical scalability. Usually, this method was used in the old database like Oracle v1 doesn’t have the concept of sharding.

  • Horizontal

In this approach, the user can install more servers to add the upcoming data. Data will be sharded horizontally and it will be added to the new server. For example, a database has data of students named from A to Z so if data on a server crosses threshold then a new server will be added and data of students named from N to Z will be moved to new server.

The secondary level of Database Classification

Now let us have a look over sample solution for database requirements so that we can understand the need of classifying database and mapping them to industrial requirements.

SQL, NoSQL and NewSQL all have their pros and cons, every organization is adapting and modifying solutions that can effectively fulfil their needs. One thing is prevailing in all these approaches is that these database one way or another depend on Java development. In this series, we will be discussing in detail about approaches, techniques, models and concepts to develop new database solutions. So, stay tuned to dig in the database.

--

--

Mahipal Nehra
Deciphering-Deadlocks

Working in a leading outsourcing Java development company