How Databases Actually Store Relationships Up until now, we’ve talked a lot about relationships in databases: - One-to-Many - Many-to-One - One-to-One - Many-to-Many But
So far, we’ve already discussed one-to-many and many-to-one relationships, which are the most common relationships you’ll use in real applications. In this lesson, we’re g
When we started learning SQL, we mostly worked with single tables. But in real-world applications, data is never isolated — tables are connected to each other. In our pho
Up until now, we’ve spent a good amount of time writing basic SQL. But if we’re being honest, the SQL we’ve written so far doesn’t really reflect how things work in the real
So far, we’ve learned how to: - insert data - read data - update data Now let’s take a look at deleting data from a table. Deleting rows in PostgreSQL is actually very simpl
Now that we have a solid understanding of the WHERE keyword, it’s time to look at two very important operations that we frequently perform on database tables: - Updating r
Let’s do a quick practice exercise to make sure the idea of WHERE is crystal clear. Once again, we are working with a table called phones. Each row in this table represen
So far, we’ve learned how to filter rows using very simple comparisons like: - = (equal) - != (not equal) - (greater than) - < (less than) But SQL gives us more power
Real-time applications are everywhere. When someone sends you a message on WhatsApp, you do not refresh the page to receive it. When a driver changes location on a ride-hailing
We’ve already seen that the WHERE keyword allows us to filter rows returned by a query. In simple words: WHERE checks each row one by one and decides whether it should
Up to this point, every query we’ve written has returned all rows from a table. But in real applications, we usually don’t want everything. Most of the time, we want to f
Just like we can use operators to work with numbers, SQL also provides operators and functions to work with strings. Using these, we can: - join strings together - change tex
So far, we’ve learned how to create calculated columns using SQL. Now it’s time to practice and make sure this concept is completely clear. In this task, you’ll apply wha
So far, we’ve learned how to retrieve data from a table using SELECT. At this point, it might look like SQL can only return the exact data that is already stored in the
At this point, we have successfully stored data inside the cities table. Now the next step is to retrieve that data from the database. To do this, PostgreSQL provides the
Now that our cities table is ready, the next step is to add data into it. We want to store information about these cities: - Tokyo - Delhi - Shanghai - Sao Paulo Along wit
In the previous section, we wrote our first SQL query to create a table in PostgreSQL. Now, let’s slow down a bit and understand what that SQL actually means. We’ll break
Now that we have a basic database design, the next step is to write SQL to create our first table. 
Online payments can feel intimidating because money, cards, security, banks and backend systems are involved. However, the basic idea is straightforward: Your application cr
When running a live application cluster with PM2, it’s critical to ensure that code changes can be deployed without causing downtime for users. PM2 provides a powerful feature call
When we’re in development, PM2 is typically used sparingly—mostly for configuring and testing clusters periodically to ensure they remain functional after any changes. However, PM2
The Node.js cluster module is an excellent way to improve server performance, but when running clustered servers in production, additional features are often needed for optimal man
Welcome back. In this lesson, we’ll delve into the concept of load balancing, which is crucial for building efficient backends. Load balancing ensures that tasks or requests a
When we build a Node.js or MERN Stack application locally, we usually start the backend with a command such as: npm run dev or: npm start The application st
To get the connection details for Redis and set up your environment for using BullMQ, you need to follow these steps: 1. Set Up Redis Server Option 1: Using a Managed Redis
In BullMQ, the connection object is used to define how BullMQ connects to a Redis server. Redis is an in-memory data structure store that is often used as a database, cache, and
BullMQ is a job queue library for Node.js, not a messaging queue service in the traditional sense like RabbitMQ or Apache Kafka. While it shares some similarities with messaging qu
Scalability refers to a system's ability to handle increased load by adding resources, such as more servers or increasing computational power, without compromising performance.
How Databases Actually Store Relationships Up until now, we’ve talked a lot about relationships in databases: - One-to-Many - Many-to-One - One-to-One - Many-to-Many But
Muhammad Sufiyan · 4d ago
T-
Useful ideas, without the noise.
One thoughtful digest from Backend Engineering Hub, delivered when there is something worth reading.