The main limitation I see with tiny base is that it has to load all data in one batch and modifying any record results in the whole data store being persisted to disk. Surely this can’t scale well…
BUT of course, this is not a library to be used with data sets of billions of rows! I'd recommend a proper RDBMS for that ;)
* Queries are encoded into sql and matcher functions
* Whenever data is mutated a change set is emitted - eg similar to immer
* This change set is used to generate SQL UPDATE statements
* The change set is also sent to matcher functions, the matcher functions update the query results accordingly