Open
Description
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:
- adds them to the log
- 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
Labels
No labels