Logfire ускорил запросы к JSON-колонкам до 1000 раз благодаря динамическому шардингу

Shredding JSON columns gave Logfire up to 1000x faster queries

Logfire ускорил запросы к JSON-колонкам до 1000 раз благодаря динамическому шардингу

Logfire внедрил динамический шардинг: часто запрашиваемые атрибуты автоматически извлекаются в отдельные типизированные колонки. Это устраняет необходимость парсинга JSON и лишнего ввода-вывода, ускоряя запросы, которые раньше завершались по таймауту, до менее секунды. Функция станет доступна всем клиентам в феврале 2026 года.

Запросы, которые раньше завершались по таймауту через 30 секунд, теперь выполняются менее чем за секунду.
  1. sgarland

    Мне смешно, когда компании ведут себя так, будто совершили огромное открытие, которое хорошо известно любому, кто работает с базами данных последнее десятилетие, если не больше.

    JSON ужасно медленный, как для serdes, так и особенно для запросов к нему. Используйте его экономно, если вообще используете. Нормализация не так уж сложна, и теперь с LLM это тривиально. Скажите Claude, что хотите схему в BCNF, или в 5NF, если чувствуете себя смелым. Денормализуйте только в том случае, если у вас есть проблемы с производительностью.

  2. zX41ZdbW

    Это довольно старая техника. В ClickHouse она появилась до того, как получила название "shredding": https://github.com/ClickHouse/ClickHouse/issues/54864

  3. japgolly

    > Вместо хранения всех атрибутов в одной JSON-колонке мы автоматически извлекаем наиболее часто запрашиваемые атрибуты в отдельные строго типизированные колонки.

    Я рад, что они сделали это открытие, но это основы баз данных.

Ещё за этот день

2026-10-12