Next: Memory store, Up: Persistence stores [Contents][Index]
This provides a fast and efficient Syrup based store. Goblins vats are usually efficient providing only the deltas (i.e. the portraits of changed objects), rather than the full graph. This store is able to be fast by streaming these deltas to the file. This is much faster than writing out the full graph each time an object changes (or rather for each churn).
The store is provided by (goblins persistence-store bloblin).
Return a memory store which will write its data to bloblin-dir. This
directory is expected to be used solely for Bloblin’s data to exist within. The
number of deltas streamed to a single file before a new file is written to can
be configured with deltas-per-file, by default it occurs every 1000
deltas. If deltas-per-file is set to #f, then creating a new file
based solely on the deltas will be disabled. During normal operation Goblins
tries to be efficient using only deltas, but Goblins sometimes does still need
to save a full graph (e.g. when upgrading the roots of a graph). When Goblins
saves a full graph, Bloblin will always create a new file regardless of what
deltas-per-file is set to.
If max-bloblin-files is specified, only max-bloblin-files number of
bloblin files will be kept (deleting the older bloblin files). By default this
is #f, which disables deletion of older bloblin files allowing them to
accumulate over time.