What Makes Databases Durable (Even After Crashes)?

Listen to this Post

Featured Image
Databases ensure durability through several key mechanisms, allowing them to recover even after unexpected crashes or hardware failures. Below are the core techniques:

🔹 Write-Ahead Logging (WAL)

Before applying changes to data files, databases log every operation in a sequential, durable file. If a crash occurs, the database replays these logs to restore the exact state.

Example (PostgreSQL WAL Commands):

 Check WAL settings in PostgreSQL 
SHOW wal_level; 
SHOW archive_mode;

Force a WAL segment switch 
SELECT pg_switch_wal();

View WAL directory contents 
ls -l /var/lib/postgresql/14/main/pg_wal/ 

🔹 Checkpointing

Checkpointing creates save points by flushing dirty pages (modified data) to disk, reducing recovery time. This prevents the database from replaying millions of changes after a crash.

Example (PostgreSQL Checkpoint Control):

 Manually trigger a checkpoint 
CHECKPOINT;

Adjust checkpoint frequency in postgresql.conf 
checkpoint_timeout = 15min  Time between automatic checkpoints 
max_wal_size = 4GB  Max WAL size before checkpoint 
min_wal_size = 1GB  Min WAL size retained 

🔹 Replication

Replication ensures data redundancy across multiple machines, protecting against hardware failures, disk corruption, or disasters.

Example (Setting Up PostgreSQL Replication):

 On Primary Server: 
ALTER SYSTEM SET wal_level = 'replica'; 
ALTER SYSTEM SET max_wal_senders = 10; 
ALTER SYSTEM SET synchronous_commit = 'remote_write';

On Replica Server: 
pg_basebackup -h primary-host -U replicator -D /var/lib/postgresql/14/main -P -v --wal-method=stream 

You Should Know:

Linux Commands for Database Durability

  • Monitor Disk I/O (WAL Performance):
    iostat -x 1 
    
  • Check Disk Health (Avoid Corruption):
    smartctl -a /dev/sda 
    
  • Force Sync to Disk (Bypass Cache):
    sync 
    

Windows Commands for Database Durability

  • Check Disk Write Caching (Power Loss Risk):
    Get-Disk | Get-StorageReliabilityCounter | Select-Object -Property<br />
    
  • Verify NTFS Journaling (Similar to WAL):
    fsutil fsinfo ntfsinfo C: 
    

What Undercode Say:

Database durability relies on Write-Ahead Logging (WAL), Checkpointing, and Replication to survive crashes and disasters. WAL ensures every change is logged before applying, checkpointing optimizes recovery, and replication guards against hardware failures.

Key Commands to Remember:

  • PostgreSQL WAL Management: pg_switch_wal(), `CHECKPOINT`
  • Linux Disk Sync: sync, `iostat`
  • Windows Disk Checks: fsutil, `Get-StorageReliabilityCounter`

For a deeper dive, read the full article here: https://lnkd.in/gubtpy-w

Expected Output:

A durable database system leveraging WAL, checkpointing, and replication with practical commands for Linux and Windows administrators.

References:

Reported By: Ashishps1 What – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 Telegram