1.1.1

Table Of Contents
When a disk store is ofine, its data is unavailable to the SQLFire distributed system. For partitioned tables,
the data is split between multiple members, so you can access the ofine data only if you store replicas of the
partitioned table on other members of the cluster.
Disk Store Directories
When you create a disk store, optionally specify the location of directories where sqlf stores persistence-related
les.
sqlf generates disk store artifacts in a directory that it chooses in the following order:
1. If you provide absolute directory paths, sqlf uses the paths as-is. You must ensure that the proper directory
structure exists.
2. If you provide relative directory paths, or you do not specify any directories, then the path resolution is done
in this order:
1.
If the sys-disk-dir boot property species a directory, the disk store path is resolved relative to that
directory or is used as the directory for persistence.
2.
If sys-disk-dir is not set, SQLFire uses the directory from which the system was started (the current
directory) for path resolution, or it uses that directory as the persistence directory.
Disk Store Persistence Attributes
SQLFire persists data on disk stores in synchronous or asynchronous mode.
You congure the persistence mode for a table in the CREATE TABLE statement, while attributes to control
asynchronous persistence are congured in the CREATE DISKSTOREstatement.
In synchronous mode, SQLFire writes each DML operation to the OS buffer as part of the statement execution.
This mode provides greater reliability than asynchronous mode, but with lower performance.
In asynchronous mode, SQLFire batches DML statements before ushing them to the OS buffers. This is faster
than synchronous mode, but batch operations may be lost if a failure occurs. (You can use redundancy to ensure
that updates are successfully logged on another machine.) In asynchronous mode, you can control the frequency
of ushing batches by setting the following attributes when you create a named disk store:
QUEUESIZE sets the number of affected rows that can be asynchronously queued. After this number of
pending rows are queued, operations begin blocking until some of the modied, created, or deleted rows are
ushed to disk.
TIMEINTERVAL sets the number of milliseconds that can elapse before queued data is ushed to disk.
See CREATE DISKSTORE on page 480
Note: Always start all SQLFire servers and peer processes that host data on disk in parallel. A SQLFire
process with persistent data may wait for other processes to startup rst to guarantee consistency.
Always use the shutdown-all command to gracefully shut down a cluster. This allows each member to
reach a consistent replication state and record that state with other replicas in the cluster. When you restart
peers after a graceful shutdown, each member can recover in parallel without waiting for others to provide
consistent replication data.
Disk Store File Names and Extensions
Disk store les include store management and access control les and the operation log, or oplog, les, consisting
of one le for deletions and another for all other operations.
The next table describe le names and extensions; they are followed by example disk store les.
81
Using Disk Stores to Persist Data