Skip to content

Create the write ahead log & index manager #11

Open
@dgrnbrg

Description

@dgrnbrg

A datomic database has the log of transactions plus 4 indices: :eavt, :aevt, :avet, and :vaet. We need to implement the module which takes a transaction (i.e. set of datoms) and does the following:

  1. adds them to the log
  2. adds them to the indices

In the background, the module needs to flush the indices when enough data is accumulated for the batch. We'll need to store the # of total transactions in the log, as well as the # of transactions durably added to each index, so that we can implement crash recovery.

The log should support pluggable implementations, so that today we could use a file or simple DB scheme, but in the future use Kafka or Redis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions