Skip to content

How do Graph Store, Board Server, and versioning fit together?

Dimitri Glazkov edited this page Dec 6, 2024 · 11 revisions

Graph Store

The graph store knows all graphs. It manages graph mutations and sends events whenever graphs are changed, etc. The graph store is the abstraction that enables lazy updates to currenPorts in InspectableGraph: because we can rely on GraphStore's "update" event, we can just re-read the currentPorts whenever an update comes through.

  • There are mutable and immutable graphs
  • The mutable graph (represented by a MutableGraph instance) is a graph whose topology changes.
  • The immutable graph is a graph snapshot -- it is frozen in time and can't be changed anymore.
  • The InspectableGraph instances backed by MutableGraph are great for editing use cases.
  • The InspectableGraph instances backed by immutable graph are great for capturing runs.

Graph store needs to somehow store versions of graphs. For now, let's use plain Date timestamps to capture versions. We may go with something more sophisticated later.

Clone this wiki locally