In the DICE group, we develop new a new generation of graph databases that go beyond the traditional binary joins you have learned about in your undergraduate database course. With the advent of worst-case optimal joins (WCOJs) graph-based analytics can often be speed up massively, in practice up to 1000x. WCOJs achieve this by lowering the complexity class for many queries compared to binary joins. WCOJs are demanding, though. They come with strict conditions on the data layout and available access paths. One index to support such joins is the Ring by Arroyuelo et.al.. The Ring is a succinct data structure. That means the memory it requires to store it is close to the informantion theoretic minimum but it also means that you cannot update it once it is built.
You will take the basic concept of the ring and make a dynamic datastructure that supports updating the contained data efficiently. Your implementation will be in C++ with a Tentris compatible API. For the evaluation, you will integrate your dynamic ring implementation into Tentris and compare it with it's basline index implementation hypertrie. The evaluation will be executed with established graph database benchmarks like WDBench and WatDiv.