Using shared DRAM as persistence for an in-memory DBMS
A shared-nothing architecture is state-of-the-art for deploying a distributed analytical in-memory database management system: it preserves the in-memory performance advantage by processing data locally on each node but is difficult to scale out. Modern switched fabric communication links such as InfiniBand narrow the performance gap between local and remote DRAM data access to a single order of magnitude. Based on these premises, this project introduces a distributed in-memory database architecture that separates the query execution engine and data access: this enables a) the usage of a large-scale DRAM-based storage system such as Stanford's RAMCloud and b) the push-down of bandwidth-intensive database operators into the storage system. We address the resulting challenges such as finding the optimal operator execution strategy and partitioning scheme. The project demonstrates that such an architecture delivers both: the elasticity of a shared-storage approach and the performance characteristics of operating on local DRAM. In our project, we created AnalyticsDB which is a prototypical analytical query processor with a pluggable storage layer.
Contact: Christian Tinnefeld
Research Area: In-Memory Data Management for Enterprise Systems