Berkeley DB (BDB) - высокопроизводительная, встраиваемая база данных реализованная в виде библиотеки. BDB является нереляционной базой данных - она хранит пары ключ/значение как массивы байтов, и поддерживает множество значений для одного ключа. BDB может обслуживать тысячи процессов или потоков, одновременно манипулирующих базами данных размером в 256 терабайт, на разнообразном оборудованиии под различным операционными системами, включая большинство UNIX-подобных систем и Windows, а также на операционных системах реального времени.
Первая версия Berkeley DB была разработана в Университете Беркли во время перехода от BSD 4.3 к 4.4 когда происходило удаление кода UNIX, принадлежащего компании AT&T. Netscape попросила авторов Berkeley DB улучшить и расширить библиотеку - в то время версию 1.85 - чтобы она удовлетворяла их требованиям к использованию в сервере LDAP и в браузере Netscape. Этот запрос привёл к созданию Sleepycat Software (купленной корпорацией Oracle в феврале 2006 года). Berkeley DB распространяется под лицензией Sleepycat Public License - которая была одобрена OSI и FSF. Программа поставляется с полным исходным кодом, средствами сборки, инструментами тестирования и документацией. Качество кода и практичность вместе со свободной/открытой лицензией привело к использованию Berkeley DB во многих свободных/открытых программах. Те, кто не желает следовать условиям лицензии Sleepycat Public License могут купить у корпорации Oracle собственническую лицензию на использование библиотеки в закрытых проектах. Данная техника называется двойным лицензированием.
Архитектура
Berkeley DB примечательна своей простой архитектурой в сравнении с другими системами баз данных, такими как например Microsoft SQL Server и Oracle. Например в ней отсутствуют сетевой доступ — программы используют базу данных через вызовы внутрипроцессного API. Она не поддерживает SQL или любой другой язык запросов, также как не поддерживает схему БД или столбцы в таблицах. Программа, которая использует БД сама решает как данные сохраняются в записи; БД не налагает ограничений на данные, хранимые в записях. Запись и ее ключ оба могут иметь размер до четырёх гигабайт.
Не смотря на простую архитектуру, Berkeley DB поддерживает многие передовые возможности баз данных, такие как ACID транзакции, детальные блокировки, интерфейс XA, горячие бэкапы и репликацию.
Программы, в которых используется Berkeley DB
Berkeley DB является хранилищем данных для серверов LDAP, СУБД, и множества других собственнических и свободных программ. Вот список нескольких широко известных программ, в которых для хранения данных используется Berkeley DB:
Источник: http://ru.wikipedia.org