Graph Databases
Graph databases are designed exactly for storing topologies comprising nodes, edges and their properties. In AggreGate, this matches sets of class instances and relations between them.
By their design, graph databases allow simple and fast retrieval of complex hierarchical structures that are difficult to model in relational systems.
Despite AggreGate uses vendor-agnostic access to graph databases, the default database used is Neo4j. It is capable of maintaining ultra-large-scale persistent graphs and provides a special graph query language used to load custom pieces of topology for in-memory analysis or visualization.
Graph databases are definitely winning against relational databases in both performance and flexibility.