Как стать автором
Обновить

Комментарии 10

Лет 15 назад мне потребовалась легковесная встраиваемая БД и я попробовал Berkeley DB. Программка тогда составлялась на CBuilder.
Уже тогда оно было анахронизмом но ещё не было куплено Oracle. Мне понравилось что в ней были транзакции, а БД натурально хранилась в нескольких файликах датафайл + редулоги, а API ужасно не понравилось ) Но в чем суть вопроса…
Вот прошло 15 лет и ничего не изменилось ) И меня до сих пор мучают два вопроса: 1) зачем Oracle это купил когда то, 2) И зачем это вообще люди до сих пор используют для новых систем.

Неужели есть какие то преимущества по сравнению с SQLite?

Я бы вообще не стал сравнивать BerkleyDB с SQLite. Berkley это не реляционная БД. В данном контексте было рассмотрено, как использовать ее в качестве реляционной, но это далеко не единственный и не главный кейс. Из преимуществ, если уж взяться сравнивать, следующее: репликация, вложенные транзакции, многопоточная работа, надежность, явность индексации, независимость от окружения (как в статье было написано — это встраиваемая СУБД), гибкая миграция. Куда более широкий спектр настроек, рассчитана на весьма солидные нагрузки и объемы данных.

upd: касательно API — соглашусь, во многом не очень удобен, но основные косяки можно закрыть своим кодом так же, как закрываем их в SQLite :)
Мы тоже в проекте использовали BerkleyDB, но потом переехали на WiredTiger. WoredTiger более современный, производительный. Кстати, его писали чуть ли не те же люди, что и сам BerkleyDB.
Смотрю в Википедии, у них произошли изменения в лицензировании:
Oracle Berkeley DB JE 7.3.7 is licensed under the Apache License, Version 2.0
Означает ли это, что JE теперь можно использовать в продуктах с закрытыми исходниками?
Не совсем так, в википедии указано:
В рамках техники двойного лицензирования Oracle также распространяет проприетарную лицензию на использование библиотеки в закрытых проектах.

Поэтому просто взять и использовать не получится. Требуется получиться соответствующую лицензию от великой и могучей корпорации зла Oracle
Русская версия статьи сильно устаревшая, там значится последняя версия 6.0.20 (от 2013 года), и упомянута лицензия только AGPLv3, но Oracle её изменили (см. предыдущий коммент). Вопрос остаётся открытым. Насколько знаю, лицензия Apache не «вирусная» и допускает использование компонентов под ней в коммерческих закрытых продуктах.
На сайте Oracle (http://www.oracle.com/technetwork/database/berkeleydb/downloads/licensing-098979.html) указано:
If you do not want to release the source code for your application, you may purchase a license from Oracle. For pricing information, or if you have further questions on licensing, please contact us at berkeleydb-info_us@oracle.com.

Так что нет, просто так взять и использовать в закрытом проекте-таки нельзя.
Я боюсь, что и эта страница устарела. Там ни слова нет про Apache License, ни в тексте, ни по ссылкам.
В таком случае советую попробовать написать на почту выше с вашим вопросом. Думаю, это лучшее решение

На форуме уже спрашивали про устаревшие ссылки: https://community.oracle.com/thread/4030451. Ответ: не везде обновили.
И в помнике лицензию добавили http://download.oracle.com/maven/com/sleepycat/je/7.4.5/je-7.4.5.pom
В низу страницы http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/learnmore/index.html лицензия новая.
На всё скаченное она должна распространяться.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории