Skip to content

gotomypc/JFile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Persistence and High Throughput Durable Logging

ACID is a common claim, but the D in ACID stands for durable. Durable means
that once committed, a transaction will persist even if the system crashes.
However, there is no assurance that a transaction will persist unless the
data has been flushed to disk--and this is SLOW.

One approach to improve throughput while still flushing data to disk is to
    (1) group transactions into batches on one thread,
    (2) log and fsync each batch of transactions to disk on a second thread and
    (3) update the database with the logged transactions on a third thread.
Using this approach, we can log and process up to 500,000 durable transactions
per second.

Downloads:     https://sourceforge.net/projects/jactor/files/
Blog:          https://sourceforge.net/p/jactor/blog/
API:           http://jactor.sourceforge.net/
VCS:           https://github.com/laforge49/JID/
Issues:        https://github.com/laforge49/JID/issues/
Google groups: http://groups.google.com/group/agilewikidevelopers/

Dependencies
 - JActor         https://github.com/laforge49/JActor
 - JID            https://github.com/laforge49/JID

Available on The Central Repository (Maven): http://search.maven.org/#search|ga|1|org.agilewiki
So you just need to add this to your POM file:
    <dependency>
      <groupId>org.agilewiki.jfile</groupId>
      <artifactId>jfile</artifactId>
      <version>1.0.0</version>
    </dependency>
(Be sure to update the version number appropriately, of course.)