В первой схеме вижу пару лишних телодвижений, чего-то тут не хватает
А что вам мешает попробовать и узнать точно? В первом случае кафка энджин сформирует блок и передаст его MV первого слоя, там сожрется немного CPU на преобразования (но вроде у вас они легкие) сформируется новый блок, и его уже отдадут двум другим view второго слоя, каждый из которых прочитает весь блок и запишет в таблицу что захочет. Во втором случае именно сформированный KE блок будет прочитан два раза, преобразован и записан в финальную таблицу. Вроде второй вариант ожидаемо чуть легче, но на мой взгляд разница не велика - это же все циклы в памяти. Тут важнее думать о финальной записи - диск тормозит, CPU на компрессию тратится. Какие диски, какие кодеки. Что лучше - ускорять долларами SSD или палить CPU на компрессии. Например, если эти 2B/day скорее всего никто не будет читать, то можно и компрессировать от души.
Спасибо. У меня, к сожалению, нет такого тестового стенда. Попробовал на самом жирном топике на боевом - вышло примерно одинаково (с учётом основной нагрузки на сервер), вот и решил уточнить, вдруг более опытные коллеги укажут известные подводные камни.
Обсуждают сегодня