Pull to refresh

Google открывает LevelDB: ещё одна внутренняя разработка

Reading time 2 min
Views 13K
Компания Google открыла исходные коды LevelDB — это созданный в Google быстрый движок (библиотека) для работы с хранилищем пар ключ-значение.

Библиотеку LevelDB на C++ можно использовать для разных целей. Например, веб-браузер может обрабатывать с помощью LevelDB кэш недавно посещённых страниц. Операционная система — список установленных пакетов и зависимостей между ними, а любое приложение может использовать LevelDB для хранения пользовательских настроек.

Библиотека LevelDB сделана таким образом, чтобы её было удобно использовать как строительный блок при создании хранилищ более высокого уровня. Будущие версии браузера Chrome содержат реализацию программных интерфейсов IndexedDB HTML5 API, которые построены поверх LevelDB. Даже высокопроизводительная база данных Google Bigtable управляет миллионами сегментов таблиц (tablets), в которых содержание конкретного сегмента представлено аналогом LevelDB. Недавно для распределённой базы данных Riak также была добавлена поддержка LevelDB.

В самой библиотеке LevelDB оставили минимум зависимостей, так что её легко портировать на любые системы. Она уже портирована на различные Unix-системы, OS X, Windows и Android.

Что касается производительности, то Google предлагает посмотреть на эти бенчмарки, которые сравнивают производительность LevelDB с SQLite и Kyoto Cabinet. В некоторых тестах LevelDB имеет очень значительное преимущество.

Кроме того, разработчики Riak проводили сравнение с InnoDB. В этих тестах главным преимуществом LevelDB перед другими системами вроде SQLite и Kyoto Cabinet является то, что LevelDB оптимизирована для массовых апдейтов, в которых изменяются многие ключи в большом адресном пространстве. Это важное условие для эффективного обновления инвертированного индекса, который не помещается в оперативной памяти.

Библиотека распространяется под свободной лицензией BSD-типа.

via Open Source at Google
Tags:
Hubs:
+33
Comments 34
Comments Comments 34

Articles