Написать пост

Facebook открыла код системы хранения наборов данных LogDevice

Аватар Наташа Маркова

Инструмент LogDevice сохраняет порядок поступления записей и умеет автоматически перераспределять нагрузку на узлы для повышения производительности.

Обложка поста Facebook открыла код системы хранения наборов данных LogDevice

Facebook открыла код распределенной системы хранения последовательно поступающих наборов данных LogDevice. Система сохраняет порядок поступления записей, обеспечивает отказоустойчивое хранение логов и масштабируется для их быстрой обработки. Код проекта написан на языке С++ и опубликован под лицензией BSD.

Работа с данными

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

Facebook открыла код системы хранения наборов данных LogDevice 1

Хранилище работает в режиме пополнения и не поддерживает изменение или удаление. Оно может хранить записи неограниченное время, также есть возможность чистки устаревших данных по команде администратора, автоматически по истечении указанного времени или при достижении заданного объема дискового пространства.

Другие возможности

LogDevice адаптируется под различные виды нагрузки. Например, система работает с большими объемами данных систем машинного обучения, реплицирует все входящие данные для повышения отказоустойчивости. Она автоматически перераспределяет нагрузку на узлы при выходе из строя и уменьшения их производительности. Движок локального хранения на узлах основан на встроенной базе данных RocksDB и работает как с жесткими дисками, так и с SSD-накопителями.

В июне 2018 год Facebook открыла исходный код отладчика Sonar для приложений на Android и iOS. Инструмент объединеняет знания о структуре приложений и позволяет разработчикам обмениваться информацией о модулях проекта.

Следите за новыми постами
Следите за новыми постами по любимым темам
517 открытий517 показов