  The canonical analytics architecture today consists of a browser connected to
a backend in the cloud. In all deployments that we are aware of, the browser is
simply a dumb rendering endpoint. As an alternative, this paper explores
split-execution architectures that push analytics capabilities into the
browser. We show that, by taking advantage of typed arrays and asm.js, it is
possible to build an analytical RDBMS in JavaScript that runs in a browser,
achieving performance rivaling native databases. To support interactive data
exploration, our Afterburner prototype automatically generates local
materialized views from a backend database that are then shipped to the browser
to facilitate subsequent interactions seamlessly and efficiently. We compare
this architecture to several alternative deployments, experimentally
demonstrating performance parity, while at the same time providing additional
advantages in terms of administrative and operational simplicity.
