0

我有一个大型(几个 Gb)berkeley 数据库,我正在考虑从 Windows(2K)迁移到 Linux(Redhat 或 Ubuntu)。我不知道该怎么做。我可以只移动 db 文件,还是需要特殊的转换实用程序?

4

2 回答 2

3

数据库和日志文件可以跨不同的字节序系统移植。Berkeley DB 将识别它所在的系统类型,并相应地为它管理的构成数据库本身的数据结构交换字节。Berkeley DB 的区域文件是内存映射的,不可移植。这没什么大不了的,因为它们的区域文件持有缓存和锁,因为您的应用程序在转换期间不会运行,因此将在新系统上重新创建。

但是,请注意,Berkeley DB 对数据中的字节顺序或类型一无所知(在您的键和值中,存储在“DBT”中)。您的应用程序代码负责了解它运行在什么样的系统上,它如何存储数据(大端或小端)以及如何转换它(或简单的访问重新排序)。另外,请密切注意您的 btree 比较功能。这也可能因您的系统架构而异。

数据库和日志文件也可以跨操作系统移植,这与字节顺序相同——应用程序的数据是应用程序的责任。

您可以考虑查看以下内容:

披露:我在 Oracle 工作,担任 Berkeley DB 产品的产品经理。:)

于 2010-11-30T14:58:11.527 回答
1

这里描述了一个跨平台文件传输实用程序。

您可能还需要关注您机器上的字节顺序,但这里对此进行了一些讨论。

如果您使用的是 Java Berkeley,尽管这无关紧要?

于 2009-09-22T23:15:06.517 回答