Berkeley DB (BDB) е високопроизводителна вградена система за управление на бази данни, реализирана като библиотека. Berkeley DB е нерелационна база данни – тя съхранява двойки ключ-стойност като масиви от байтове и поддържа множество стойности за един ключ.
Berkeley DB може да работи с хиляди процеси или нишки едновременно, манипулиращи бази данни с размер до 256 TB, на разнообразен хардуер под различни операционни системи, включително повечето UNIX-такива системи и Microsoft Windows, както и на операционни системи за реално време.
Berkeley DB отличава се с простата си архитектура в сравнение с други системи за бази данни, като например Microsoft SQL Server и Oracle Database. Например няма мрежов достъп – програмите използват базата данни чрез повиквания в процеса API.. Поддържа SQL като един от интерфейсите си, започвайки от 5.0, въпреки че не поддържа колони в таблици в традиционния смисъл на думата на ниво архитектура на бек енда. Berkeley DB включва работа с двойки ключ-стойност, където ключът и стойността могат да бъдат с фиксирана или променлива дължина, а функцията за сравняване на ключове може да бъде написана и зададена от програмиста на приложението. Програма, която използва база данни, сама решава как да съхранява данните в даден запис; базата данни не налага ограничения върху данните, съхранявани в записите. Записът и неговият ключ могат да бъдат с размер до 4 GB.
Berkeley DB поддържа необходимите функции на базата данни, като транзакции ACID-, подробни заключвания, интерфейс за разпределени транзакции XA, горещи резервни копия и репликация. Berkeley DB може да се използва както като средство за изграждане на съхранени индекси, така и като хранилище на данни.
Oracle предлага Berkeley DB в три варианта:
Berkeley DB включен в повечето дистрибуции Linux. Съществуват инструменти за работа с Berkeley DB на Perl, Python и други езици.
Първата версия на Berkeley DB е разработена в Калифорнийския университет в Бъркли по време на разработването на BSD версия 4.3 (юни 1986 г.). Netscape помоли авторите на Berkeley DB да подобрят и разширят библиотеката – по това време версия на 1.85- за да отговори на техните изисквания за използване в сървъра LDAP и браузъра Netscape. Тази молба доведе до създаването на Sleepycat Software (закупена от Oracle Corporation през февруари 2006 г.).
Berkeley DB разпространява се под лиценза Sleepycat Public License, който е одобрен от OSI и FSF.. Софтуерът се предлага с пълен изходен код, инструменти за изграждане, инструменти за тестване и документация. Качеството на кода и практичността, заедно със свободния лиценз, доведоха до използването на Berkeley DB в много свободни програми и програми с отворен код. Като част от техниката за двойно лицензиране Oracle разпространява и патентован лиценз за използване на библиотеката в затворени проекти.
Програми, които използват Berkeley DB
Berkeley DB е хранилище за данни за LDAP сървъри, СУБД и много други собственически и свободни програми. По-долу е даден списък на програмите, които използват Berkeley DB за съхранение на данни:
Академичната версия на FDS (тогава наричана Netscape Directory Server ) първоначално е адаптирана за нуждите на (тогава наричана ) BerkeleyDB.
Версиите за KDE Software Compilation 4 не се използват.
BerkeleyDB предоставя транзакционен манипулатор на таблици за MySQL. Използването на BerkeleyDB увеличава шансовете за оцеляване на таблиците след сривове, а също така предоставя възможност за извършване наоперации COMMIT и ROLLBACK за транзакции. Дистрибуцията на изходния код на MySQL се доставя заедно с дистрибуцията на BDB, която съдържа няколко незначителни поправки за отстраняване на някои проблеми с MySQL. От 5.1 таблиците BDB вече не се поддържат.
Може да се използва Berkeley DB за съхранение на постоянни данни (тройки).
Най-популярният планировчик на опашки от пакетни задачи за изчисленияферми.


