<-- Back to schedule

Ruruki in-memory graph database

Project: Ruruki

Graphs allow you to map data in ways that is interesting and effective. They allow you to look at data in new ways and ask interesting questions that you have not yet considered. Graphs are effective in a sense that they naturally grow as data is added.

One interesting thing that I found about using graphs, is that you can relate any types of data to each other. For example, say that you have a network graph representing servers connecting to switches which connect to routers, and so on. You can then introduce the software layer linking applications to servers, and how they connect to other applications. Then you realize that people need to administer servers, networks and applications. So you then introduce people to the graph outlining who is responsible for what. Now the power of graphs come in because you can ask questions like if RouterA breaks, who do I need to contact and what applications are affected.

Before committing to something more concrete like Neo4j, you may want to prototype a proof of concept first, or in my case validation where you make changes, test it, correct mistakes, and then commit to a reliable source. Ruruki was developed to be just that. An in-memory graph database for rapid prototyping and a temporary throwaway graph database.

Jenda Mudron

Jenda started working at Optiver as an Application Engineer when he later become a enthusiastic python developer for the Application Engineering team writing and maintaining tools which assist in managing the trading systems.

He has a keen interest in graph databases and enjoys looking for solutions to problems and implementing them. He also enjoys learning new methods and techniques to better himself and the software that we writes and maintains.

Jenda enjoys mountain biking, squash, rugby union and Oztag. He most of all loves spending time with his wife and two boys.