
So what I did was install headless Dropbox, by doing these commands in the terminal, as user rstudio. But I’ve found those to be slow too with some of the same problems as with databases.

If like us you are fed up with making databases work, and work fast enough, you can try loading from and saving to cloud storage services using tools like rclone or rdrop2. The challenge of providing persistent data storage in Shiny apps is well-known. Slow enough to save projects that continuous autosave is difficult to implement, meaning that we had to implement - asynchronous background operation, which is famously not so easy in R - algorithms to identify which rows to add, delete and update.But databases bring a bunch of other problems, such as: As we also have a couple of local installations on our own computers, we would like to be able to sometimes work offline on the same series of projects and sync the changes later, with each user only ever dealing with separate sets of data unique to them.įor more than half a year, I’ve been struggling to solve these problems using a database.In time, we may need to scale so that the app is containerised and replicated across several servers.Users of course want to log on to the app and load up projects which they have previously saved.Each project is more or less self-contained there is almost no need to combine or compare data across projects.There is no need for more than one user to work concurrently on the same project.Users work for extended periods of time usually one one single project which consists of five tables and a few other bits of data.


I’ve been working more or less full-time on our app for causal mapping, now called simply “Causal Map” for over a year now.
