Interface ZeebeDbFactory<ColumnFamilyNames extends Enum<ColumnFamilyNames>>

Type Parameters:
ColumnFamilyNames - the names of the column families
All Known Implementing Classes:
ZeebeRocksDbFactory

public interface ZeebeDbFactory<ColumnFamilyNames extends Enum<ColumnFamilyNames>>
Represents the zeebe database factory. The ZeebeDbFactory has to be an enum and specifies the different column families for the zeebe database.
  • Method Details

    • createDb

      ZeebeDb<ColumnFamilyNames> createDb(File pathName)
      Creates a zeebe database in the given directory.
      Parameters:
      pathName - the path where the database should be created
      Returns:
      the created zeebe database
    • openSnapshotOnlyDb

      ZeebeDb<ColumnFamilyNames> openSnapshotOnlyDb(File path)
      Opens an existing DB in read-only mode for the sole purpose of creating snapshots from it.

      NOTE: if a read-only DB is required in the future that allows actually reading, then this can be extended to do so. However, keep in mind that you cannot use transactions on such DBs, and it might be better to do this when we've moved away from the transaction DB family.

      Parameters:
      path - the path to the existing database
      Returns:
      a snapshot-able DB