Как подружить ClickHouse с процессором на 100+ ядер Ядер в процессорах все больше, и в теории это прекрасно: больше ядер — больше производительности. На практике это тоже хорошо, но есть нюанс. Чтобы на 100% использовать мощности железа, софт нужно под него оптимизировать — и базы тоже. ClickHouses выложили в своем блоге статью, написанную инженерами Intel Shanghai, о том, как преодолеть ограничения БД и «научить» ее использовать вычислительные мощности их процессоров с 100+ ядер. 💬 Всего они выявили 5 ключевых областей, где ClickHouse можно (и нужно) докрутить, чтобы увеличить производительность: прекратить тормозящую всю базу конкуренцию за блокировки, оптимизировать работу с памятью, распараллелить процессы на множество потоков и разобраться с false sharing'ом. Если этого не делать, то вся мощность и многоядерность процессора пойдут только во вред и насоздают боттлнеков на пустом месте. Сделать это будет совсем непросто — авторы в статье неоднократно предупреждают, что чтобы получить результат, нужно глубоко разобраться в том, как работает база, и некоторые процессы фундаментально пересмотреть. 💬 Хотя статья про ClickHouse, описанные в ней подходы могут быть применимы и к другим базам. По мере того, как мощность процессоров будет расти, будет расти и важность умения оптимизировать софт под них.