Facebook открыла код системы хранения наборов данных LogDevice
Новости
Инструмент LogDevice сохраняет порядок поступления записей и умеет автоматически перераспределять нагрузку на узлы для повышения производительности.
518 открытий522 показов
Facebook открыла код распределенной системы хранения последовательно поступающих наборов данных LogDevice. Система сохраняет порядок поступления записей, обеспечивает отказоустойчивое хранение логов и масштабируется для их быстрой обработки. Код проекта написан на языке С++ и опубликован под лицензией BSD.
Работа с данными
В хранилище данные поступают в виде непрерывного потока неделимых записей, каждая из которых является минимальным объектом адресации и имеет уникальный идентификатор последовательности (LSN). Передающее логи приложение получает информацию о нем после успешной записи данных. При чтении ему могут возвращаться сразу несколько записей, но адресация производится только на основе LSN.
Хранилище работает в режиме пополнения и не поддерживает изменение или удаление. Оно может хранить записи неограниченное время, также есть возможность чистки устаревших данных по команде администратора, автоматически по истечении указанного времени или при достижении заданного объема дискового пространства.
Другие возможности
LogDevice адаптируется под различные виды нагрузки. Например, система работает с большими объемами данных систем машинного обучения, реплицирует все входящие данные для повышения отказоустойчивости. Она автоматически перераспределяет нагрузку на узлы при выходе из строя и уменьшения их производительности. Движок локального хранения на узлах основан на встроенной базе данных RocksDB и работает как с жесткими дисками, так и с SSD-накопителями.
В июне 2018 год Facebook открыла исходный код отладчика Sonar для приложений на Android и iOS. Инструмент объединеняет знания о структуре приложений и позволяет разработчикам обмениваться информацией о модулях проекта.
518 открытий522 показов