MillenniumDB: An Open-Source Graph Database System
Domagoj Vrgoc, Carlos Rojas, Renzo Angles, Marcelo Arenas, Diego
Arroyuelo, Carlos Buil-Aranda, Aidan Hogan, Gonzalo Navarro, Cristian Riveros,
and Juan Romero
In this systems paper, we present MillenniumDB: a novel graph database engine that is
modular, persistent, and open source. MillenniumDB is based on a graph data model,
which we call domain graphs, that provides a simple abstraction upon which a variety
of popular graph models can be supported, thus providing a flexible data management
engine for diverse types of knowledge graph. The engine itself is founded on a combination of tried and tested techniques from relational data management, state-of-the-art
algorithms for worst-case-optimal joins, as well as graph-specific algorithms for evaluating path queries. In this paper, we present the main design principles underlying
MillenniumDB, describing the abstract graph model and query semantics supported,
the concrete data model and query syntax implemented, as well as the storage, indexing, query planning and query evaluation techniques used. We evaluate MillenniumDB over real-world data and queries from the Wikidata knowledge graph, where
we find that it outperforms other popular persistent graph database engines (including
both enterprise and open source alternatives) that support similar query features.