Яндекс випустив вихідний код YTsaurus

YTsaurus

YTsaurus — це розподілена платформа для зберігання та обробки великих даних із підтримкою моделі MapReduce.

Кілька днів тому Яндекс оприлюднив через один оголошений відкриття вихідного коду платформи YTsauru, який використовується для розподіленого зберігання та обробки великих обсягів даних, який підтримує маніпулювання даними за допомогою парадигми MapReduce, механізму запитів SQL, розподіленої файлової системи та зберігання NoSQL у форматі ключ-значення.

YTsaurus використовується в інфраструктурі Яндекса ефективно використовувати обчислювальні потужності суперкомп’ютерів компанії Платформа може масштабуватися до кластерів із понад 10 000 вузлів, охоплюючи до мільйона процесорів і тисячі графічних процесорів (для завдань машинного навчання).

Ізольовані контейнери, що працюють на фізичних серверах, можна використовувати як одиниці кластера. Сховище може містити ексабайти даних, розташованих на різних носіях, таких як жорсткі диски, SSD, NVME та RAM.

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

Підтримуються три типи кластерів: обчислювальні кластери (для масової паралельної обробки великих даних за допомогою операцій 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. 


Додати як пріоритетне джерело в Google