在java中查找原子/日志页面文件

Jus*_*tin 5 java file-io atomic

我正在寻找一个可嵌入的库来从java进行原子文件I/O. 我需要该库来支持以下功能.

  • 基本页面管理 - 分配/释放页面和读/写
  • 原子(全部或全部)写入(基本上是记录的I/O)
  • 一个简单的二进制页面格式(需要C++可读)

  • 它不需要那么快(或并发),只需简单可靠.

有没有人过去使用过符合条件的东西?

我调查过的事情

我发现kaha db项目的内部结构很有用,但是开发似乎已经转变为一个名为hawtdb的fusesoure项目.Hawt目前似乎依赖于内存映射I/O,这听起来很不错,但是除非你使用64位JVM +操作系统(由于JVM地址空间限制),否则限制你可以访问2GB页面文件的大小.

我正在考虑的一些替代方案是Cassandra项目,但我不知道它是否可嵌入.我看过德比(运行时创建了大量文件)和H2(看起来很有希望,但我看起来并不太深).这些似乎具有相对复杂的页面文件格式,似乎提供的远远超过我的需要. MySQL确实提供了页面文件格式的文档,但它也有点复杂.

max*_*dim 2

HOWL 是一个记录器实现,提供 ObjectWeb JOTM 项目所需的功能,以及任何事务管理器通常都可以使用的公共 API。HOWL 使用未格式化的二进制日志来最大限度地提高性能,并使用支持 JOTM 恢复操作所需的方法指定日志记录 API。

HOWL 旨在用于记录临时数据,例如 XA 事务事件