Database

Technical Journal // Database
May '26

Just About Go Time

A breakdown of the absolute absurdity of human time, monotonic clocks in Go, and the one true way to store time across PostgreSQL, Couchbase, and mobile clients.

May '26

How to Handle PostgreSQL Database Migrations in Go with Goose

A breakdown of database migration strategies and implementation guide using PostgreSQL, Golang, and the Goose migration engine.

Mar '26

ClickHouse data masking with regex

Ingesting PII is easy; cleaning it up is hard. Here is how to use ClickHouse's data masking policies and regex to redact sensitive logs in flight without killing your query performance.

Mar '26

ClickHouse vs. Postgres: When to Move Your Logs Out of a Relational DB

Postgres is the swiss-army knife of databases, but when you hit the 10-million row mark for write-heavy logs, the relational wall becomes real. Here is why we moved our observability stack to ClickHouse.

Jan '26

ClickHouse as a Vector Database

Vector databases are everywhere now. Pinecone, Weaviate, Milvus - the list goes on. But what if you're already running ClickHouse and don't want yet another database to manage? Turns out, ClickHouse can do vectors too. This post explores what vector databases actually are, why ClickHouse might be a surprisingly good choice, and how to get semantic search running with plain SQL.

Jan '26

OLTP vs OLAP - Why You Need Two Databases

"The database that runs your app cannot be the database that analyzes your app". It's a hard lesson learned at scale. Early on, Postgres does it all. But as you hit massive scale, your analytics queries start killing your login APIs. This post breaks down the physics of Row-oriented (Couchbase) vs Column-oriented (ClickHouse) databases, and how to bridge them using Change Data Capture (CDC) for a robust, lag-free architecture.

Dec '25

Introducing CouchLens: A Query Analysis Tool for Couchbase

CouchLens is a browser-based tool for analyzing Couchbase N1QL query performance. It parses system tables, extracts execution plans, and generates insights to help database administrators find performance bottlenecks without sending data to external servers. This post explains what it does, how to use it, and what features are coming.

Nov '25

What Couchbase Taught Me About System Thinking

Working with Couchbase for the past year and a half has been more than just learning a database. It has been an exercise in system thinking: seeing how indexes, queries, consistency, and durability interact, and how small design choices ripple through performance and reliability. This essay is my personal notebook from that journey. It is technically dense because Couchbase demands precision, but it is also reflective because the lessons extend beyond one database. Understanding how array indexes multiply entries, why compound index order matters, or how query consistency flags change latency is not just about Couchbase, it is about learning to think in terms of systems, trade‑offs, and consequences.