作るソフトウェアにもっと野心を持てばいい
Michael Malis は Rust で Postgres を書き直している。多くの人は一目見て vibeslop の山に放り込む。Dan Luu の答えは、粗悪な書き直しが溢れていることはやらない理由にならないというものだ。モデルのおかげで「自分が使えればいい」ツールは驚くほど安く作れる。
もっと見る PostgreSQL
ホームMichael Malis は Rust で Postgres を書き直している。多くの人は一目見て vibeslop の山に放り込む。Dan Luu の答えは、粗悪な書き直しが溢れていることはやらない理由にならないというものだ。モデルのおかげで「自分が使えればいい」ツールは驚くほど安く作れる。

シャードグループはコロケーションの単位だ。いちばん重要なクエリとトランザクションが共有するキーを見つけ、そのキーを持つテーブルをすべて同じグループに入れる。

Cloudflare は D1 のコントロールプレーンを書き直し、クエリパスに一切の関連作業を入れずに数百万のデータベースを管理できるようにした。Durable Objects、ハートビート、キュー、事前集計した使用量表、Quicksilver で複製したレートリミッターを使っている。

Postgres 19 は TOAST 圧縮を pglz から LZ4 に切り替える。LZ4 はより高速だが、常に小さくなるわけではなく、使用すると一部の読み取りが遅くなる。

IBM の ARIES から今日まで。先に順序ログを書いてからデータページを書き込む方式が停電に耐えられる理由、checkpoint と group commit がそれぞれ何を解決するのか、物理 WAL と論理 WAL の違い、よくある 2 つの誤用(長いトランザクションを閉じない、速度のために fsync を切る)を扱う。 commit
Postgresに手書きでテーブルアクセスメソッド(TAM)を書く連載第3回。3つの共有メモリ機構の選び方、DSAのポインタ間接参照がなぜシーケンシャルスキャンを4〜5倍遅くするのか、pinするのはセグメントかマッピングか、そして_PG_initとshmem_startup_hookの役割分担。

x86-64 と aarch64 のどちらを選ぶかは、Postgres がファイルをどう読むかで決まる。記事は両者の違いと、新しいアプリでどちらを選ぶべきかを整理する。

Postgres の全文検索をインデックス構造から解説。GIN インデックスが語を行にどう対応させるか、`LIKE '%x'` がインデックスを使えない理由、trigram インデックスの曖昧一致のコストまで。

Postgresが千台のサーバーにシャーディングされた後、1つのSELECTが認証、wire protocol、分散クエリプランナーをどう通過するか、NekiルーターはGoでSCRAM-SHA-256を再実装しSimpleとExtendedの両プロトコルをサポート。

PlanetScaleがPostgres全文検索拡張TINをリリース、48ビットのctidをそのままpostingのネイティブ形式として使用し、85 GB・1億5000万文書のベンチマークでスループットがParadeDB、pg_textsearch、組み込みGINより少なくとも8倍高く、インデックス作成は8分10秒。