Blog
About

© 2026 Uzair Tariq

Blog

Thoughts, ideas, and things I find interesting.

When multiple leaders write: handling conflicts

How multi-leader replication enables local writes, why conflicts happen, and how to design safe resolution rules

distributed systemsdatabases+3 more tags: replication, data consistency, system design
Aug 29, 2026

How leader-follower replication behaves in production

How leader-follower replication handles writes, failures, replica lag, and read consistency in production

distributed systemsdatabases+3 more tags: replication, system design, data engineering
Aug 29, 2026

How data moves through systems without breaking old code

How databases, APIs, and message brokers keep data compatible through real-world deployments

system design+5 more tags: distributed systems, schema evolution, data serialization, api design, message queues
Aug 27, 2026

How schemas let data evolve without breaking old code

How data formats and schemas let old and new services safely evolve together

databasessystem design+4 more tags: schema evolution, data serialization, protocol buffers, avro
Aug 20, 2026

Why faster analytics comes with less write flexibility

How column stores handle writes, and when materialized views and OLAP cubes make repeated analytics much faster

databasesdata warehousing+4 more tags: columnar storage, materialized views, olap, system design
Aug 17, 2026

The column-storage ideas that finally clicked for me

My practical notes on column storage, bitmap indexes, Cassandra, and vectorized processing

databasescolumnar storage+4 more tags: cassandra, bitmap indexes, performance, system design
Aug 12, 2026

Why analytics databases store data by column

Why column stores make analytical queries faster through selective reads, compression, bitmap indexes, and CPU-friendly scans

databasesdata warehousing+4 more tags: columnar storage, analytics, olap, performance
Aug 12, 2026

Why transactional databases and data warehouses do different jobs

Why OLTP and OLAP need different database designs, and how ETL, warehouses, and star schemas support analytics

databasessystem design+4 more tags: data warehousing, oltp, olap, etl
Aug 11, 2026

Beyond primary keys: how databases index real queries

How secondary, spatial, full-text, and in-memory indexes make real database queries fast, and what each trade-off costs

databasesindexing+4 more tags: system design, storage engines, search, performance
Aug 6, 2026

How Cassandra Makes LSM-Trees Work at Scale

How Cassandra uses partitioning, replication, compaction, and separate analytics pipelines to make LSM-trees practical at banking scale

cassandralsm trees+5 more tags: databases, system design, distributed systems, data engineering, compaction
Aug 5, 2026

B-trees vs LSM-trees: where each storage engine pays the cost

A practical comparison of B-trees and LSM-trees: writes, compaction, latency, and transaction trade-offs

databasesstorage engines+4 more tags: b-trees, lsm trees, system design, performance
Aug 5, 2026

What a database B-tree really looks like on disk

A practical mental model for database B-trees: pages, heap rows, MVCC, WAL, page splits, and how they compare with LSM-trees

databasesb-trees+3 more tags: postgresql, storage engines, system design
Aug 5, 2026
« Latest‹ Newer
1 / 2
Older ›Oldest »