<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>low-level-luke</title><description>Databases, systems programming, performance, and things I&apos;m learning.</description><link>https://low-level-luke.me/</link><item><title>What Does Freezing a Row Mean in PostgreSQL?</title><link>https://low-level-luke.me/posts/postgres-vacuum-freezing/</link><guid isPermaLink="true">https://low-level-luke.me/posts/postgres-vacuum-freezing/</guid><description>A short explanation of frozen rows, transaction ID wraparound, and why vacuum needs to freeze old tuple metadata.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate></item><item><title>How Does Parquet Store JSON Objects?</title><link>https://low-level-luke.me/posts/how-does-parquet-store-json-objects/</link><guid isPermaLink="true">https://low-level-luke.me/posts/how-does-parquet-store-json-objects/</guid><description>How Parquet represents nested JSON data using flattened columns, repetition levels, and definition levels.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>PostgreSQL Vacuum</title><link>https://low-level-luke.me/braindumps/postgres-vacuum/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/postgres-vacuum/</guid><description>How PostgreSQL vacuum works, and what I got wrong along the way</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate></item><item><title>PAX, Row Groups, and Parquet</title><link>https://low-level-luke.me/braindumps/pax/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/pax/</guid><description>How PAX-style layouts and Parquet organize data for analytics, and what I got wrong along the way</description><pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Two-Phase Locking (2PL)</title><link>https://low-level-luke.me/braindumps/2pl/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/2pl/</guid><description>How two-phase locking controls concurrent transactions, and what I got wrong along the way</description><pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Database Concurrency Models</title><link>https://low-level-luke.me/braindumps/database-concurrency-models/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/database-concurrency-models/</guid><description>How databases handle multiple clients at once, and what I got wrong along the way</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Paxos</title><link>https://low-level-luke.me/braindumps/paxos/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/paxos/</guid><description>How Paxos coordinates state across machines, and what I got wrong along the way</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Linearizability</title><link>https://low-level-luke.me/braindumps/linearizability/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/linearizability/</guid><description>What linearizability means in distributed systems, and what I got wrong along the way</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate></item><item><title>SQLite Query Execution</title><link>https://low-level-luke.me/braindumps/sqlite/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/sqlite/</guid><description>How SQLite processes a query from SQL text to results, and what I got wrong along the way</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Log-Structured Merge Trees</title><link>https://low-level-luke.me/braindumps/lsm-trees/</link><guid isPermaLink="true">https://low-level-luke.me/braindumps/lsm-trees/</guid><description>How LSM trees trade read performance for fast writes, and what I got wrong along the way</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Finding the Cost of a TLB Miss</title><link>https://low-level-luke.me/posts/finding-the-cost-of-a-tlb-miss/</link><guid isPermaLink="true">https://low-level-luke.me/posts/finding-the-cost-of-a-tlb-miss/</guid><description>Notes from the OSTEP homework on discovering TLB cache sizes and miss costs</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item></channel></rss>