Background and Motivation

The Akubra Project is a new effort developed jointly by the Fedora Commons and Topaz project teams as the first area of joint architecture work. Other team members are now joining the effort notably DSpace. The goal of Akubra is to provide a pluggable Blob storage interface that can be adapted to almost any storage subsystem. Akubra will support both ordinary and transactional storage systems but makes assumptions about Blob storage (versus file systems or other specialized storage subsystems) to take a course that provides less functionality but with much less complexity.

Akubra was a result of the architecture analysis by the Fedora and Topaz developers that concluded that many content systems would benefit from a simple, pluggable interface to storage. The teams believe that there is great opportunity for moving forward on joint architecture by focusing on building open-source components to facilitate simpler, more universal integration of the low-level storage of Blobs (files or bitstreams), and pluggability of heterogeneous underlying storage subsystems. Not all use cases will be accommodated by Akubra; applications may still need direct access to specialized storage systems for advanced functionality. However, Akubra is targeted at the 80% of use cases where a simple, generic interface will work. In particular, there is tremendous growth in remote Web-based storage, as opposed to directly attached storage or local, data center storage networks. Interfaces to remote storage almost certainly need to be simpler and accommodate lower performance, reliability and have different security concerns than local storage subsystems.

We plan to integrate the new Akubra software with both the Topaz OTM and the Fedora Repository service. The primary intent is to create better abstraction and separation of concerns between Blob storage, and the services that Topaz and Fedora provides over them. Once this is done, there will be more flexibility in terms of how Topaz and Fedora can evolve architecturally.

Akubra will likely have a one-to-one concrete implementation for each kind of storage subsystem. Most often storage interfaces assume a "file system with directories" paradigm in their design. Tape storage has existed for years. Hierarchical storage systems usually present "file system with directories" but wind up with tape as their lowest tier. New storage systems with very different characteristics have emerged such as Content Addressable Storage and fixed-content storage. Now Cloud storage is a significant trend.

Akubra is part of the larger, overarching Storage Delegation Project which seeks to define how storage subsystems can be integrated to support more complete application use cases potentially integrating many different storage subsystem. Akubra's role is focused on wrapping concrete storage subsystems to be used directly as a plug-in or to fit as component of a larger storage delegation layer as a service.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.