Storage

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

Мы создаём и развиваем общую инфраструктуру хранения данных, на которой
команды Яндекса и пользователи Yandex Cloud строят свои продукты. Клиентов
становится всё больше, и мы должны обеспечить их надёжную и стабильную
работу.

Ключевые характеристики


  • copy.png Триллионы файлов

  • server.png Более 2 эксабайт данных

  • transfers.png Сотни гигабит в секунду входящей и исходящей нагрузки

  • activity.png Более 1 000 000 запросов к данным в секунду

  • database.png Более 300 000 дисков

  • network.png Данные геораспределены по нескольким дата-центрам

Чем мы занимаемся


  • archive.png Единое хранилище данных (MDS)
    Технологическая основа нашей инфраструктуры, высокодоступное, надёжное и
    горизонтально масштабируемое хранилище

  • photo-landscape.png Общеяндексовое хранилище изображений (Avatars)
    Сервис хранения, передачи, обработки и оптимизации изображений в различных
    форматах

  • database.png Yandex Cloud Object Storage
    Универсальное масштабируемое облачное объектное хранилище с S3-совместимым интерфейсом

  • globe.png Yandex Cloud CDN
    Сервис для организации сети распространения контента конечным пользователям по всему миру

Какие задачи мы решаем


Надёжность и масштабируемость

Объём хранимых данных постоянно растёт, причем с экспоненциальной
скоростью.
Наша система должна поддерживать этот рост — уметь масштабироваться на
100 000 хостов без потери качества, а это влечёт существенные изменения как в
архитектуре системы, так и в Ops-подходах.

Чем больше система, тем сложнее за ней следить и поддерживать в рабочем
состоянии 24x7x365. К тому же на таких масштабах непредвиденные
аппаратные и программные ошибки, всплески нагрузки случаются так часто, что
становятся нормой.
Мы стремимся к автоматизации всех процессов — от релизного цикла (CI/CD) до
развёртывания всей системы в совершенно новом окружении, от восстановления
битых секторов и замены сбойных дисков до проведения учений по Disaster
Recovery.

Оптимизация

Мы стремимся выжать максимум из "железа" и ПО, поэтому постоянно ищем узкие места и оптимизируем их. Это позволяет ускорить работу системы для пользователей, эффективнее потреблять вычислительные ресурсы и удешевить хранение данных.

Достичь этого нам помогают:

  • эффективные структуры данных и алгоритмы;
  • перевод отдельных компонентов на актуальный стек;
  • новые алгоритмы компрессии к различным типам данных;
  • новые схемы хранения и репликации данных.

Удобство использования

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

Для удобства пользователей мы:

  • реализуем и развиваем протоколы работы с хранилищем от S3 API до NFS/(S)FTP и FUSE;
  • по запросу реализуем фичи и целые сервисы, которые позволяют пользователям и бизнесу проще и эффективнее решать задачи.

Технологии


Многие готовые опенсорсные решения плохо справляются с нашими задачами в
условиях гигантских объёмов и нагрузок, поэтому большинство компонентов в
наших сервисах собственной разработки.

В основном мы пишем на Go — он отлично подходит для выстраивания
бизнес-логики задач, прост и имеет встроенную асинхронность. Здорово, если
вы знаете Go, а если нет — не беда. Мы легко научим и поможем набраться
экспертного опыта.
Отдельные компоненты разрабатываем на C++ и Python, где они эффективнее.

В качестве баз для метаданных используем в основном PostgreSQL — уже
накопили свой опыт, обращаемся к помощи коллег из Managed Databases.

Рассказываем о себе


Выступления

Object Storage: анонсы — Михаил Костин

Yandex Object Storage сценарии использования, масшабируемость и оптимизация производительности

На пути к эксабайту — Антон Кортунов

Beyond Object Storage: СDN и новые возможности объектного хранилища

Yandex Cloud Backup: сохранить всё!

highload.jpg

Статьи

habr.png Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные

habr.png YARL: как Яндекс построил распределённый Rate Limiter с нулевым влиянием на время ответа сервисов

habr.png Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные

Опенсорсные проекты

github.png yandex-cloud/geesefs: Finally, a good FUSE FS implementation over S3

Больше, чем работа


В команде есть:

  • потомственный пивовар;
  • хакеры-победители яндексового хакатона Capture The Flag;
  • дрифтер и гонщики на великах;
  • неформальная атмосфера, юмор категории B и C.

squiz.jpg

antmat.jpg

Предыдущая
Следующая