Server

Databases & Caching

MySQL/MariaDB tuning, backups, replication and Redis.

Databases & Caching articles

Databases & Caching· 4 min read

MySQL Character Sets and Collations

MySQL's 'utf8' is a 3-byte subset that can't store emoji or some CJK. Use utf8mb4. Here's the full charset/collation model and how to fix a garbled database.

October 24, 2026
Databases & Caching· 4 min read

Table Partitioning Strategies

Partitioning splits one logical table into physical chunks. It shines for time-series retention and pruning big scans — and hurts if your queries don't hit the partition key.

October 24, 2026
Databases & Caching· 4 min read

Database Deadlocks Explained

A deadlock is two transactions each holding a lock the other needs. The engine kills one. Here's how to read the log and remove the cause — usually inconsistent lock order.

October 24, 2026
Databases & Caching· 3 min read

PostgreSQL Autovacuum Tuning

Autovacuum reclaims dead rows and prevents transaction-ID wraparound. When it falls behind, tables bloat and queries slow — here's the formula and the fixes.

October 24, 2026
Databases & Caching· 4 min read

Reading a MySQL EXPLAIN Plan

EXPLAIN tells you how MySQL will run a query. Learn to read the type, key, rows, and Extra columns and most slow-query mysteries solve themselves.

October 24, 2026
Databases & Caching· 3 min read

Redis as a Cache: maxmemory and Eviction Policies

Redis only evicts when you tell it to. Here's what each maxmemory-policy does, why allkeys-lfu is usually right for a cache, and how expiry actually works.

October 24, 2026
Databases & Caching· 4 min read

Safe Online Schema Changes in MySQL

A naive ALTER TABLE on a big table locks it for minutes. Here's how to tell which changes are instant, which need a tool, and the deploy pattern that never breaks.

October 24, 2026
Databases & Caching· 3 min read

Database Connection Pooling Explained

A database connection is expensive to create and the server can only handle so many. Pooling reuses a small set — here's how to size it and where to put it.

October 24, 2026
Databases & Caching· 4 min read

MySQL Backups with Percona XtraBackup

mysqldump doesn't scale past a few dozen GB. XtraBackup takes a consistent physical backup of a running InnoDB database with near-zero locking.

October 24, 2026
Databases & Caching· 3 min read

InnoDB Buffer Pool Sizing

The buffer pool is the single most important MySQL memory setting. Too small and you're disk-bound; too big and you swap. Here's how to get it right.

October 24, 2026
Databases & Caching· 3 min read

Redis Persistence: RDB vs AOF

RDB is a compact point-in-time snapshot; AOF logs every write for better durability. Most production Redis should run both — here's why and how.

October 24, 2026
Databases & Caching· 3 min read

MySQL Replication Basics

How MySQL replication actually works, GTID vs binlog coordinates, and the handful of commands for setup, lag monitoring, and un-breaking a stuck replica.

October 24, 2026
Page 1 of 2Older →