2011-10-31 89 views
4

我们的应用程序使用berkeley db作为临时存储和持久性。来自各种输入源的巨大数据来自一个新问题。现在底层文件系统不支持如此大的文件大小。无论如何,将berkeley DB文件拆分为逻辑段或分区,而不会丢失其中的数据。我还需要使用berkeley DB属性进行设置,并且不需要为此简单任务编写繁琐的程序。Berkeley DB文件拆分

回答

0

据我所知,BDB不支持你。但是,您可以通过创建多个数据库来实现它。

我以编程方式在BDB中完成了这项工作。即我的代码将潜在的大型索引文件分割为单独的文件,并在这些子文件上创建顶级主索引。

+0

这很好,但有没有一种方式,柏克莱DB本身提供了这样的功能。 – Madusudanan

+0

不是在我的一天它没有。 – ScrollerBlaster

0

现代BDB具有使用DB_CONFIG(推荐)或使用API​​调用来添加其他目录的方法。

看看这些指令(以及相应的API调用)的帮助: add_data_dir set_create_dir set_data_dir set_lg_dir set_tmp_dir

注意添加这些指令是不可能透明“只是工作”,但它不应该是使用db_dump/db_load重新创建使用这些指令配置的数据库文件太难了。