LevelDB

редактировать
Хранилище ключей и значений с открытым исходным кодом от Google
LevelDB
Разработчик (и) Джеффри Дин, Санджай Гемават, Google Inc.
стабильный выпуск 1.22 / 3 мая 2019 г.; 17 месяцев назад (2019-05-03)
Репозиторий Измените это в Викиданных
Написано наC ++
Размер 350 КБ (размер двоичного файла)
Тип Библиотека базы данных
Лицензия Новая лицензия BSD
Веб-сайтgithub.com / google / leveldb

LevelDB - это открытый источник хранилище ключей и значений на диске, созданный Google товарищами Джеффри Дином и Санджай Гемават. Вдохновленный Bigtable, LevelDB размещен на GitHub под New BSD License и был перенесен на множество Unix -систем., macOS, Windows и Android.

Содержание

  • 1 Функции
  • 2 История
  • 3 Использование
  • 4 Производительность
  • 5 Ошибки и надежность
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

Возможности

LevelDB хранит ключи и значения в произвольных байтовых массивах, а данные сортируются по ключу. Он поддерживает пакетную запись, прямую и обратную итерацию, а также сжатие данных с помощью библиотеки сжатия Google Snappy.

LevelDB не является базой данных SQL. Как и другие хранилища NoSQL и dbm, он не имеет реляционной модели данных и не поддерживает запросы SQL. Кроме того, он не поддерживает индексы . Приложения используют LevelDB как библиотеку, поскольку она не предоставляет серверный интерфейс или интерфейс командной строки.

MariaDB 10.0 поставляется с механизмом хранения, который позволяет пользователям запрашивать таблицы LevelDB из MariaDB.

История

LevelDB основан на концепциях из Bigtable от Google. система базы данных. Реализация таблиц для системы Bigtable была разработана примерно с 2004 года и основана на базе внутреннего кода Google, отличной от кода LevelDB. Эта кодовая база опирается на ряд библиотек кода Google, которые сами по себе не имеют открытого исходного кода, поэтому прямой открытый исходный код этого кода был бы затруднен. Джефф Дин и Санджай Гемават хотели создать систему, напоминающую стек планшета Bigtable, которая имела бы минимальные зависимости и подходила бы для открытого исходного кода, а также подходила бы для использования в Chrome для реализации IndexedDB. Они написали LevelDB, начиная с начала 2011 года, с тем же общим дизайном, что и стек планшета Bigtable, но не разделяют никакого кода.

Использование

LevelDB используется в качестве серверной базы данных для Google Chrome IndexedDB и является одним из поддерживаемых серверных модулей для Riak. Кроме того, Bitcoin Core и go-ethereum хранят метаданные блокчейна с использованием базы данных LevelDB. Minecraft Bedrock Edition использует модифицированную версию для хранения фрагментов и сущностей. Autodesk AutoCAD 2016 также использует LevelDB.

Производительность

Google предоставил тесты, сравнивающие производительность LevelDB с SQLite и Kyoto Cabinet в различных сценариях. LevelDB превосходит SQLite и Kyoto Cabinet в операциях записи и операций чтения в последовательном порядке. LevelDB также отлично справляется с пакетной записью, но работает медленнее, чем SQLite, при работе с большими значениями. Опубликованные в настоящее время тесты были обновлены после того, как ошибки конфигурации SQLite были отмечены в более ранней версии результатов. Обновленные тесты показывают, что LevelDB также превосходит Berkeley DB, но эти тесты также показывают, что OpenLDAP LightningDB намного быстрее (~ 10 раз в некоторых сценариях) в операциях чтения. и некоторые типы записи (например, пакетная и синхронная запись, см. ссылку выше), и почти равны в остальной части теста.

Ошибки и надежность

LevelDB имеет историю ошибок повреждения базы данных. Исследование, проведенное в 2014 году, показало, что в старых файловых системах (без контрольной суммы) база данных могла быть повреждена после сбоя или сбоя питания.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-27 07:13:09
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте