After doing lots of thinking/hacking around with mirroring sql etc. to the cloud I concluded that the best way to do things might be to export each experiment to a .netcdf file - these files can be self-describing and are individual, where the SQL database gets (obviously) bigger and bigger. My plan would be to write a plugin to export experiments to .netcdf and then (for our purposes) send to a cloud storage bucket. A SQL/bigquery database then has the metadata of the runs and the path to the .netcdf files and to view data from experiments would be SQL to find the file and then standard python/xarray to visualise/manipulate etc. Once backed up the experiment can then be wiped from the SQLlite db on the pi to save space.
While experiments are live one would still have to use the sqldb on the pi to see data, but a cron script to export every x time to .netcdf and upload would also be useful for backing up in case of errors (although I know the db is mirrored across pioreactors in a cluster).
Wondering if anybody else has had similar thoughts?