Беркли Д.Б. Разделение файлов - PullRequest
4 голосов
/ 31 октября 2011

Наше приложение использует berkeley db для временного хранения и сохранения. Возникла новая проблема, когда огромные данные поступают из различных источников ввода. Теперь базовая файловая система не поддерживает такие большие размеры файлов. В любом случае существует возможность разделения базы данных Berkeley. файлы в логические сегменты или разделы без потери данных внутри него. Мне также нужно, чтобы он устанавливался с использованием свойств БД Berkeley, а не громоздким программированием для этой простой задачи.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2015

В современной BDB есть средства для добавления дополнительных каталогов, используя DB_CONFIG (рекомендуется) или вызовы API.

Проверьте, помогают ли эти директивы (и соответствующие вызовы API): add_data_dir set_create_dir set_data_dir set_lg_dir set_tmp_dir

Обратите внимание, что добавление этих директив вряд ли прозрачно "Просто работает", но не должно быть слишком сложно использовать db_dump / db_load для воссоздания файлов базы данных, настроенных с помощью этих директив.

0 голосов
/ 04 января 2012

Насколько мне известно, BDB не поддерживает это для вас.Однако вы можете реализовать это самостоятельно, создав несколько баз данных.

Я делал это раньше с помощью BDB, программно.т.е. мой код разделил потенциально большой индексный файл на отдельные файлы и создал главный индекс верхнего уровня для этих субфайлов.

...