Why do we need databases?

When you build a web app, you need to store data that:

  • Multiple users can access
  • Stays available 24/7
  • Can handle large amounts of data

Examples:

  • User accounts and profiles
  • Posts, comments, likes
  • Products and orders
  • Messages and notifications

How it works:

  1. Frontend sends request to API (like “get user profile”)
  2. API connects to database and runs a query
  3. Database returns the requested data
  4. API formats the data and sends response back to frontend

API to DB

Example: When you log into a social media app:

  • Frontend: “Get my profile data”
  • API: “Database, find user with email ‘user@example.com’”
  • Database: “Here’s the user data”
  • API: “Frontend, here’s your profile”

Why not just use files?

  • Files can’t handle multiple users writing at once
  • Files don’t organise data for quick searching
  • Files don’t ensure data stays consistent

Types of databases:

  • SQL databases: Store data in tables (like spreadsheets). Most common for web apps.
  • NoSQL databases: Store data as documents or key-value pairs. Good for flexible data.
  • Graph databases: Store data as nodes and relationships. Good for social networks.
  • Time-series databases: Optimised for time-based data. Good for analytics.
  • In-memory databases: Store data in RAM for speed. Good for caching.
  • Vector databases: Store data as vectors for AI/ML. Good for similarity search.

We’ll look at a SQL (Structured Query Language) database in the next lessons.

Tags: