Closed relves closed 6 months ago
Hey @relves thanks for your interest and a PR! I do have some thoughts about persistent store captured by these interfaces (although second one should be async also
General idea is that store can be any KV and https://github.com/smallhelm/level-fact-base does pretty good job doing roughly what I have in mind.
That said I am not prepared to make all of that async, my thinking is to introduce IO during query planning, that is send FactsSelector
off to the store that can do IO and return matches that then query engine can narrow down locally without any asynchrony
It may not pan out as I am imagining, but I want to try that approach before turning everything async which I want to avoid because I use this engine to query in memory indexes and introducing async loops would render it less practical.
Ah yes that sounds like a more elegant approach! I'm wiring up LMDB, hence the interest. Level makes sense as well. Thanks for taking the time to explain your thoughts @Gozala. Closing...
Ah yes that sounds like a more elegant approach! I'm wiring up LMDB, hence the interest. Level makes sense as well. Thanks for taking the time to explain your thoughts @Gozala. Closing...
That is super interesting, please consider sharing where you'll end up with LMDB. And if you run into some problems in implementing it.
Interesting library you have here! Figured I'd see what would be involved to support persistent facts DBs. Thoughts?