开发者

looking for an atomic/journaled page file in java [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow que开发者_如何学Cstions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 7 years ago.

Improve this question

I am looking for an embeddable library for doing atomic file I/O from java. I need the library to support the following features.

  • basic page management -- allocate/free pages and read/write
  • atomic (all or nothing) writes (basically journaled I/O)
  • A simple binary page format (needs to be readable by C++)

  • It does not need to be that fast (or concurrent), just simple and reliable.

Has anyone used something in the past which fits the bill?

Things I have looked into

I found the internals for the kaha db project to be useful, but development seems to have switched to a fusesoure project called hawtdb. Hawt currently seems to rely memory mapped I/O which sounds good at first, but limits the size of the page file you can access to 2GB unless you go to a 64bit JVM + OS (due to JVM address space limitations).

Some alternatives I am considering are the Cassandra project, but I don't know if its embeddable. I've looked into derby (which created lots of files when run) and H2 (which seemed promising, but I didn't look too deeply). These seemed to have relatively complex page file formats and seem to provide far more than I need. MySQL did provide docs for the page file format, but it too was a bit complex.


HOWL

HOWL is a logger implementation providing features required by the ObjectWeb JOTM project, with a public API that is generally usable by any Transaction Manager. HOWL uses unformatted binary logs to maximize performance and specifies a journalization API with methods necessary to support JOTM recovery operations.

HOWL is intended to be used for logging of temporary data such as XA transaction events


  • Berkley DB? (The traditional version with JNI, not the Java version if you also want to access via C++). I haven't used it, but seems to fit your requirements more closely than some of the alternatives that you've listed.

  • SQLLite? Similar but more relational database focused. Native, but with Java bindings.

Just some other ideas. These might not provide low enough access for page based file i/o though.


An oldie, but goodie JDBM

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜