Both replication and sharding capabilities are planned for 0.4.0, but
neither exists presently. If you wanted to, you could roll your own
by implementing update hooks that write to a "transaction log" bag and
then have an external process read these and replay them into another
DovetailDB instance. Pretty wasteful, but should work.
As for sandboxing, you're interested in how to protect queries in one
database from affecting others, yes? Two areas of concern there: (1)
whether there might be loopholes that would allow a query / update
operation / function to escape the database to which it was applied
and (2) whether expensive or runaway operations could impair other
databases in the same instance. As for (1), it's my intent that the
system should prevent this from happening -- that said, the product is
very young, and I would not be terribly surprised if you could find
ways to subvert the protections. (2) is even trickier; there is an
(unadvertised) property "dovetaildb.js_timeout" (expressed in seconds)
which will forcibly terminate javascript functions, but it will not
terminate a query or update early. Someone with knowledge of your
data and the system can figure out how to fashion expensive queries
(in memory, processing time, or both).
Improvements on both fronts (1) and (2) are in the works; at this
point in the game, though, my recommendation is to run multiple
DovetailDB instances, each running as distinct, unprivileged users
whenever sandboxing is an important concern.
Cheers!