Database Concepts and Applications

Databases are a critical component of modern web and native applications. They're used to store, retrieve and manipulate data. They can be found almost anywhere there's a need for storing and accessing large amounts of information.

In this section, we'll get to know databases really well. Starting with some theory, and then moving into building blocks, types of databases, and uses-- you'll learn what you need to use them well in interviews!

Section Menu

How do I use this section?

1. LESSON

Theories and Examples of Relational Databases

Databases are an essential part of the modern living. Every technology we use in our everyday life relies on data, and relational databases are the most common way of keeping that data structured. In the early years of databases, every application stored data in its own structure. When that data had to be used by a different application, the deve...

2. LESSON

Introduction to Database Types

In this tutorial, you are going to learn about different Database types. The choice of database totally depends on what features does database has to offer during development and runtime and whether it matches your business requirements or not. So without further ado, let's get started! SQL VS NoSQL Relational databases that are accessed usin...

3. LESSON

Data Formats: CSV, JSON, XML, Protobuf, Parquet

In software engineering, there are several different ways of storing data sets, each with its pros and cons, depending on the use case, and what the use case is. There are a few key differences between the most used formats, and in order to choose the best one for the needs of the application, you...

4. LESSON

What is Database Sharding? Scaling DBs

In this lesson, we will learn about database sharding. We'll particularly concentrate on the following: Scaling databases. Horizontal partitioning, or sharding of databases. Sharding strategies, their merits, and downfalls. In previous tutorials, we've introduced databases and learned...

5. LESSON

Database Isolation Levels

In this lesson, we will learn about database transactions and isolation levels-- with a focus on following key points: What are transactions in databases? Learn about the read phenomena in database systems. Understand the levels of database isolation. A database, as you may alread...

6. LESSON

Data Modeling for Database Design

Designing a simple database may seem like a daunting task, but with a structured approach, it can be quite straightforward. This article will guide you through the key steps to create a well-designed database using an entity-relationship diagram, all the way to implementing it in a Relational Database Management System (RDBMS). He...

7. LESSON

Efficient Data Storage: Compression and Deduplication Strategies

In an age where data reigns supreme, its sheer volume can be both a blessing and a challenge. With every click, every swipe, every heartbeat of the digital world, we generate data. But how do we store this vast universe of information without losing ourselves in it? How do we ensure that our digital treasure trove doesn't become a labyrinthine maz...

8. LESSON

Data Modeling Cheat Sheet

Data modeling is a crucial component of the design process that ensures the effectiveness of a data platform. Data modeling is a highly technical process and should be used to assist business stakeholders in defining their business requirements. Before commencing with data modeling, an organization must pin down the inner working...

9. LESSON

A Beginner's Reference to SQL vs. NoSQL

Many new developers wonder what the difference is between SQL and NoSQL. The subjects come up often in theoretical discussions and systems design interview preparation. In this tutorial, we will be looking at the difference between SQL and NoSQL based on certain parameters. Before we begin, let’s analyze each individually to develop our under...

10. LESSON

Designing a Storage Layer (Ephemeral or Persistent)

Design of a storage layer is a challenging task. Fortunately data management is a mature discipline with a variety of solutions available to accommodate various use cases. Unfortunately there is no single solution that can fit all use cases well, hence we need to understand why certain solutions are better than others in dealing w...

11. LESSON

Understanding the CAP Theorem

Objective: In this lesson, we'll cover this concept, and focus on these outcomes: You'll learn what the CAP theorem is. We'll show you how it applies to programming interviews. In the realm of distributed database systems, there are several principles and theories that d...

12. LESSON

PostgreSQL Overview and Connection Tutorial

PostgreSQL, also known as Postgres is an open-source object-relational database system, first developed at the University of California in Berkeley. The initial version was designed and developed to work on UNIX-like systems, but it evolved with time to become mobile and possible to run on other platforms like macOS or Windows. Being open-source,...

13. LESSON

Data Warehouse vs Data Lake

In the digital world, you cannot underestimate the importance of data storage. Many data firms have recently been featured in headlines as businesses try to make the most out of big data's potential. Data storage can typically be handled in a regular database by a layperson. Big companies, however, use data warehouses and data la...

14. LESSON

Data Partitioning For Systems Design

Data partitioning refers to the act of splitting a large database or dataset into smaller, more manageable parts called partitions. It is an important concept in designing large-scale distributed systems that need to handle tremendous amounts of data and traffic. In this article, we will look at why data partitioning matters, di...

15. LESSON

Redis Intro and Use Cases Cheat Sheet

Redis (Remote Dictionary Server) is an in-memory multi-model database famous for its sub-millisecond latency. It was created in 2009 by Salvatore Sanfilippo (also known as antirez). Faced with the problem of scaling some types of workloads using traditional database systems for his Italian startup, Sanfilippo began to pro...

16. LESSON

When to Use Redis and How the Message Broker Works

In the age of modern technology, no one enjoys having to wait a long time for their search results. If you're playing a game, you'll also want to keep an eye on the leaderboard as it changes in real-time. All of these demands involve a system that is both fast and high performing, allowing us to retrieve data more quickly. Redis,...

17. LESSON

Introduction to Time-Series Databases

Time-series databases are one of the most recent specialized database models to emerge since the introduction of the relational database management system and are quickly gaining popularity. According to DB-Engines, time-series databases have outperformed all other database models by a large margin during the last two years. This...