# Database overview
# Overview
# Storage & use cases
# Hierarchical DB use cases
# Terms
# 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.
# 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.
- Data is written to the database normally.
- Database uses the transaction log to record the modifications.
CDC software
uses the source connector to connect to the database and reads the transaction log.- The source connector publishes the log to the message queue.
CDC software
uses its sink connector to consume the log.- The sink connector writes the log content to the destination.
# 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