Existing multiMap Map[PK, Map[SK, ?]] is not really that useful as we need many OneToMany persistent indexes Map[PK, Set[SK, ?]] ...
Whole uexplorer's datamodel will be composed of
bunch of persistent supernode-resistant Indexes of unspent boxes. Persistent indexes are the "source of truth" reflecting utxo state of Node, all transactional changes can be rolled back in case of a fork.
eventually two h2 tables with all data, one for spent boxes (with in-memory indexes) and one for unspent boxes
This will have predictable both indexing and querying performance as unspent boxes h2 table should be accessed not so often with limited queries.
In case H2 db does not perform well, it is just one backend type, using Cassandra instead will be possible.
Existing multiMap
Map[PK, Map[SK, ?]]
is not really that useful as we need manyOneToMany
persistent indexesMap[PK, Set[SK, ?]]
...Whole uexplorer's datamodel will be composed of
This will have predictable both indexing and querying performance as unspent boxes h2 table should be accessed not so often with limited queries.
In case H2 db does not perform well, it is just one backend type, using Cassandra instead will be possible.