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

LogDevice

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

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

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

LogDevice

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

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

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

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

via OpenNET
Source: блог LogDevice

Ещё интересное для вас:
— Биты, байты, Ада Лавлейс — тест на знание околоIT.
— Level Up — события и курсы, на которых можно поднять свой уровень.
— Работа мечты — лучшие IT-вакансии для вас.