Яндекс опубликовал исходный код YTsaurus

ЮЦаурус

YTsaurus — это распределенная платформа для хранения и обработки больших данных с поддержкой модели MapReduce.

Несколько дней тому назад Яндекс представил через один объявленный открытие исходного кода платформы YTsauru, который используется для распределенного хранения и обработки больших объемов данных, который поддерживает манипулирование данными с использованием парадигмы MapReduce, механизма запросов SQL, распределенной файловой системы и хранилища NoSQL в формате ключ-значение.

ЮЦаурус использовал на инфраструктуре Яндекса эффективно использовать вычислительную мощность суперкомпьютеров компании Платформа может масштабироваться до кластеров из более чем 10 000 узлов, охватывающих до миллиона процессоров и тысяч графических процессоров (для задач машинного обучения).



Изолированные контейнеры, работающие на физических серверах, могут использоваться в качестве единиц кластера. Хранилище может содержать эксабайты данных, расположенных на различных носителях, таких как жесткие диски, твердотельные накопители, NVME и ОЗУ.



Кластер поддерживает динамическое добавление и удаление узлов, избыточность (отсутствие единой точки отказа), автоматическую репликацию, активные обновления программного обеспечения кластера и автоматическое восстановление избыточности в случае отказа узла.

Поддерживаются три типа кластеров: вычислительные кластеры (для массивно-параллельной обработки больших данных с использованием операций MapReduce), кластеры для сводных таблиц и хранилища ключей и значений, а также географически распределенные кластеры.



Платформенный сервис может предоставить средства для хранения и обработки данных для десятков тысяч пользователей. Типичные приложения YTsaurus в Яндексе включают в себя хранение информации о пользователях рекламной сети, обучение моделей машинного обучения, формирование поискового индекса и построение хранилища данных для таких сервисов, как Яндекс Такси, Еда, Лавка и доставки.

Из основных вариантов использования упоминаются:

  • Пакетная обработка: MapReduce и SPYT (Apache Spark как вычислительный движок данных в YTsaurus) для обработки структурированных и частично структурированных данных: записей или финансовых транзакций.
  • Специальный анализ: Быстрые запросы через CHYT (группа серверов ClickHouse на вычислительных узлах YTsaurus) без копирования данных в отдельную систему аналитики. ODBC и JDBC с возможностью подключения BI для визуализации.
  • OLTP-задачи: Транзакционная работа в режиме реального времени с хранилищем «ключ-значение»: например, хранилище профилей пользователей, показ рекламы или обработка потоков.
  • Машинное обучение: Управляйте кластерами GPU для обучения моделей с миллиардами параметров.
  • Хранение метаинформации: Транзакционное хранение метаинформации и надежное обслуживание распределенных блокировок.
  • Создание хранилищ данных и ETL для многоуровневой обработки данных с использованием типовых инструментов: Apache Spark, SQL, MapReduce.


При этом со стороны основных элементов архитектуры упоминаются следующие:

  • Распределенная файловая система и отказоустойчивое древовидное хранилище метаинформации Cypress.
  • Планировщик для распределенных вычислений с поддержкой модели MapReduce, а также расширенными базовыми операциями.
  • Горизонтальная масштабируемость ИТ-операций.
  • Изоляция вычислительных ресурсов и возможность распределения определенных вычислительных ресурсов (CPU, GPU, RAM) в разных пропорциях.
  • Сводные таблицы для создания хранилища OLTP, поддержка хранилища на основе MVCC, транзакций, возможность удаления данных после истечения срока действия и очереди сообщений для потоковой обработки данных через сводные таблицы.
  • API и библиотеки для языков программирования C++, Python, Java, Go.
  • Веб-интерфейс для пользователей и администраторов, поддерживающий навигацию по древовидному хранилищу.


В конце концов если вам интересно узнать об этом больше, следует знать, что код проекта написан на языке C/C++ и открыт под лицензией Apache 2.0. Вы можете уточнить подробности в по следующей ссылке.

El Репозиторий GitHub содержит серверный код для YTsaurus, среду развертывания, используемую k8s, веб-интерфейс к системе и клиентские SDK для популярных языков программирования, таких как C++, Java, Go и Python. 




2023-03-29T09:48:24
GNU / Linux