PostgreSQL Query Rewriting Techniques The previous articles in this series covered performance problems you fix by adding indexes, restructuring joins, or tuning memory. This one is about the queries where the plan is "fine" — every node is doing something reasonable — but the query itself is asking the wrong question, producing unnecessarily large intermediate results or forcing the planner dow
This section is the map for the rest of the book. The five stages introduced in the 1.1 chapter overview (parse, analyze/rewrite, plan, portal, execute) are traced here through the actual code: which functions implement each stage, and in what order they get called. The mechanics of each of the five stages are unpacked in later chapters. Here, only the skeleton matters: how a backend starts up, ho
PostgreSQL Internals · Chapter 1 Query Processing Suppose a client sends SELECT * FROM users WHERE id = 1. The path that single line travels before coming back as a result row is longer than you might expect. Inside the PostgreSQL backend, that SQL goes through a five-stage pipeline. Backend entry and dispatch. The backend receives the message from the client and decides which processing path it s
SQL is widely known for data querying and manipulation but systems do grow; data becomes larger; processes become repetitive and operations become sensitive. SQL has some features which enables it to be considered a fully fledged programming language. Some of the features which I discuss in this article are procedures, functions and transactions. Each of these concepts serve distinct purposes. Sto
At 100 million 768-dimensional embeddings, the gap between top-tier vector search tools isn't just measurable—it's existential. In our 6-month benchmark across 12 hardware configurations, FAISS 1.9 delivered 4.2x lower p99 latency than Chroma 0.6, while Pinecone 1.6 cost 11x more than self-hosted FAISS for equivalent throughput. Here's what the numbers actually say. What Chromium versions are ma
Introduction Placing RDS in a private subnet protects it from unauthorized external access — but it also means you can no longer connect directly from your developer machine. This article walks you through a step-by-step guide to securely connect to a private-subnet RDS (PostgreSQL) instance using AWS Client VPN. Developer PC │ │ UDP 443 (TLS / Mutual Certificate Authentication) ▼ Client
If you’ve ever waited 12 seconds for a git clone of a 5GB monorepo behind a corporate firewall, you know the cost of poor Git server performance: $47k annual productivity loss for a 50-person engineering team, per our 2024 internal benchmark. For 15 years, I’ve tuned Git infrastructure for teams from 4-person startups to 10k+ engineer orgs, and the debate between lightweight Gitea and feature-heav
Benchmark CI/CD in Docker 25 vs Cilium: What You Need to Know Modern CI/CD pipelines demand high performance, low latency, and reliable networking. Two technologies often at the center of containerized workflow discussions are Docker 25 (the latest major release of the ubiquitous container runtime) and Cilium (the eBPF-powered CNI plugin for Kubernetes). While they operate at different layers of