Berkeley DB

Berkeley DB
Тип свободное и открытое программное обеспечение, База данных «ключ-значение» и Встраиваемая СУБД
Разработчики Марго Сельцер[d][4], Кит Бостич[d][4], Sleepycat Software[d] и Oracle
Написана на Си и интерфейс программирования приложений
Операционные системы Windows, Linux, AIX, Solaris, SCO Group и Классическая Mac OS
Первый выпуск 1991[1]
Последняя версия
Лицензия GNU Affero General Public License
Сайт oracle.com/database/berk…

Berkeley DB (BDB) — высокопроизводительная встраиваемая система управления базами данных, реализованная в виде библиотеки. Нереляционная система — хранит пары «ключ — значение» как массивы байтов и поддерживает множество значений для одного ключа.

В системе отсутствует сетевой доступ — программы используют базу данных через вызовы внутрипроцессного API. SQL поддерживается в качестве одного из интерфейсов начиная с версии 5.0 (2010). Поддерживаются как ACID-транзакции, детальные блокировки, интерфейс распределённых транзакций XA, горячее резервное копирование и репликацию. Может использоваться как средство для построения хранимых индексов, так и в качестве хранилища данных. Существуют средства для работы с Berkeley DB на большинстве популярных языков программирования, включая Perl, Python, PHP, Ruby.

Первая версия была создана в Университете Беркли во время разработки BSD версии 4.3 (июнь 1986 года). Netscape попросила авторов Berkeley DB улучшить и расширить библиотеку — в то время версию 1.85, — чтобы она удовлетворяла их требованиям к использованию в сервере LDAP и в браузере Netscape. Этот запрос привёл к созданию Sleepycat Software, занявшейся развитием и коммерциализацией проекта. С конца 1990-х система входит в состав большинства дистрибутивов Linux. В феврале 2006 года Sleepecat Software поглощена корпорацией Oracle. Распространялась под лицензией Sleepycat Public License[en], которая была одобрена OSI и FSF; начиная с версии 6.0.20 переведена на лицензию AGPL (2013), тогда же появилась возможность приобрести проприетарную лицензию для использования в закрытых проектах. В 2020 году СУБД получила ежегодную премию SIGMOD в номинации «Системы».

Oracle распространяет BDB в трёх вариантах:

  • Berkeley DB — собственно библиотека на Си;
  • Berkeley DB Java — библиотека, переписанная на Java (поддержка Google Android, Apache Maven);
  • Berkeley DB XML — библиотека на Си, реализующая XML-СУБД на основе Berkeley DB со средствами работы с XML (Xerces, XPath, XQuery, XQilla).

Примечания

  1. https://www.usenix.org/legacy/events/usenix99/full_papers/olson/olson.pdf
  2. Berkeley DB Library Version 18.1.40 Change Log (англ.)
  3. https://fossies.org/linux/misc/db-18.1.40.tar.gz/db-18.1.40/README?m=t
  4. 1 2 https://www.aosabook.org/en/intro1.html

Литература

  • Himanshu Yadava. The Berkeley DB Book. — Apress, 2007. — 462 с. — ISBN 978-1-59059-672-2.
  • Sleepycat Software, Inc. Berkeley DB. — Sams, 2001. — 688 с. — ISBN 978-0-7357-1064-1.
  • Brian, D. The Definitive Guide to Berkeley DB XML. — Apress, 2006. — 416 p. — ISBN 9781430202202.
  • Sandeep Koranne. 9.5 Berkeley DB // Handbook of Open Source Tools. — Springer Science & Business Media, 2010. — P. 181–185. — ISBN 978-1-4419-7719-9.

Ссылки

  • Сайт Oracle Berkeley DB (англ.)
  • Introduction to Berkeley DB XML (англ.)
  • Открытые системы #11/2000 — Berkeley DB
  • Книга по Berkeley DB (The Berkeley DB Book by Himanshu Yadava) (англ.)