Daria Zhukova@cher3pashka
Разработчик программного обеспечения, YT, Yandex
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность
Специализация
Системный инженер, Разработчик баз данных
Младший
C++
Linux
Python
Разработчик программного обеспечения, YT, Yandex
Добрый день!
1) Подскажите, пожалуйста, чанки для мержа и итоговый чанк обязательно должны находиться на одной ноде? Или могут быть на разных?
Не обязательно, могут быть на разных.
"Входные" чанки для мержа в принципе могут находиться на непересекающимся множестве нод, это нормально. Writer чанка пишет сразу несколько "копий" чанка на разные ноды, которые выбираются мастер-сервером.
2) При режиме мержа shallow, чанки, попавшие в мерж остаются на своих местах на тех же нодах, весь мерж идет только в метаданных?
Не совсем, даже в режиме shallow мы все же генерируем новый чанк и используем его, а старые не меняем. Разница с deep в том, что в случае shallow мы не будем пытаться как-то разжать содержимое чанка, просто сконкатенируем неразжатые блобы и отдельно смержим метаданные (для контраста в случае с deep мы честно прочитаем и декодируем все строчки из input чанков и запишем их заново, тем же кодом, что и просто запись в таблицу, это сильно дольше).