Подтвердить что ты не робот

Альтернатива BerkeleyDB?

Я ищу библиотеку, подобную dbm, которую я могу использовать вместо Berkeley DB, которую я сейчас использую. Моя основная причина для переключения - плата за лицензирование для BDB довольно высока (бесплатно для приложений с открытым исходным кодом, но мой работодатель не хочет открывать исходное приложение именно по различным причинам).

Я кратко посмотрел на qdbm, но похоже, что он не заполнит мои потребности - много ключей (несколько миллионов) и больших элементов данных ( > 1-5 мегабайт). Прежде чем продолжить поиск, я решил, что спрошу, потому что кажется, что там есть тонны библиотек, похожих на dbm.

4b9b3361

Ответ 1

C/С++

Java

Ответ 2

Вы можете посмотреть Токийский кабинет. Его преемник qdbm/gdbm, и если вы решите масштабировать, у вас будет хороший доступ к интерфейсу сети.

Edit:

Другим вариантом является Киотский кабинет; разработанный одним и тем же человеком, но, возможно, более простой в использовании.

Ответ 3

SQLite является общедоступным, что означает, что вы можете использовать его для каких-либо целей и широко используется и поддерживается.

Ответ 4

Вы можете получить значительно улучшенную производительность из любого dbm (даже qdbm) и улучшенного parallelism с простым уровнем косвенности: просто возьмите свои ключи и хэш их и используйте data_dir/H(key)/ в качестве базы данных для хранения этих ключей. Ограничьте вывод хеша на небольшое значение (скажем) 255 для достижения наилучших результатов.

Этот подход имеет ряд преимуществ, легко суммируемых:

  • Концептуально простой
  • Простота внедрения и тестирования
  • Не блокирует всю базу данных для обновлений
  • Может поддерживать гораздо большие базы данных
  • Легко заменить компонент DBM

Хэш, вероятно, даже не нуждается в криптографической защите; просто в основном единый. DJB cdb hash хорошо работает в большинстве случаев.

Ответ 6

Вы можете попробовать JDBM. Это бесплатное хранилище ключей (Apache 2) с сохранением диска. Простой API и высокая производительность

Ответ 8

db4o довольно дешево и быстро, но его можно использовать только с java или .net

Ответ 9

Firebird - ваш лучший друг.