Introduction
The Akubra Project is a new effort to provide a pluggable file storage interface that can be adapted to almost any storage subsystem. Akubra supports both ordinary and transactional storage systems, but makes simplifying assumptions in order to achieve a high level of interoperability between storage systems:
In Akubra:
- a Blob is a finite-length bitstream with an id (a URI)
- a Blob Store is primarily concerned with providing read/write access to blobs.
News
- March 3rd, 2012 - Akubra 0.4.0 released. This release updates the version of all dependencies. Implementations designed for 0.3.x should continue to work with 0.4.0 using the prior versions of these libraries as well. The following tracker items were addressed by this release:
- March 1st, 2012 - Akubra 0.3.1 released. This release fixes the following bugs with the akubra-fs implementation:
- March 13th, 2010 - Akubra 0.3 released. This release has no core API changes, but several important improvements:
- The core Akubra jars are now available in Maven Central
- All jars are now compiled for Java 6 (Java 5 has reached its End of Service Life)
- All jars now include OSGi metadata
- Logging is now done via SLF4J (was commons-logging)
- The JTA dependency is now to version 1.1 (was previously 1.0.1B)
- November 27th, 2009 - Akubra 0.2 released. This release:
- Uses the latest version of Derby for the akubra-txn implementation
- Repackages the Akubra classes under org.akubraproject
- April 30th, 2009 - Akubra 0.1 released.
Downloads
- Core API
akubra-core-0.4.0.jar - The Core Akubra API [javadocs]
- Base Implementations
akubra-fs-0.3.1.jar - Simple filesystem implementation (non-transactional) [javadocs]
akubra-mem-0.3.1.jar - In-memory implementation (non-transactional) [javadocs]
akubra-www-0.3.1.jar - Web implementation (non-transactional, read-only) [javadocs]
- Layering Implementations
akubra-map-0.3.1.jar- Wraps an existing BlobStore to provide a blob id mapping layer [javadocs]
akubra-mux-0.3.1.jar - Provides a unified view over any number of backing stores [javadocs]
akubra-qsc-0.3.1.jar - Provides quiescing capability to a BlobStore [javadocs]
akubra-rmi-0.3.1.jar - Allows a BlobStore to be exposed and accessed remotely, via RMI [javadocs]
akubra-txn-0.3.1.jar - Uses Derby to provide transactional capabilities over a non-transactional store [javadocs]
- Utilities
akubra-tck-0.3.1.jar - Technology Compatibility Kit for Akubra implementations [javadocs]
Known Third-Party Implementations
- akubra-caringo - Concrete implementation for the Dell DX Object Storage Platform
- akubra-hdfs - Concrete implementation for Hadoop filesystems
- akubra-bhle - Multiplexing implementation with short-term and long-term underlying stores
- irods-akubra - (TBD) IRODS implementation
Documentation
Community
We invite you browse our mailing lists, or subscribe and join the conversation:
Akubra Users [subscribe via google or via email | view ]
General information, questions, release announcements, etc.Akubra Developers [subscribe via google or via email | view | original list archive ]
Discussions pertaining the development of Akubra.Akubra Codewatch [subscribe via google or via email | view ]
Intended for developers, this read-only list provides automatic notification of commits to the source code repository.
Source Code
The source source repository is hosted at github:
- Browse: https://github.com/akubra/akubra
- Anonymous Clone: git clone git://github.com/akubra/akubra.git
- Committer Clone: git clone git@github.com:akubra/akubra.git
Note: You will need JDK 1.6+ and maven to build.
Coding conventions for this project are currently documented here (TODO:migrate here).
Issue Tracking
Bugs and features for this project are tracked here.