Engineering high-performance database engines

Thomas Neumann
2014 Proceedings of the VLDB Endowment  
Developing a database engine is both challenging and rewarding. Database engines are very complex software artifacts that have to scale to large data sizes and large hardware configurations, and developing such systems usually means choosing between different trade-offs at various points of development. This papers gives a survey over two different database engines, the disk-based SPARQL-processing engine RDF-3X, and the relational main-memory engine HyPer. It discusses the design choices that
more » ... ere made during development, and highlights optimization techniques that are important for both systems. how the different design goals affected the systems. Furthermore, we show which techniques, in particular in the context of query optimization, were essential for both systems and therefore should be applicable to other systems, too. The rest of the paper is structured as follows: We first describe the disk-based system RDF-3X in Section 2. In Section 3 we then contrast that to the architecture of the relational main-memory DBMS HyPer. Query optimization techniques are discussed in Section 4. Finally, an overview of other systems is given in Section 5.
doi:10.14778/2733004.2733076 fatcat:67gulifelbd37p2xe3qaiwdu5m