Databases simplified

Databases simplified

A database is a structured set of data, held in a computer; especially one that is accessible in various ways. A database is controlled by a Database Management System (DBMS).

Databases are mainly categorized into the following:

  • SQL(Structured Query Language)

  • NOSQL(Not Only Structured Query Language)

A SQL is a programming language used to query and retrieve information in a relational database .It groups data into rows and columns. It is best suited to data that have lots of relationships between each other. The following are examples:

  • MySQL

  • SQLite

  • PostgreSQL

A NOSQL groups data into JSON(JavaScript Object Notation) objects.NOSQL is an approach to database design that enables the storage and querying of data outside the traditional structures found in relational database i.e. It is a non-relational database. It is best suited to data that have a one-to-many relationship. Examples include:

  • MongoDB

  • Apache CouchDB

  • Couchbase

Other types of database software include the following:

  • Hierarchical

  • Network

  • Object-oriented

  • Distributed

The following table summarizes the differences between SQL and NOSQL:

SQL

NOSQL

more mature

shiny and new

tabular structure

document structure 

requires a schema 

more flexible to change

great with relationships 

not great with relationships 

scales vertically

horizontally scalable

While each type of database has its own advantages, companies commonly utilize both NoSQL and relational databases in a single application. Today’s cloud providers can support SQL or NoSQL databases. Which database you choose depends on your goals.