Senior Java Developer, Database Engine
Зарплата
Требования
Местоположение и тип занятости
Компания
Описание вакансии
О компании и команде
Компания Querify Labs создает CedrusData — распределенный SQL-движок для обработки больших данных на основе open-source проекта Trino. CedrusData позволяет организациям быстро анализировать все свои данные из разных источников без разработки сложных ETL-процедур.
Мы также занимается международным консалтингом в области разработки систем управления данными (оптимизаторы запросов, аналитические движки, распределенные протоколы) на основе технологий Apache Calcite и Apache Arrow.
Ранее наши инженеры работали над проектами Apache Ignite, Hazelcast, Yandex Clickhouse и Yandex Database (YDB, YQL). Мы часто выступаем на российских и международных конференциях (Highload++, Percona Live, ApacheCon), ведем технический блог о базах данных и активно участвуем в проектах с открытым исходным кодом.
О продукте
Технически CedrusData представляет собой распределенный массивно-параллельный аналитический движок для выполнения федеративных SQL-запросов. Система подключается к источникам данных предприятия (озера данных, а так же аналитические, транзакционные и NoSQL системы) посредством коннекторов. После получения SQL-запроса от пользователя, CedrusData определяет оптимальную стратегию доступа к данным, выполняет чтение данных из источников, после чего производит финальную обработку и объединение данных в кластере. Полученный результат может быть передан непосредственно приложению или пользователю, или записан в другой источник данных.
Ожидания от кандидата
- Уверенное знание Java (collections, concurrency, networking).
- Знание базовых алгоритмов, структур данных и основ многопоточности. Понимание архитектуры компьютеров (CPU, память, сеть).
- Сильные аналитические навыки.
- Умение работать в команде. Мы ценим ориентацию на практический результат и уважительное отношение к коллегам.
- Опыт разработки СУБД, распределенных или высоконагруженных систем будет плюсом.
- Опыт профилирования производительности будет плюсом.
- Опыт эксплуатации big data систем (Apache Spark, Apach Flink, и т.п.) будет плюсом.
- Опыт разработки на C++ будет плюсом.
Условия работы
На данной позиции вы будете заниматься разработкой нового функционала CedrusData, основными задачами которого является повышение производительности и надежности ядра системы, а так же удобства управления продуктом. Основная часть изменений приходится на ядро open-source проекта Trino:
- Оптимизация колоночного движка выполнения (пайплайны операторов, scheduling, JIT-компилятор, управление памятью и т.п.).
- Разработка улучшений оптимизатора SQL-запросов (cost-based оптимизация с использованием алгоритма Cascades, планирование порядка Join-ов и т.п.).
- Разработка нового функционала management & monitoring (метрики, телеметрия, management API).
- Разработка коннекторов к новым источникам данных, улучшение существующих коннекторов.
Кроме этого, часть вашего времени будет приходиться на разработку пилотных проектов на основе CedrusData и помощь при внедрении.
Мы используем Java 17 и C++21 для разработки и Bazel для сборки и CI.
Условия
- Действительно сложные и нетривиальные задачи в области аналитической обработки данных и распределенных систем.
- Полностью удаленная работа с гибким графиком. Вы так же можете работать из нашего офиса в центре Санкт-Петербурга.
- Высокая заработная плата.
- Полная компенсация больничных.
- Возможность выступать на профессиональных конференциях.