Hi everyone! My name is Azhar Ahmad Rahi. I am new to graph database. I have read theocretically about graph database but never used it. I am deep interested to know if it best suits to my current app.
I am working on a mobile app. This app prompts messages on an event and a user can send message to himself or anyone individually on an event. This mobile has two kinds of users: 1- Individual 2- Trainer
1- Individual user can set message to prompt on an event to himself or any other user by selecting his name.
2- Trainer can set message to prompt on an event to trainees assigned to him.
Now the messages can be reshared to anyone either send by individual user or trainer. Also any trainee can be a trainer of any other user.
Now this app seems like a network. First I thought to deal it with SQL Server but I also find that it can be a graph database because this app has a relation network. However I never worked in graph database so found it difficult to decide to use graph db or not.
Also if I go for graph db, I have also concerns about reporting in a tabular format. I do not know whether we can achieve tabular view of reporting or not. Also I want to know that whether we can get more efficient data read from db. And can we show the charts on app in more efficient way? How much it will be efficient if data exceeds to billions?
Welcome to the community Azhar! It sounds like your app could easily make use of a graph database. I know it's a little hard sometimes to think around the tabular data concept but it does sounds like your app is "Graphy" I don't know if you've taken a look at the GRANDstack but it's a good stepping off point for web apps built with a Neo4j backend. In addition it uses React which makes it easy to port over for native/mobile apps. I hope that helps.
Thanks @MuddyBootsCode. Deciding the technology for an app is not easy, esp if you have never worked in that technology. Graph db really looks a best option for my app, but I am currently research on it, until I will be fully satisfied. In relation dbs, like SQL Server, we know how to create a structure for db and how to normalize it, and how to apply indexes to increase performance. However in nosql, we have a different structures for data and need to understand how to tune the performance.
All good points. There's a lot of information here on this site as well as in the Neo4j docs about schema creation, indexing, and query optimization. The Neo4j Graph Academy is a good place to start with learning more about the technology and getting a better idea of if you'd like to use it or not and as always you can come here to the community site and ask more direct questions.
Ok thanks, I am looking into Neo4j Graph Academy to get the idea.