Разделение файлов Berkeley DB

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


person Madusudanan    schedule 31.10.2011    source источник


Ответы (2)


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

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

person ScrollerBlaster    schedule 03.01.2012
comment
Это хорошо, но есть ли способ, которым сама Berkeley DB предоставляет такую ​​возможность. - person Madusudanan; 04.01.2012

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

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

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

person Jeff Johnson    schedule 16.04.2015