【发布时间】:2009-09-22 22:40:00
【问题描述】:
我有一个大型(数 Gb)berkeley 数据库,我正在考虑从 Windows (2K) 迁移到 Linux(Redhat 或 Ubuntu)。我不知道该怎么做。我可以只移动 db 文件,还是需要特殊的转换工具?
【问题讨论】:
标签: berkeley-db
我有一个大型(数 Gb)berkeley 数据库,我正在考虑从 Windows (2K) 迁移到 Linux(Redhat 或 Ubuntu)。我不知道该怎么做。我可以只移动 db 文件,还是需要特殊的转换工具?
【问题讨论】:
标签: berkeley-db
数据库和日志文件可以跨不同的字节序系统移植。 Berkeley DB 将识别它所在的系统类型,并相应地为它管理的构成数据库本身的数据结构交换字节。 Berkeley DB 的区域文件是内存映射的,不可移植。这没什么大不了的,因为它们的区域文件持有缓存和锁,因为您的应用程序在转换期间不会运行,因此会在新系统上重新创建。
但是,请注意,Berkeley DB 对数据中的字节顺序或类型一无所知(在您的键和值中,存储在“DBT”中)。您的应用程序代码负责了解它运行在什么样的系统上,它如何存储数据(大端或小端)以及如何转换它(或简单的访问重新排序)。另外,请密切注意您的 btree 比较功能。这也可能因您的系统架构而异。
数据库和日志文件也可以跨操作系统移植,这与字节排序相同——应用程序的数据是应用程序的责任。
您可以考虑查看以下内容:
披露:我在 Oracle 工作,担任 Berkeley DB 产品的产品经理。 :)
【讨论】: