Skwish is a fast, simple, lightweight Java library for storing blobs on the file system. It allows multiple concurrent readers and writers, provides all-or-nothing write semantics, and is designed to survive abnormal, unclean shutdown. Skwish is a structured implementation of storing all blobs in a single file to save on file system I/O. Skwish is premised on the proposition that blob storage ought to be orthogonal to the task of indexing. It is meant to be a clean and simple store on which some other index can be built.
|Tags||Archiving Database Blob|
|Operating Systems||OS Independent|
Release Notes: This release includes a new stream-based push interface for entry insertion. The immediate application here is for streaming output from a SAX processor into skwish, but it's easy to imagine using it in other scenarios (e.g. logging.) A new demo mashup program using Apache Lucene and Tika is discussed in a new article in the "Getting Started" trail.
Release Notes: This release now supports referencing an entry's ID before it is committed (in the general case, a newly inserted entry's ID is fixed only after the transaction commits.) This is achieved by introducing a new transaction ID which, in combination with a new entry's pre-commit ID, uniquely determines the entry's post-commit ID. More documentation about the new feature and transactions in general is available. A demo program is also included that uses the new feature.
Release Notes: This is a redux of version 0.1.3, but released under the Apache License, Version 2.0. Other than license-specific documentation changes, there are no substantive changes from the previous release.
Release Notes: This release introduces a read-only HTTP interface for skwish segment stores. It uses a new, experimental embedded HTTP server that ships with the library. Besides providing a good public interface to the contents of a store, this new feature also provides a convenient way to inspect ad hoc entries using just a browser (e.g., for debugging purposes).
Release Notes: SegmentManager was renamed as SegmentStore. The thread pool is now shared across all SegmentStore instances. Entry contents can now be updated, though the entry's size can not.