Ik ben onlangs begonnen met Neo4j en zou graag een paar best practices en tips ontvangen.
Vraag 1:
Indien een node wordt verwijderd dan wordt het id van de betreffende node vrijgegeven. Bij het aanmaken van een nieuwe node, kan het voorkomen dat deze dezelfde id krijgt als de verwijderde node.
Dit maakt het id naar mijn inziens compleet nutteloos voor de buitenwereld tenzij je nooit nodes verwijderd. Bovendien had ik een uuid verwacht in plaats van een integer incrementele getal.
Wat zijn de best practices omtrent een id van een node? Zelf een maken? Of de interne id gebruiken die Neo4j aanmaakt?
Vraag 2:
Ik vraag me af of het nog nodig is om data op te slaan in zowel een relationele database en tegelijkertijd in Neo4j. Waar bij bijvoorbeeld in Elasticsearch het niet de bedoeling is om de relationele database te vervangen, ben ik hier niet zeker van met Neo4j.
Stel er zijn een aantal tabellen in een relationele database:
Neo4j zal gebruikt worden om game suggesties te tonen.
Dan zijn er een aantal opties:
Vraag 1:
Indien een node wordt verwijderd dan wordt het id van de betreffende node vrijgegeven. Bij het aanmaken van een nieuwe node, kan het voorkomen dat deze dezelfde id krijgt als de verwijderde node.
Dit maakt het id naar mijn inziens compleet nutteloos voor de buitenwereld tenzij je nooit nodes verwijderd. Bovendien had ik een uuid verwacht in plaats van een integer incrementele getal.
Wat zijn de best practices omtrent een id van een node? Zelf een maken? Of de interne id gebruiken die Neo4j aanmaakt?
Vraag 2:
Ik vraag me af of het nog nodig is om data op te slaan in zowel een relationele database en tegelijkertijd in Neo4j. Waar bij bijvoorbeeld in Elasticsearch het niet de bedoeling is om de relationele database te vervangen, ben ik hier niet zeker van met Neo4j.
Stel er zijn een aantal tabellen in een relationele database:
code:
1
2
3
4
5
6
7
| -------------------------------------------- | users | games | platforms | -------------------------------------------- | id | id | id | | username | title | title | | password | platform_id | | -------------------------------------------- |
Neo4j zal gebruikt worden om game suggesties te tonen.
Dan zijn er een aantal opties:
- De tabellen laten staan in de relationele database en games en platforms nodes aanmaken in Neo4j en deze data in sync houden en deze data in sync houden met de relationele database;
- De tabellen laten staan in de relationele database en games en platforms nodes aanmaken met enkel het id van de platform en game in Neo4j en deze data in sync houden met de relationele database;
- Enkel de tabel users laten staan en de games en platforms verplaatsen naar nodes in Neo4j.