I was wondering how exactly exist-db handles concurrent writes to a given database. We currently have an xml database system which sits on top of our main data store and lazily loads in the content as it is requested (through http APIs). The problem is that loading the content can be somewhat costly, and we don't want to be blocking all other requests while the it is being processed. When content is being loaded into a given database, are all other write queries blocked? Are all other read queries blocked? None of our content is ever updated in place, it is simply added, so ideally we would be able to avoid all locking.

We are currently implementing such a system in BaseX but finding that the locking is far too aggressive and it's having serious performance implications.

Thanks in advance,