Berkeley DB

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

Berkeley DB
Тип Встраиваемая СУБД
Автор Margo Seltzer и Keith Bostic из Sleepycat Software
Разработчик разработчики Университета Беркли,
Sleepycat Software,
позднее Oracle Corporation
Написана на C, API для многих других языков
Операционная система Unix, Linux, Windows, AIX, Solaris, SCO Unix, Mac OS
Первый выпуск 1992
Последняя версия

Berkeley DB 18.1 (18.1.32) Berkeley DB Java Edition 7.5.11

Berkeley DB XML 6.1.4
Лицензия AGPLv3
Сайт oracle.com/us/products/d…

Первая версия Berkeley DB была разработана в Университете Беркли во время разработки BSD версии 4.3 (июнь 1986 года). Netscape попросила авторов Berkeley DB улучшить и расширить библиотеку — в то время версию 1.85, — чтобы она удовлетворяла их требованиям к использованию в сервере LDAP и в браузере Netscape. Этот запрос привёл к созданию Sleepycat Software (купленной корпорацией Oracle в феврале 2006 года). Berkeley DB распространяется под лицензией Sleepycat Public License, которая была одобрена OSI и FSF. Программа поставляется с полным исходным кодом, средствами сборки, инструментами тестирования и документацией. Качество кода и практичность вместе со свободной лицензией привели к использованию Berkeley DB во многих свободных и открытых программах. В рамках техники двойного лицензирования Oracle также распространяет проприетарную лицензию на использование библиотеки в закрытых проектах.

Архитектура

Berkeley DB примечательна своей простой архитектурой в сравнении с другими системами баз данных, такими как, например Microsoft SQL Server и Oracle Database. Например, в ней отсутствует сетевой доступ — программы используют базу данных через вызовы внутрипроцессного API. Она поддерживает SQL в качестве одного из интерфейсов, начиная с версии 5.0, хотя и не поддерживает столбцы в таблицах в традиционном понимании на уровне внутренней архитектуры. Berkeley DB предполагает работу с парами ключ-значение, где ключ и значение могут иметь фиксированную или переменную длину, а функция сравнения ключей может быть написана и назначена прикладным программистом. Программа, которая использует БД, сама решает, как данные сохраняются в записи; БД не налагает ограничений на данные, хранимые в записях. Запись и её ключ оба могут иметь размер до четырёх гигабайт.

Berkeley DB поддерживает необходимые возможности баз данных, такие как ACID-транзакции, детальные блокировки, интерфейс распределённых транзакций XA, горячее резервное копирование и репликацию. Berkeley DB может использоваться как средство для построения хранимых индексов, так и в качестве хранилища данных.

Oracle предлагает BDB в трёх вариантах:

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

Berkeley DB входит в состав большинства дистрибутивов Linux. Существуют средства для работы с Berkeley DB на языках Perl, Python и других.

Примечания

    Литература

    • 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.

    Ссылки

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.