  To support complex data-intensive applications such as personalized
recommendations, targeted advertising, and intelligent services, the data
management community has focused heavily on the design of systems to support
training complex models on large datasets. Unfortunately, the design of these
systems largely ignores a critical component of the overall analytics process:
the deployment and serving of models at scale. In this work, we present Velox,
a new component of the Berkeley Data Analytics Stack. Velox is a data
management system for facilitating the next steps in real-world, large-scale
analytics pipelines: online model management, maintenance, and serving. Velox
provides end-user applications and services with a low-latency, intuitive
interface to models, transforming the raw statistical models currently trained
using existing offline large-scale compute frameworks into full-blown,
end-to-end data products capable of recommending products, targeting
advertisements, and personalizing web content. To provide up-to-date results
for these complex models, Velox also facilitates lightweight online model
maintenance and selection (i.e., dynamic weighting). In this paper, we describe
the challenges and architectural considerations required to achieve this
functionality, including the abilities to span online and offline systems, to
adaptively adjust model materialization strategies, and to exploit inherent
statistical properties such as model error tolerance, all while operating at
"Big Data" scale.
