Facebook открыла исходный код алгоритма сжатия Zstandard и подсистемы хранения для MySQL MyRocks
Вчера интернет-компания Facebook на конференции @Scale представила миру Open Source новый алгоритм сжатия — Zstandard, а также движок хранения данных в MySQL — MyRocks.
Zstandard (Zstd) — технология сжатия без потерь данных, которая призвана сменить существующие библиотеки вроде zlib, где используется устаревшая компрессия с Deflate. Внутри Facebook сжатие с Zstandard тестировалось на протяжении полугода, и авторы отмечают «впечатляющие результаты» этого испытательного периода: при одинаковом с библиотекой zlib уровнем сжатия скорость работы Zstandard оказывалась в пять раз быстрее, а в экспериментах с сохранением постоянного времени компрессии файлы оказывались на 10 % меньше.
MyRocks — подсистема хранения данных (storage engine) для свободной СУБД MySQL, которая используется в Facebook «для улучшения эффективности хранения данных в БД MySQL». По сравнению со сжатыми данными в рамках стандартного движка MySQL — InnoDB — разработке Facebook удаётся экономить до половины занимаемого пространства.
Исходный код Zstd опубликован под свободной лицензией BSD и вместе с документацией и некоторыми сравнительными характеристиками доступен на GitHub. Движок данных MySQL MyRocks распространяется в рамках ветки СУБД MySQL v5.6 от Facebook, код которой также выложен на GitHub.
Дмитрий Шурупов по материалам techcrunch.com.