Oracle Berkeley DB

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: www.oracle.com/database/technologies/related/berkeleydb.html

Oracle Berkeley DB — встраиваемая библиотека управления данными с поддержкой ключ‑значение, разработанная для использования внутри приложений. Изначально созданная как Berkeley DB, она предоставляет низкоуровневые механизмы хранения и индексирования, обеспечивая прямой доступ к данным без необходимости развёртывания отдельного серверного процесса. Berkeley DB реализует несколько моделей хранения, включая простую пару «ключ–значение», B‑Tree, Hash и поддержку транзакций, что делает её подходящей для широкого круга прикладных задач, от встроенных систем до сервисов с высокими требованиями к производительности.

Проект развивался как свободное программное обеспечение, после чего прошёл ряд изменений в управлении и лицензировании и в конечном итоге был включён в портфель продуктов Oracle. Berkeley DB используется в системах, где важны компактность, детерминированная производительность и контроль над механизмами управления вводом‑выводом. Библиотека предлагает API на нескольких языках программирования и допускает настройку параметров кэширования, журналирования и синхронизации для балансировки между производительностью и надёжностью хранения.

  • Модель хранения: поддержка ключ‑значение, B‑Tree и хеш‑таблиц для различных сценариев доступа к данным.
  • Транзакции: атомарные операции, согласованность и изоляция с возможностью отката и восстановления.
  • Журналирование и восстановление: механизмы логирования изменений для обеспечения целостности данных после сбоев.
  • Блокировка и параллелизм: управление конкурентным доступом с использованием блокировок и механизмов многопоточной работы.
  • Кеширование и настройки производительности: настраиваемый буферный пул, параметры ввода‑вывода и возможности тонкой настройки под нагрузку.
  • Выборочные интерфейсы: языковые привязки и API для C, C++ и других языков через обёртки.
  • Малый размер и встраиваемость: библиотека предназначена для интеграции в приложения без отдельного серверного компонента.
  • Конфигурируемость хранения: возможность выбора режима синхронной записи, контроля журналов и политики сохранения для компромисса между скоростью и надёжностью.
  • Управление файлами данных: хранение данных в файлах с возможностью настройки формата и управления ростом хранилища.
  • Совместимость и переносимость: кроссплатформенная работа на Unix‑подобных системах и Windows с долгой историей использования в различных проектах.
Подробнее