Modern SQLite: Features You Didn't Know It Had
SQLite has evolved far beyond a simple embedded database. Explore modern features like JSON, FTS5, window functions, strict tables, and more.
We scaled PgBouncer to 4x throughput
PgBouncer is single-threaded, so a single process caps out at one CPU core no matter the box size. See how ClickHouse Managed Postgres runs a peered fleet of PgBouncer processes with so_reuseport to scale pooling across every core — with benchmarks showin
Hunting a 16-year-old SQLite WAL bug with TLA+
This article was written by Marco Manino and Alberto Carretero, dqlite team at Canonical. 1. Anatomy of a SQLite bug Recently SQLite published a new version with a fix to a long-standing bug in the way that the Write Ahead Log (WAL) is checkpointed that leads to the corruption of the database. The important aspect […]
Fabrice Bellard's TS Zip (2024)
Results and speed for other programs on enwik8 and enwik9 are available at the Large Text Compression Benchmark .
Postgres transactions are a distributed systems superpower
Keeping workflow state and application data in the same Postgres database lets one transaction update both, simplifying idempotency and atomicity.
Tin: full-text search for Postgres
TIN is a fast, full-featured, full-text search index for Postgres
Redis 8.8: New array data structure, rate limiter, performance improvements
Redis 8.8 is now available in Open Source. Explore the new array data type, window counter rate limiter, streams NACK, and more performance-focused updates.
GLM 5.2 is nearly as accurate as a human book keeper
A real quarter of UK SME books, 59 transactions, 68 minutes, $2.73 of tokens — and a VAT return within 7 pence of the human-prepared one.
P99 0 ms* autocomplete for 240M domain names
How Wirewiki's domain-name autocomplete renders suggestions next frame for 99% of keystrokes.
MinIO Is Dead, Long Live MinIO
MinIO’s repo is officially archived and abandoned. And how AI Agents helped bring it back from the dead. This post explains how a community fork restores the admin console and ships binaries via CI/CD pipeline.
Why DuckDB 2.0 is faster
DuckDB 2.0 alpha vs 1.5.5 on one laptop: recursive CTEs up to 90x, VARIANT 6x faster than JSON text, async I/O 2.4x on S3. What changes, and how to model data to get the speedup. | Reading time: 15 min read
Looking Forward to Postgres 19: Query Hints
Postgres 19 brings plan advice: the query hints the Postgres community held off on for 15 years. Shaun Thomas covers the 15-year debate, pg_plan_advice, pg_stash_advice, and how to use them.
Supabase is acquiring Turso
Supabase is acquiring Turso to build the database infrastructure for agentic AI
ClickHouse acquires Langfuse
Our goal continues to be building the best AI engineering platform
Looking Ahead to Postgres 19
Discover the top PostgreSQL 19 features, including built-in REPACK CONCURRENTLY, SQL property graph queries (SQL/PGQ), and logical replication updates.
Language models for text classification: From bag-of-words to Jev
A Visual Guide to RNNs, CNNs, Transformers, and Calibration, with Hands-On Experiments on Accuracy and Efficiency
How Compaction Works in Pi
Why compaction is needed for large language models and how Pi implements it
SQLite in Production: Lessons from Running a Store on a Single File
Run Rails on SQLite with WAL and Docker volumes while accounting for the concurrency failure that appears during blue-green deploys.
Full-Text Search with DuckDB
Pete Doherty is a NYC based software developer
How we index images for RAG
Reading the screenshots, diagrams and tables in technical documentation for LLMs
OpenTelemetry profiles enters public alpha
Since OpenTelemetry first introduced Profiles, momentum has only grown towards building a unified industry standard for continuous production profiling, standing alongside traces, metrics, and logs. Today, the Profiling SIG is proud to announce that the Profiles signal has officially entered public Alpha, and we are…
5NF and Database Design
Author: Alexey Makhotkin squadette@gmail.com, (~3900 words) One of the goals of this publication is to deconstruct the traditional ways of teaching basic topics in relational databases. Previously we discussed the fourth normal form (4NF): “Historically, 4NF explanations are needlessly confusing”. Let’s discuss the…
Good CTE, Bad CTE
The planner treats CTEs very differently depending on how you write them. Here's what happens under the hood, version by version, through PostgreSQL 18.
Python Polars Cheatsheet (based on our O'Reilly book)
Quick reference guide for transforming, analyzing, and visualizing data with Python Polars.
The only scalable delete in Postgres is DROP TABLE
Large DELETEs add work instead of reclaiming it. Structure your database so deletion becomes DROP TABLE or TRUNCATE.
PostgreSQL and the OOM killer: Why we use strict memory overcommit
In this blog post, we will explain how strict memory overcommit protects your database from catastrophic OOM (out of memory) kills. We will also share how a one character kernel bug forced us to temporarily disable this setting. Finally, we will explain our heuristic for determining the right memory overcommit limit…
Pandas Should Go Extinct
Pandas has taken us a long way, but it's time for a new bear
Data Compression Explained (2012)
Copyright (C) 2010-2012, Dell, Inc . You are permitted to copy and distribute material from this book provided (1) any material you distribute includes this license, (2) the material is not modified, and (3) you do not charge a fee or require any other considerations for copies or for any works that incorporate…
Replacing a 3 GB SQLite db with a 10 MB FST (finite state transducer) binary
Note for numberphiles: all numbers have been rounded to their first significant digit, because I’m a fan of Rob Eastaway’s “zequals” method of getting to the point when it comes to estimation. It’s much more valuable to walk away with the heuristic “some dude got a 300x memory reduction by swapping out a database he…