YTsaurus — это целая инфраструктурная экосистема, состоящая из тесно переплетающихся друг с другом продуктов.

Слой хранения предоставляет несколько уровней: метаданные, статические таблицы для аналитических данных, и транзакционное KV-хранилище для realtime-процессов.

Дата-инженеры Яндекса могут с помощью MapReduce операций или SPYT-джобов обработать консистентный срез KV-словаря и статической таблицы с событиями. Над результатами этих вычислений менеджеры строят BI-витрины с помощью CHYT.

Аналитики выполняют ad hoc запросы над петабайтами логов на высокоуровневом языке YQL. ML-инженеры строят сложные графы вычислений для обучения моделей на GPU-кластерах под управлением YT. А команда YT обеспечивает всем надежную инфраструктуру, чтобы коллеги могли сосредоточиться на решении продуктовых задач.

40 000
серверов работают над управлением YT во всех дата-центрах Яндекса
2 000 000
CPU-ядер
обрабатывают данные 24×7
2.2
экзабайта на HDD, SSD и NVME дисках используется для хранения информации

Команда

Мы искренне увлечены большими распределёнными системами и сложными техническими задачами. Многие из нас имеют академический опыт и до сих пор активно преподают — в МФТИ, ВШЭ, ШАД и других высших учебных заведениях. Несколько человек занимали топовые места в соревнованиях по спортивному программированию.

Мы следим за новостями индустрии и регулярно обсуждаем свежие доклады с VLDB, SIGMOD и CppCon, а иногда и сами выступаем, например на HighLoad++ и Hydra.

В команде сохраняется дух стартапа: дружно общаемся в рабочее и нерабочее время, вместе штурмуем задачи, экспериментируем и участвуем в CTF.

Работаем в Москве, Белграде, Ереване, Минске и других локациях, в том числе удалённо.

Ищем талантливых бэкенд-разработчиков с уверенным знанием структур данных и алгоритмов, а также опытом разработки распределённых систем. Пишем на C++, Java, Scala, Go/Python.

Ключевые разработчики

Технологии
Ядро системы написано на современном С++ с использованием собственной библиотеки асинхронного программирования на основе файберов. Мы не используем boost, но стараемся брать лучшее из кодовых баз таких проектов, как Chromium, LLVM, Folly и Abseil.
Мы поддерживаем и развиваем SDK для работы с YT на различных языках программирования: С++, Java, Golang и Python. Кроме того, мы работаем над более высокоуровневым API на основе Apache Beam.
Для запуска и изоляции пользовательского кода мы используем внутреннюю систему управления контейнерами Porto. 
Управление кластерами осуществляется с помощью внутренних систем менеджмента сервисов. Используя их API, мы разрабатываем инструменты для автоматизации регламентных операций на Python и Go. Кроме того, мы разрабатываем собственный оператор для разворачивания YT в Kubernetes.
Кого мы ищем
Разработчик на С++ в группу разработки CHYT
Мы ждем, что вы имеете уверенный опыт бэкенд-разработки на С++, понимаете базовые принципы работы баз данных и хотите попробовать себя в разработке распределённой системы с большой кодовой базой.
Руководитель команды разработки YP и YT ORM
Мы ждем, что вы имеете опыт промышленной разработки на С++, умеете работать в команде и готовы выстраивать рабочие взаимоотношения с коллегами из других подразделений.
Java-разработчик в команду Нирваны
Мы ждем, что вы писали веб-сервисы на Java, неравнодушны к системам контейнеризации и готовы самостоятельно организовывать командную разработку крупного сервиса.
Техлид ядра Spark over YT
Мы ждем, что вы уверенно пишете на Scala или Java не меньше трёх лет, готовы учить другие языки, а так же понимаете принципы обработки больших данных, парадигму MapReduce и её наследников.

Процесс разработки

Планирование и распределение задач внутри команды происходит в свободной форме, мы работаем гибко, не привязываясь к методологиям. Задачи возникают не только как фичреквесты от пользователей, но часто внутри команды, в ответ на требования производительности, опыт эксплуатации и сравнение с конкурентами.

Мы практикуем обязательное code review, и тщательно следим за соблюдением единого стиля и подходов к разработке. Используем различные виды автотестов — юнит-тестирование, интеграционное тестирование, тестирование с использованием синтетической нагрузки и fault injection на тестовом окружении.

В Яндексе развёрнуто более 15 YT-кластеров, которые мы эксплуатируем и предоставляем другим командам as a service. В эксплуатации кластеров участвуют все разработчики: выкатывают релизы и хотфиксы, настраивают мониторинги, занимаются траблшутингом и помогают пользователям.

Статьи и выступления
YTsaurus: основная система для хранения и обработки данных Яндекса теперь open source
Highload++ 2021,
Игнатий Колесниченко
«Как сдержать самые сложные обещания: планирование batch-задач в системе Yandex.YT»
HighLoad 2021
Hydra 2020
Максим Бабенко «Erasure Coding at Scale»

Если вы хотите стать частью нашей команды — находите вакансию и откликайтесь

5 вакансий
Разработчик динамических таблиц YTsaurus в Open Source
Динтаблицы YTsaurus — это NewSQL-база данных, которую используют многие сервисы Яндекса: Поиск, Реклама, Такси и другие. Мы ищем человека, который будет помогать решать задачи, связанные с развитием динтаблиц в Open Source.
Разработчик на С++ в группу разработки CHYT
CHYT — компонент платформы для распределённого хранения и обработки данных YTsaurus. Ищем специалиста, который будет улучшать интеграцию сервисов Яндекса и CHYT и оптимизировать исполнение запросов. Откликайтесь, если занимались бэкенд-разработкой и разбираетесь в работе баз данных.
Технический менеджер в области хранения и обработки данных
YTsaurus — платформа хранения и обработки больших данных для сервисов Яндекса. Мы ищем технического менеджера для работы над проектами, связанными с развитием платформы. Ждём, что вы управляли проектами или продуктами и работали с командой разработчиков.
Java-разработчик в команду Нирваны
Наша команда разрабатывает Нирвану — группу инфраструктурных сервисов всего Яндекса и вычислительную платформу для выполнения произвольных пользовательских процессов. Ищем разработчика, который будет развивать сервис по сборке, поиску и оптимизации контейнерных образов.
Руководитель команды разработки YP и YT ORM
Yandex YT — основная инфраструктурная экосистема компании. Мы делаем платформу для хранения и обработки эксабайтов данных в batch и real-time. Ищем разработчика, который будет предлагать надёжные и простые в использовании решения. Вам предстоит строить продукты для тысяч сотрудников Яндекса.
Wed Jun 19 2024 10:36:07 GMT+0300 (Moscow Standard Time)