Компания Facebook выпустила в открытых кодах RocksDB, постоянное хранилище данных «ключ-значение», с помощью которого социальная сеть доставляет контент 1,2 млрд своих пользователей. Код продукта опубликован в расчете на то, что сторонние разработчики будут помогать в его дальнейшем развитии. В этом году Facebook также раскрыла код созданных в компании JIT-компилятора PHP — HipHop Virtual Machine, механизма распределенного исполнения запросов Presto, системы кэширования Flashcache и планировщика задач Hadoop — Corona.

RocksDB не является полноценной СУБД SQL- или NoSQL-типа — отсутствуют индексирование и язык запросов. Хранилище лишь поддерживает операции записи и удаления контента без разбора типов данных. RocksDB распространяется в виде библиотеки C++, которую можно встраивать в приложения, нуждающиеся в доступе к большим наборам данных с очень малой задержкой, — например, в механизмы распознавания спама или поисковые системы. RocksDB является ответвлением проекта Google LevelDB, усовершенствованным программистами Facebook — улучшена работа с наборами данных, которые не умещаются в рабочую память сервера, и реализована возможность распределенного исполнения на множестве процессорных ядер. В результате, как утверждают в Facebook, запись в случайном порядке ускорилась по сравнению с LevelDB на порядок, а считывание — на 30%.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF