📚

Introduction to Databases and DBMS

Mar 17, 2025

Lecture Notes: Introduction to Databases and Database Management Systems (DBMS)

Overview

  • Introduction to databases and the role of Database Administrators (DBAs).
  • Cloud Engineers and Architects often suggest databases rather than working in-depth with them.
  • Importance of performance testing to switch databases if needed.

Definition of a Database

  • Database: An organized collection of structured information stored electronically.
  • Data is refined and stored in a database by organizations.

Database Management System (DBMS)

  • DBMS: Software providing an interface for users/applications to interact with stored data.
    • Functions include retrieving, updating, managing, and organizing data.

Types of DBMS

  • Relational DBMS (RDBMS): Known as SQL databases.
  • Non-relational DBMS: Known as NoSQL databases.
  • Examples:
    • Relational: MySQL, PostgreSQL, Oracle.
    • Non-relational: Cassandra, MongoDB, DynamoDB (AWS).

Characteristics of Relational Databases

  • Data is stored in tables; relationships between different data attributes.
  • Schema: Structure of data storage defined before data entry.
    • Altering the schema post-data entry is complex.
  • Primary Key: Uniquely identifies each data entry, usually set before data entry.

SQL and NoSQL Databases

  • SQL: Used for relational databases, involves structured query language.
  • NoSQL: Stores unstructured/semi-structured data, often in key-value pairs or JSON format.

AWS Relational Database Service (RDS)

  • RDS: AWS service to manage databases, reducing administrative overhead.
  • Offers easy scaling, backup, recovery, and disaster recovery.
  • Supports both relational (SQL) and non-relational (NoSQL) databases.

RDS Deployment Strategies

  • Multi-AZ Instance Deployment: Provides active-passive setup for backup and disaster recovery.
  • Multi-AZ Cluster Deployment: Provides active-active setup with multiple reader instances to split the load and improve performance.

Backups and Read Replicas

  • Automatic and Manual Backups: AWS manages lifecycle of automatic backups; manual backups stay until deleted.
  • Read Replicas: Used to scale read-heavy workloads and for disaster recovery.
    • Data replication to read replicas is asynchronous.

Hands-On Demo

  • Creating a Database with AWS RDS: Use of MySQL in a private subnet.
  • Bastion Host: Used to access the RDS instance securely.
  • DB Management Tool: Usage of DBeaver for database operations.

Key Points to Remember

  • Always define schema before data entry in relational databases.
  • The importance of primary keys for data integrity.
  • The use of bastion host for secure database access.
  • Practice SQL commands for effective database management.

Additional Recommendations

  • Study basic SQL for better understanding of database operations.
  • Explore AWS documentation for deeper insights into RDS and DBMS functionalities.