Ideas I find interesting:
Firstly, the functions you run are
deterministic and they run in a virtualized runtime, which freezes things like system time and random seed to ensure determinism (kinda reminded me of
croquet.io). These functions are applied within serializable transactions on their db. Side note - the db schema is auto-created and extended as you start using it - you don't have to predefine it.
The second interesting thing is they store the function code itself in the same database so you get code-data consistency and can determine if a cached value is from an older version of the code. A small thing but I think it has big implications since the runtime is now version aware.