# Database overview

# Overview

Database alignment chart

# Storage & use cases

Storage & use cases

# Hierarchical DB use cases

Hierarchical Database use cases

# Terms

Terms

# ACID

ACID

ACID is an acronym that stands for four key properties that define a transaction in a database:

  • Atomicity: All operations within a transaction are treated as a single unit. Either all operations are completed successfully, or none of them are. This ensures that the database remains in a consistent state.
  • Consistency: A transaction moves the database from one consistent state to another. This means that the database adheres to all defined integrity constraints and business rules.
  • Isolation: Concurrent transactions operate independently without interfering with each other. This prevents data corruption and ensures that each transaction sees a consistent view of the database.
  • Durability: Once a transaction is committed, the changes made by the transaction are permanent and will survive system failures.   In essence, ACID properties guarantee the reliability and integrity of data in a database.

# CAP theorem

The CAP theorem says that a distributed system can deliver on only two of three desired characteristics: consistency, availability and partition tolerance.

CAP

# Change Data Capture (CDC)

Change Data Capture (CDC) is a process that identifies and tracks modifications made to data within a database. It captures these changes in real-time or near-real-time and delivers them to downstream systems or applications.

CDC

  1. Data is written to the database normally.
  2. Database uses the transaction log to record the modifications.
  3. CDC software uses the source connector to connect to the database and reads the transaction log.
  4. The source connector publishes the log to the message queue.
  5. CDC software uses its sink connector to consume the log.
  6. The sink connector writes the log content to the destination.

# DBMS Components

DBMS Components

  • Transport
    • Cluster communication
    • Client communication
  • Query processor
    • Query parser
    • Query optimizer
  • Execution Engine
    • Remote Execution
    • Local Execution
  • Storage Engine
    • Transaction manager
    • Lock manager
    • Access methods
    • Buffer database
    • Recovery manager

Popular opensource