Наше приложение использует berkeley db для временного хранения и устойчивости. Возникла новая проблема, когда огромные данные поступают из различных источников ввода. Теперь базовая файловая система не поддерживает такие большие размеры файлов. Можно ли разбить файлы Berkeley DB на логические сегменты или разделы без потери данных внутри. Мне также нужно настроить его с помощью свойств Berkeley DB, а не громоздкого программирования для этой простой задачи.
Разделение файлов Berkeley DB
Ответы (2)
Насколько мне известно, BDB не поддерживает это за вас. Однако вы можете реализовать это самостоятельно, создав несколько баз данных.
Я делал это раньше с помощью BDB, программно. то есть мой код разделил потенциально большой индексный файл на отдельные файлы и создал главный индекс верхнего уровня по этим субфайлам.
В современном BDB есть средства для добавления дополнительных каталогов либо с помощью DB_CONFIG (рекомендуется), либо с помощью вызовов API.
Посмотрите, помогают ли эти директивы (и соответствующие вызовы API): add_data_dir set_create_dir set_data_dir set_lg_dir set_tmp_dir
Обратите внимание, что добавление этих директив вряд ли будет прозрачно «просто работать», но не должно быть слишком сложно использовать db_dump / db_load для воссоздания файлов базы данных, настроенных с помощью этих директив.