TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.52K subscribers
Post #3059 171
Адаптивное разбиение HashJoin в Bolt: меньше повторных выгрузок на диск

При соединении таблиц через хеш-таблицу нехватка памяти вынуждает Bolt разбивать строки на разделы и писать их на диск. Если раздел снова не помещается в память, цикл повторяется: чтение, разбиение, запись.

В техническом разборе адаптивного разбиения первая нехватка памяти служит оценкой вместимости. Bolt сопоставляет число обработанных строк с общим числом строк: при 10 млн строк и вместимости около 800 тысяч фиксированных 4 разделов мало, а адаптивный выбор может дать 16 или 32.

В статье показан путь статистики строк до решения о разбиении. Число разделов только увеличивается; ширина строк влияет на точность оценки, а перекос ключей всё ещё может создавать слишком крупные разделы. Разработчикам аналитических движков здесь есть что учесть при диагностике повторных выгрузок.

#производительность #разборы
Bolt Adaptive Spill Partitioning: Using Runtime Row Counts to Reduce Recursive HashJoin Spill When the build side of a HashJoin exceeds its memory budget, the hash table has to be split by hash partition and written to disk. The basic mechanism is straightforward: split build rows into partitions, read partitions back one by one, rebuild the hash…
More from @prog_stuff
  1. Oct 9, 2026Ускорение строковых агрегаций в DuckDB через таблицу измерений SQL-гайд по замене повторяю…
  2. Oct 8, 2026Детерминированные тесты TigerBeetle: проверки внутри реплик Обстоятельный разбор тестирова…
  3. Oct 8, 2026Автоматизация обслуживания ScyllaDB в Discord: устройство задач и сценариев Инженерный раз…
  4. Oct 7, 2026Как изолировать медленного WebSocket-клиента При блокирующей отправке клиент, который не у…
  5. Oct 7, 2026Как подготовить Rails-код к параллельной работе через Ractor Глубокий разбор адаптации Rai…
  6. Oct 6, 2026Почему BPF LPM trie замедляется с ростом таблицы префиксов Обстоятельный разбор сбоя Cloud…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →