Backend

Senior Java Developer, Database Engine Full-time

О компании и команде

Компания 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), ведем технический блог о базах данных и активно участвуем в проектах с открытым исходным кодом.

Ожидания от кандидата

  • Уверенное знание Java (collections, concurrency, networking).
  • Знание базовых алгоритмов, структур данных и основ многопоточности. Понимание архитектуры компьютеров (CPU, память, сеть).
  • Сильные аналитические навыки.
  • Умение работать в команде. Мы ценим ориентацию на практический результат и уважительное отношение к коллегам.
  • Опыт разработки СУБД, распределенных или высоконагруженных систем будет плюсом.
  • Опыт профилирования производительности будет плюсом.
  • Опыт эксплуатации big data систем (Apache Spark, Apach Flink, и т.п.) будет плюсом.
  • Опыт разработки на C++ будет плюсом.

Условия работы

О продукте

Технически CedrusData представляет собой распределенный массивно-параллельный аналитический движок для выполнения федеративных SQL-запросов. Система подключается к источникам данных предприятия (озера данных, а так же аналитические, транзакционные и NoSQL системы) посредством коннекторов. После получения SQL-запроса от пользователя, CedrusData определяет оптимальную стратегию доступа к данным, выполняет чтение данных из источников, после чего производит финальную обработку и объединение данных в кластере. Полученный результат может быть передан непосредственно приложению или пользователю, или записан в другой источник данных.

О роли

На данной позиции вы будете заниматься разработкой нового функционала CedrusData, основными задачами которого является повышение производительности и надежности ядра системы, а так же удобства управления продуктом. Основная часть изменений приходится на ядро open-source проекта Trino:

  • Оптимизация колоночного движка выполнения (пайплайны операторов, scheduling, JIT-компилятор, управление памятью и т.п.).
  • Разработка улучшений оптимизатора SQL-запросов (cost-based оптимизация с использованием алгоритма Cascades,  планирование порядка Join-ов и т.п.).
  • Разработка нового функционала management & monitoring (метрики, телеметрия, management API).
  • Разработка коннекторов к новым источникам данных, улучшение существующих коннекторов.

Кроме этого, часть вашего времени будет приходиться на разработку пилотных проектов на основе CedrusData и помощь при внедрении.

Мы используем Java 17 и C++21 для разработки и Bazel для сборки и CI.

Условия

    • Действительно сложные и нетривиальные задачи в области аналитической обработки данных и распределенных систем.
    • Полностью удаленная работа с гибким графиком.  Вы так же можете работать из нашего офиса в центре Санкт-Петербурга.
    • Высокая заработная плата.
    • Полная компенсация больничных.
    • Возможность выступать на профессиональных конференциях.

    Overview

    • Employer: CedrusData
    • Job Title: Senior Java Developer, Database Engine
    • Published: 1 year ago
    Apply For This Job