通过网络与Derby进行嵌入式连接的缺陷是什么?

Mar*_*del 5 java derby

我们有一个Java桌面应用程序,它访问位于网络共享驱动器而不是本地的Derby数据库.

当应用程序的多个实例共享数据库时,只有一个实例具有实时连接.

这已经运行了两年多,但有时我们遇到数据库损坏,我们无法确定是由于软件错误还是由于应用程序和远程数据库之间的网络.

我们意识到Derby文档声明嵌入式数据库应仅用于本地持久性,但任何人都可以提出一些我们可能期望通过此配置遇到的特定陷阱吗?

提前致谢!

吉姆

Bry*_*ton 3

特别是关于数据库损坏,我认为将数据库放在网络共享存储上(至少)存在两个基本问题:(1)当 Derby 尝试通过增长文件来分配空间时,文件系统可能会报告分配成功即使实际上磁盘已满;(2) 当 Derby 尝试确保磁盘写入实际上完全写入磁盘时,文件系统可能会报告数据正在写入磁盘,即使实际上它仍然只写入内存。

上述任何一个问题,如果在适当的时间发生,都可能导致数据库损坏。