Berkeley DB: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
РоманСузи (обсуждение | вклад) дополнение |
|||
Строка 57: | Строка 57: | ||
== Примечания == |
== Примечания == |
||
{{примечания}} |
{{примечания}} |
||
== Литература == |
|||
* {{книга |
|||
| автор = Himanshu Yadava |
|||
| заглавие = The Berkeley DB Book |
|||
| издательство = Apress |
|||
| год = 2007 |
|||
| страниц = 462 |
|||
| isbn = 978-1-59059-672-2 |
|||
| ref = Yadava |
|||
}} |
|||
* {{книга |
|||
| автор = Sleepycat Software, Inc. |
|||
| заглавие = Berkeley DB |
|||
| издательство = Sams |
|||
| год = 2001 |
|||
| страниц = 688 |
|||
| isbn = 978-0-7357-1064-1 |
|||
| ref = Sleepycat Software, Inc. |
|||
}} |
|||
* {{книга |
|||
| автор = Brian, D. |
|||
| заглавие = The Definitive Guide to Berkeley DB XML |
|||
| издательство = Apress |
|||
| год = 2006 |
|||
| allpages = 416 |
|||
| isbn = 9781430202202 |
|||
| ref = Brian |
|||
}} |
|||
== Ссылки == |
== Ссылки == |
Версия от 13:34, 13 декабря 2015
Berkeley DB | |
---|---|
Тип | Встраиваемая СУБД |
Авторы | Margo Seltzer и Keith Bostic из Sleepycat Software |
Разработчики |
разработчики Университета Беркли, Sleepycat Software, позднее Oracle Corporation |
Написана на | C, API для многих других языков |
Операционные системы | Unix, Linux, Windows, AIX, Solaris, SCO Unix, Mac OS |
Первый выпуск | 1991[1] |
Последняя версия | 6.0.20 (10 июня 2013 года) |
Лицензия | AGPLv3 |
Сайт | oracle.com/us/products/d… |
Berkeley DB (BDB) — высокопроизводительная встраиваемая система управления базами данных, реализованная в виде библиотеки. BDB является нереляционной базой данных — она хранит пары «ключ — значение» как массивы байтов и поддерживает множество значений для одного ключа. BDB может обслуживать тысячи процессов или потоков, одновременно манипулирующих базами данных размером в 256 терабайт, на разнообразном оборудовании под различными операционными системами, включая большинство UNIX-подобных систем и Windows, а также на операционных системах реального времени.
Первая версия Berkeley DB была разработана в Университете Беркли во время разработки BSD версии 4.3 (июнь 1986 года). Netscape попросила авторов Berkeley DB улучшить и расширить библиотеку — в то время версию 1.85, — чтобы она удовлетворяла их требованиям к использованию в сервере LDAP и в браузере Netscape. Этот запрос привёл к созданию Sleepycat Software (купленной корпорацией Oracle в феврале 2006 года). Berkeley DB распространяется под лицензией не указано название статьи, которая была одобрена 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 в трёх вариантах:
- Berkeley DB — собственно библиотека на языке «C»
- Berkeley DB Java — библиотека, переписанная на Java (поддержка Google Android, Apache Maven)
- Berkeley DB XML — библиотека на Си, реализующая XML-СУБД на основе Berkeley DB со средствами работы с XML (Xerces, XPath, XQuery, XQilla)
Berkeley DB входит в состав большинства дистрибутивов Linux. Существуют средства для работы с Berkeley DB на языках Perl, Python и других.
Программы, в которых используется Berkeley DB
Список примеров в этой статье не основывается на авторитетных источниках, посвящённых непосредственно предмету статьи. |
Berkeley DB является хранилищем данных для серверов LDAP, СУБД и множества других проприетарных и свободных программ. Ниже приведён список программ, в которых для хранения данных используется Berkeley DB:
- Bitcoin — Децентрализованная платежная система с открытым исходным кодом.
- Bogofilter — Свободный спам-фильтр который хранит свои списки ключевых слов в Berkeley DB.
- Caravel CMS — Свободная система управления содержимым изначально разработанная для использования в более чем 2,000 организаций Меннонитской церкви.
- Citadel — Свободная платформа совместной работы в которой все данные, включая базу сообщений, хранятся в Berkeley DB.
- Fedora Directory Server — сервер каталогов уровня предприятия c открытым исходным кодом. Изначально именно под нужды FDS (тогда сервер назывался Netscape Directory Server) была адаптирована академическая версия BerkeleyDB.
- Jabberd2 — Сервер сети Jabber.
- KDevelop — IDE для Linux и других Unix-подобных операционных систем. В версиях для KDE SC 4 не используется.[2]
- KLibido — Свободный клиент новостных групп USENET, ориентированный на скачивание бинарных файлов.
- MemcacheDB — Распределённое персистентное хранилище данных, реализующее интерфейс Memcached.
- Movable Type — Проприетарная система публикации блогов, разработанная калифорнийской компанией Six Apart.
- MySQL — Поддержка таблиц BDB включена в дистрибутив исходного кода MySQL начиная с версии 3.23.34 и в бинарную версию MySQL-Max. BerkeleyDB обеспечивает транзакционный обработчик таблиц для MySQL. Использование BerkeleyDB повышает для таблиц шансы уцелеть после сбоев, а также предоставляет возможность осуществлять операции COMMIT и ROLLBACK для транзакций. Дистрибутив исходного кода MySQL поставляется с дистрибутивом BDB, содержащим несколько небольших исправлений, которые позволяют устранить определённые проблемы при работе с MySQL. Начиная с версии 5.1 таблицы BDB более не поддерживаются.[3]
- OpenLDAP — Свободная реализация «Облегчённого протокола доступа к каталогам» (LDAP).
- Redland — Прикладной каркас для RDF. Может использовать BDB для постоянного хранения данных (троек).
- RPM — Менеджер пакетов RedHat.
- Subversion — Система управления версиями, разработанная чтобы заменить CVS.
- Sun Grid Engine — Свободная система управления распределёнными ресурсами. Самый популярный планировщик пакетных очередей задач для вычислительных ферм.
- Spamassassin — Антиспамовое приложение.
- Wialon — система спутникового мониторинга транспорта, работающая через Web-интерфейс[4]
Примечания
Литература
- 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.
Ссылки
- Сайт Oracle Berkeley DB (англ.)
- Introduction to Berkeley DB XML (англ.)
- Открытые системы #11/2000 — Berkeley DB
- Книга по Berkeley DB (The Berkeley DB Book by Himanshu Yadava) (англ.)