JSONカラムをシャーディングしてLogfireのクエリを最大1000倍高速化

Shredding JSON columns gave Logfire up to 1000x faster queries

JSONカラムをシャーディングしてLogfireのクエリを最大1000倍高速化

Logfireがセミ構造化属性データのクエリを劇的に高速化する「動的シャーディング」を導入。頻繁にアクセスされる属性を自動的に抽出し、強く型付けされたカラムとして保存することで、JSON全体のスキャンやパースを回避。これにより、以前は30秒でタイムアウトしていたクエリが1秒未満で完了するようになり、場合によっては1000倍以上の高速化を実現。2026年2月から全顧客に展開予定。

以前は30秒でタイムアウトしていたクエリが、今では1秒未満で完了する。
  1. sgarland

    企業が、DBを扱う人間ならこの10年、いやそれ以上前からよく知られていることを、まるで大発見でもしたかのように振る舞うのを見ると笑えてくる。

    JSONはserdesでも遅いし、特にクエリが遅い。使うなら控えめに、できれば使わない方がいい。正規化はそれほど難しくないし、今ならLLMで簡単にできる。Claudeに「スキーマをBCNFで、ノリノリなら5NFで」と言えばいい。非正規化は、パフォーマンス問題がある場合に限りやれ。

  2. zX41ZdbW

    これはかなり古いテクニックだ。ClickHouseでは「shredding」と名付けられる前から存在していた: https://github.com/ClickHouse/ClickHouse/issues/54864

  3. japgolly

    > すべての属性を単一のJSONカラムに保存するのではなく、最も頻繁にアクセスされる属性を自動的に抽出して、別々の強く型付けされたカラムに格納します。

    彼らが発見したのは喜ばしいが、これはDBの基礎の基礎だ

この日のほかの記事

2026-10-12