The Full-Stack Developer’s Roadmap Part 3: Databases

The Full-Stack Developer’s Roadmap Part 3: Databases

by | 09.12.2020 | Personal Development, Engineering

Whether it’s eye-catching front-end or snappy back-end, we want users to use our website. Here comes a need for an electronic storage system or database to store product catalogue, user credentials, transaction receipts, etc.

In this post, we’ll walk through these key areas:

  • What is Database?
  • What is a Relational Database?
  • What is a Non-Relational Database?
  • When should you use SQL or NoSQL?
  • Where to go from Here ?

There are a lot of options to store your data optimally. My purpose for this post is to simplify what database are and help you decide the best database to avoid any technical debt. By the end of this piece, you won’t be sitting in the dark when you have to find an optimal database for your project.

So, let’s dive in! ?

What is Database?

The best way to understand database is to understand what it does. We can use the 3-tier model; a simplified and standard architecture to understand what a database does. This architecture is composed of a presentation tier, a logic tier and a data tier.

Presentation Tier – This is the face of the application which a user interacts to carry out necessary tasks. This tier is built on HTML, CSS, JS or other front-end technology.

Application/Logic Tier – This layer carries out all of the computational tasks which drives an application’s core capabilities. The tier is built on Java, Python, C++ or other back-end technology.

Data Tier – This is the layer where the database management system (DBMS) exists, i.e. the system which manages the database. The data tier is responsible for storing the results produced by the application layer (e.g. transaction id’s after a transaction) or providing pre-stored information (e.g. user’s current balance) to the logic tier to compute.

A database is an electronic system that allows data to be easily accessed, manipulated and updated. – Techopedia

What is a Relational Database?

Relational database focuses on a pre-defined relationship between the elements. The items are stored in rows and columns. For visual representation you can think it as Microsoft Excel but with a pinch of salt. We need a tool to manage the relational database. Therefore, we use SQL.

Visual representation of relational database

SQL or Structured Query language is a standard language to deal with the relational database. The language is used to carry out CRUD operations, i.e. Create, Read, Update, Delete on tabular data.

Popular SQL databases


MySQL is an open-source DBMS (some proprietary code is in its enterprise edition) which was released in 1995. The relational database is very well documented alongside having enormous support.

The C and C++ written DBMS has become a critical component of open-source web dev stack so much that it’s part of the web archetype known as LAMP (Linux, Apache, MySQL, Perl/PHP/Python).

  • Pros: high performance for large databases, open-source
  • Cons: incremental backups are uneasy about implementing, no support for XML or OLAP
  • Companies: Google, Facebook and Twitter, to name a few


MariaDB, a fork (a project based on source code) of MySQL is maintained by developers who were unhappy with the acquisition of MySQL by Oracle.

Because it is a fork, both the database have similarities like of architecture, and it’s effortless to migrate from one to the another.

  • Pros: high speed, scalable architecture and plug-ins, encryption at different levels
  • Cons: interfaces on MariaDB ****is not so user-friendly and hard to handle, hard to implement relational queries
  • Companies: Google, Mozilla, and the Wikimedia Foundation, to name a few


PostgreSQL is a free and open-source object-relational DBMS, which is built on C language has an emphasis on efficient scaling. The following DBMS is said to very developer-friendly and caters to a wide range of load.

Easy and efficient scaling has made it one of the most popular relational databases in use today. Apple, for example, uses PostgreSQL by default on the MacOS Server operating system.

  • Pros: highly scalable, predefined functions, support for JSON
  • Cons: uneasy about configuring, lack of performance for high-load operations

What is a Non-Relational Database?

NoSQL or “non-relational” database is explicitly optimised for applications that require large data volume, low latency, and flexible data models. The data is not present in the tabular form and is build for specific data models with flexible schema (no specific structure).

NoSQL is an umbrella term, one which encompasses several different technologies tackling different user demand.

An overview of the NoSQL database space.

The storage solution is designed with keeping the user in mind, and the information is stored in one JSON (JavaScript Object Notation) document.

	"Name": "Julie",
	"Hometown": "Los Angeles, CA",
	"Age": 28


MongoDB is an open-source and one of the most popular non-relational storage solution, despite its release in 2009. Being a NoSQL database it is primarily a document-oriented database, intended for use with JSON files.

The C, C++ and JavaScript written database has become a students first choice when they start learning web development so much that it’s part of popular and extensively used web stacks known as MEAN (MongoDB, Express(.js), Angular(.js), Node(.js)) and MERN (MongoDB, Express(.js), React(.js), Node(.js)).

  • Pros: high speed, high performance, easy configuration, support for JSON
  • Cons: high data size, high memory usage, limited nesting of files, security is not set by default

When should you use SQL or NoSQL?

When to pick a SQL database?

A SQL database will be the ideal choice when you want to store structured data with a relationship in it, and data integrity is critical. The database is generally designed for transactional and strongly consistent online transaction processing (OLTP).

So, it’s an ideal choice for stock trading, banking or any social media application like Facebook.

Summary for when should you use SQL or NoSQL

When to pick a NoSQL database?

NoSQL will be the ideal choice when you want to carry you a large amount of read-write operations on an enormous data set. They are very low in latency even with a large amount of data and can handle more traffic with ease in comparison to SQL database.

So, it’s an ideal choice for data analytics and also when you want to develop an application rapidly.

AWS explains this in a very well made table.

Where to go from Here ?

We’ve covered a lot in this piece, but we’ve only touched the surface of this topic. We haven’t discussed on intention about another alternative as this article is for beginners. Too many choices often force decision fatigue, and I don’t want you to keep on deciding and not to start learning.

As you have read no single database solves every problem. So, I would recommend you to learn both SQL and NoSQL database (one at a time) according to your needs. to become an exceptional web developer.

You can check 15 days of Learning SQL at Hackerrank; it’s incredible 🙂

Once you get familiarized with both the database, it will be easy for you to choose the best one according to your requirements and build your projects.

Happy Learning! ?


The DevOps Awareness Program

Subscribe to the newsletter

Join 100+ cloud native ethusiasts


Join the community Slack

Discuss all things Kubernetes, DevOps and Cloud Native

Related articles6

Startup speed, enterprise quality

Startup speed, enterprise quality

Liebe Kunden, Partner und Kollegen,2021 ist vorbei und uns alle erwarten neue Herausforderungen und Ziele in 2022.In den letzten 3 Jahren hat sich p3r von einer One-Man-Show zu einer festen Größe im deutschen Cloud-Sektor entwickelt. Mit inzwischen 11...

Introduction to GitOps

Introduction to GitOps

GitOps serves to make the process of development and operations more developer-centric. It applies DevOps practices with Git as a single source of truth for infrastructure automation and deployment, hence the name “Git Ops.” But before getting deeper into what is...

Kaniko: How Users Can Make The Best Use of Docker

Kaniko: How Users Can Make The Best Use of Docker

Whether you love or hate containers, there are only a handful of ways to work with them properly that ensures proper application use with Docker. While there do exist a handful of solutions on the web and on the cloud to deal with all the needs that come with running...

Cilium: A Beginner’s Guide To Improve Security

Cilium: A Beginner’s Guide To Improve Security

A continuation from the previous series on eBPF and security concerns; it cannot be reiterated enough number of times how important it is for developers to ensure the safety and security of their applications. With the ever expanding reach of cloud and software...

How to clean up disk space occupied by Docker images?

How to clean up disk space occupied by Docker images?

Docker has revolutionised containers even if they weren't the first to walk the path of containerisation. The ease and agility docker provide makes it the preferred engine to explore for any beginner or enterprise looking towards containers. The one problem most of...

Parsing Packages with Porter

Parsing Packages with Porter

Porter works as a containerized tool that helps users to package the elements of any existing application or codebase along with client tools, configuration resources and deployment logic in a single bundle. This bundle can be further moved, exported, shared and distributed with just simple commands.