
Владимир Озеров
Querify Labs
Мы привыкли, что низкоуровневое и системное программирование — это про C++ (или, на худой конец, Rust), и Java здесь не место. Вместе с тем большое количество популярных СУБД и движков обработки больших данных написано на Java. Apache Spark, Apache Cassandra, Presto, почти вся экосистема Hadoop — все и не упомнить.
В докладе расскажу, почему на Java можно и нужно писать высокопроизводительные системы по обработке данных. В качестве примера мы будем использовать Trino — высокопроизводительный движок для больших данных, на который прямо сейчас активно мигрирует буквально каждая вторая крупная российская компания. Рассмотрим конкретные техники, которые позволяют Trino быстро обрабатывать большие объемы данных на Java: колоночное представление данных, JIT-компиляцию с помощью ASM, графовые алгоритмы и т. п. Кроме того, обсудим, каким образом Trino активно адаптирует самые свежие JEP: векторизацию и SIMD, виртуальные потоки, FFI. Схожие решения активно применяются в большом количестве других продуктов, написанных Java.
Querify Labs