  Efficient transactional management is a delicate task. As systems face
transactions of inherently different types, ranging from point updates to long
running analytical computations, it is hard to satisfy their individual
requirements with a single processing component. Unfortunately, most systems
nowadays rely on such a single component that implements its parallelism using
multi-version concurrency control (MVCC). While MVCC parallelizes short-running
OLTP transactions very well, it struggles in the presence of mixed workloads
containing long-running scan-centric OLAP queries, as scans have to work their
way through large amounts of versioned data. To overcome this problem, we
propose a system, which reintroduces the concept of heterogeneous transaction
processing: OLAP transactions are outsourced to run on separate (virtual)
snapshots while OLTP transactions run on the most recent representation of the
database. Inside both components, MVCC ensures a high degree of concurrency.
The biggest challenge of such a heterogeneous approach is to generate the
snapshots at a high frequency. Previous approaches heavily suffered from the
tremendous cost of snapshot creation. In our system, we overcome the
restrictions of the OS by introducing a custom system call vm_snapshot, that is
hand-tailored to our precise needs: it allows fine-granular snapshot creation
at very high frequencies, rendering the snapshot creation phase orders of
magnitudes faster than state-of-the-art approaches. Our experimental evaluation
on a heterogeneous workload based on TPC-H transactions and handcrafted OLTP
transactions shows that our system enables significantly higher analytical
transaction throughputs on mixed workloads than homogeneous approaches. In this
sense, we introduce a system that accelerates Analytical processing by
introducing custom Kernel functionalities: AnKerDB.
