A Journey with a Graph Database

Using Graph databases as an alternative to RDBMS

What is a graph database you may say

If I say table and you immediately assume that I’m talking about databases, there is a good chance that you work in IT. This is not surprising because, like most developers, you probably took your baby steps with a relational database.

Example of relationship between two nodes
Data modeling with a traditional RDBMS
Modeling with a graph structure

It’s not you, it’s me say

I have worked with relational databases for a decade now. This option is the common way to store data and interact with it.

Why a graph database was the answer

Our app Dayvelop was designed as a solution for developers to keep track of news related to their favorite technologies and languages by subscribing to information feeds and participating in simple quizzes.

Partial Graph data model (Dayvelop)

How to go from relational databases to graph databases

Modeling your database with a graph database is pretty straightforward, but you may still need to take some time to think about how your data will be structured.

The good, the bad, and the ugly

So why not just use a graph database all the time? I mean, after all, everything you can do with RDBMS or a NoSQL database, you can do it (even better) with a graph database.

Partial data model (Dayvelop)
A CSV file with Skill nodes (one line for each node)
A CSV file to load relationships between nodes (one line for each relationship)

Is Neo4j the only option here

Of course not, we decided to go with Neo4j as our primary database for Dayvelop, but there are many other graph databases out there.
We found that this one was particularly easy to start with and the documentation is pretty good.

By the way, what exactly is Dayvelop

During this pandemic, I tried, like many developers out there, to improve my skills by reading and exploring new technologies and tools.

Another software engineer