Nodelab is multitenant. This means that data may be divided into separate databases with restricted access from different deployments. A deployment is a separate container with a separate URL.
The admin deployment can read and write all other deployment data and all source files to be parsed into the databases.


Data is also attached to different repositories for each deployment. This way you can add data incrementally, and also make comparisons between versions, i.e. before and after you add data.

This behavior also solves the problem of atomatic injections. You create a commit, add new sources and data to it, and attach it to the branch only when all new data has been processed. This means that any queries are directed to the previous commit until all new data has been processed.

Note that Nodelab is not a repository itself, and does not automatically store old data in other places than in the database. Old commits may be pruned periodically, and will be completely removed when the system is rebuilt.
Edited data is stored as Excel- and CSV files, which may be committed to a proper repository like GIT.