  Differential privacy is a promising privacy-preserving paradigm for
statistical query processing over sensitive data. It works by injecting random
noise into each query result, such that it is provably hard for the adversary
to infer the presence or absence of any individual record from the published
noisy results. The main objective in differentially private query processing is
to maximize the accuracy of the query results, while satisfying the privacy
guarantees. Previous work, notably \cite{LHR+10}, has suggested that with an
appropriate strategy, processing a batch of correlated queries as a whole
achieves considerably higher accuracy than answering them individually.
However, to our knowledge there is currently no practical solution to find such
a strategy for an arbitrary query batch; existing methods either return
strategies of poor quality (often worse than naive methods) or require
prohibitively expensive computations for even moderately large domains.
  Motivated by this, we propose the \emph{Low-Rank Mechanism} (LRM), the first
practical differentially private technique for answering batch queries with
high accuracy, based on a \emph{low rank approximation} of the workload matrix.
We prove that the accuracy provided by LRM is close to the theoretical lower
bound for any mechanism to answer a batch of queries under differential
privacy. Extensive experiments using real data demonstrate that LRM
consistently outperforms state-of-the-art query processing solutions under
differential privacy, by large margins.
