Projects / Skwish


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.

Operating Systems

Recent releases

  •  06 Mar 2009 01:21

    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.

    •  25 Jan 2009 22:26

      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.

      •  31 Dec 2008 10:08

        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.

        •  22 Dec 2008 11:49

          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).

          •  13 Nov 2008 06:45

            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.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.