Database engineering topic

Database Engineering

Articles about database design, optimization, and best practices

35 canonical articles

Open Source Databases (2026): PostgreSQL, MySQL, ClickHouse, Cassandra & Beyond

Navigate the open source database landscape. Compare MySQL, PostgreSQL, MongoDB, Redis, and Cassandra with detailed feature analysis and selection criteria.

PostgreSQL5 minMay 13, 2026
Read

Liquibase vs Flyway: Which Database Migration Tool to Choose?

Compare Liquibase and Flyway for schema migration management — features, abstraction level, and team fit

11 minJan 31, 2026
Read

Apache Airflow for Database Workflows: Scheduling and Orchestration

Use Apache Airflow to orchestrate database ETL, backup jobs, and maintenance tasks — DAGs, sensors, and best practices

12 minJan 30, 2026
Read

Transactional Outbox Pattern: Reliable Event Publishing from Databases

Implement the transactional outbox pattern to publish events reliably from MySQL or PostgreSQL without dual-write problems

11 minJan 29, 2026
Read

dbt (data build tool): A Guide for Database Engineers

Use dbt to build modular SQL transformations — models, tests, documentation, and CI/CD for your data warehouse

12 minJan 26, 2026
Read

CDC vs ETL vs ELT: Choosing the Right Data Integration Pattern

Compare CDC, ETL, and ELT — latency, complexity, cost, and when each pattern fits your data pipeline needs

11 minJan 25, 2026
Read

2025 in Databases: Year in Review and What to Expect in 2026

2025 was the year databases competed on operational simplicity. Serverless databases matured, pgvector merged vector search into PostgreSQL, and CDC became standard infrastructure. Here's what mattered and what's next.

PostgreSQL10 minDec 30, 2025
Read

Online DDL in TiDB: Non-Blocking Schema Changes for Distributed SQL

TiDB performs schema changes online without blocking reads or writes — using a distributed DDL queue across TiDB nodes. Here's how it works and how to monitor DDL jobs in production.

TiDB8 minDec 15, 2025
Read

Database Migration Anti-Patterns: 5 Mistakes That Cause Production Incidents

Teams take down production for hours with migrations that could be zero-downtime operations. Learn to use gh-ost and CREATE INDEX CONCURRENTLY, implement rollback plans, and apply the expand-contract pattern for breaking changes.

PostgreSQL10 minNov 25, 2025
Read

Debezium 3.0: Real-Time CDC from PostgreSQL, MySQL, and MongoDB

Debezium 3.0 turns your database transaction log into a real-time event stream with full before/after row images. Learn to configure CDC for PostgreSQL WAL and MySQL binlog, avoid the offset storage trap, and monitor replication lag.

PostgreSQL4 minOct 28, 2025
Read

Database CI/CD: Versioned Migrations, GitHub Actions, and Schema Testing

Implement database CI/CD with Flyway migrations, GitHub Actions pipelines, pytest schema tests, and blue-green deployment patterns. Eliminate ad-hoc schema changes.

PostgreSQL6 minOct 7, 2025
Read

MySQL Schema Migration Best Practices: Expand-Contract and Batch Backfills

Execute MySQL schema migrations safely with the expand-contract pattern, batched backfills, backward-compatible changes, and migration tooling comparison (Flyway, Liquibase, gh-ost).

MySQL1 minSep 3, 2025
Read

ETL Pipeline Monitoring: Freshness Checks, Row Reconciliation, and dbt Tests

Monitor ETL pipelines with data freshness checks, row count reconciliation, dbt data quality tests, and Slack alerting. Detect silent failures before users do.

5 minJul 11, 2025
Read

Kafka Connect: JDBC Source, SMTs, Dead Letter Queues, and Connector Monitoring

Operate Kafka Connect database pipelines with current JDBC and Debezium settings, protected REST access, deliberate DLQ handling, and task-level monitoring.

Kafka5 minJun 16, 2025
Read

Apache Flink CDC: Real-Time Database Change Capture at Scale

Use Apache Flink CDC to capture MySQL and PostgreSQL changes — stateful processing, exactly-once semantics, and Kubernetes deployment

13 minFeb 20, 2024
Read

GitOps for Database Change Management: Automated Schema Deployments

Apply GitOps principles to database changes — PR-based schema reviews, automated migrations, and rollback strategies

11 minAug 15, 2023
Read

Zero-Downtime Database Migrations: The Expand-Contract Pattern for MySQL and PostgreSQL

A production guide to zero-downtime database migrations — why ALTER TABLE causes downtime, the Expand-Contract pattern, safe migration patterns for PostgreSQL and MySQL, and tooling with Flyway, Liquibase, pt-osc, and gh-ost.

PostgreSQL14 minJun 27, 2023
Read

Data Quality for Database Teams: Validation, Profiling, and Alerting

Add data quality checks to your pipeline — row count validation, schema drift detection, and anomaly alerting with Great Expectations

12 minJun 6, 2023
Read

UUIDs as Primary Keys: How We Destroyed Database Performance

UUIDs as primary keys can destroy database performance. Learn why 50M rows went from 0.5ms to 2.3ms inserts, and how to fix it with hybrid approaches.

PostgreSQL10 minJun 6, 2023
Read

PostgreSQL Row Level Security (RLS): Multi-Tenant Access Control in Practice

A production guide to PostgreSQL Row Level Security — policy creation, USING vs WITH CHECK clauses, performance implications with indexes, and multi-tenant SaaS patterns with real schema examples.

PostgreSQL11 minMay 8, 2023
Read

Debezium Advanced: Handling Schema Changes, Restarts, and Offsets

Go beyond basics with Debezium — handle schema evolution, manage connector offsets, and build resilient CDC pipelines

12 minApr 25, 2023
Read

Debezium and Change Data Capture: Stream MySQL and PostgreSQL to Kafka

Debezium reads MySQL binary logs and PostgreSQL WAL to stream every row-level change as a Kafka event in near real-time — replacing nightly batch ETL with sub-second data propagation.

PostgreSQL11 minApr 3, 2023
Read

PostgreSQL Logical Replication to Kafka: End-to-End Setup

Stream PostgreSQL changes to Kafka using pgoutput and Debezium — setup, monitoring, and lag management

PostgreSQL12 minMar 21, 2023
Read

Database Change Management: Schema Versioning and Review Processes

Implement schema change management with versioning, peer review, and automated validation for safe deployments

11 minMar 7, 2023
Read

PostgreSQL Foreign Data Wrappers: Query External Data Sources

Use PostgreSQL FDW to query MySQL, S3, MongoDB, and other databases from within PostgreSQL — setup and performance tips

PostgreSQL11 minFeb 7, 2023
Read

Apache Spark and JDBC: Reading and Writing Databases at Scale

Use Spark with JDBC to read from and write to relational databases — partition strategies, predicate pushdown, and write modes

12 minJan 31, 2023
Read

Database-to-Data-Warehouse Replication: Patterns and Anti-Patterns

Replicate OLTP databases to analytical warehouses — CDC, bulk load, incremental sync, and schema evolution handling

12 minJan 17, 2023
Read

TimescaleDB: PostgreSQL for Time-Series Data — Hypertables, Compression, and Continuous Aggregates

A production guide to TimescaleDB — hypertable setup, automatic chunk management, columnar compression policies, retention policies, continuous aggregates with time_bucket(), and comparison against InfluxDB and Prometheus.

PostgreSQL12 minDec 13, 2022
Read

MySQL Binlog to Kafka: Building a CDC Pipeline

Build a MySQL CDC pipeline using binlog and Kafka — Debezium, Maxwell, or Canal — trade-offs and production setup

MySQL12 minDec 7, 2022
Read

Apache Kafka for Database Engineers: A Practical Introduction

Understand Kafka from a database perspective — partitions, offsets, consumer groups, and durability guarantees

Kafka11 minSep 28, 2022
Read

Advanced Indexing Strategies for Database Scalability

Deep dive into advanced database indexing strategies including composite indexes, covering indexes, and partial indexes. Optimize query performance with expert indexing techniques.

5 minSep 13, 2022
Read

Flyway: Database Migration Versioning Done Right

Manage SQL schema migrations with Flyway — versioned and repeatable scripts, CI/CD integration, and team workflows

11 minJul 26, 2022
Read

Airbyte: Open-Source ELT for Database Replication

Deploy Airbyte to replicate data from MySQL, PostgreSQL, and MongoDB to your warehouse — connectors, scheduling, and transforms

11 minJul 14, 2022
Read

The Ultimate Guide to Choosing the Right Database for Your Application

Navigate the complex landscape of database technologies. Compare SQL vs NoSQL, OLTP vs OLAP, and learn decision frameworks for selecting the perfect database for your use case.

16 minMay 31, 2022
Read

Battle of Memory Allocators: A Deep Dive

Discover how jemalloc, tcmalloc, and mimalloc can dramatically improve MySQL memory management. Real benchmarks showing 2-4x performance improvements and memory leak prevention.

10 minJan 18, 2022
Read