This package contains the classes for the Storage Manager, which is responsible
for how data is stored in and retrieved from database files.
Startup Sequence
The start-up sequence for the storage layer is as follows:
Implementing New Tuple-File Formats
Adding new tuple-file formats to NanoDB should be reasonably straightforward,
but there are several interfaces that must all be implemented for the tuple
file to be operational inside NanoDB.
-
The core implementation of the tuple-file format must be provided as
an implementation of the {@link TupleFile} interface, or one of its
sub-interfaces. Depending on what the tuple-file format can provide,
it may be appropriate to implement {@link SequentialTupleFile} for a
format that maintains a logical ordering over all tuples, or
{@link HashedTupleFile} for a format that supports constant-time tuple
lookups using a subset of the tuple's columns. If none of these
guarantees can be provided, then the {@link TupleFile} interface is
the correct one to implement.
-
Certain operations on tuple files can't be provided on the
{@link TupleFile} implementation itself, so they are provided by the
{@link TupleFileManager} interface.