sql >> Database >  >> NoSQL >> Redis

Moet ik MongoDB als onze hoofddatabase gebruiken, moet ik een afzonderlijke grafische database gebruiken om relaties tussen entiteiten te implementeren?

Mike,

u zou uw relatiegegevens in de grafiekdatabase moeten kunnen opslaan. De hoge prestaties bij het doorkruisen van grote grafieken komen van de plaats, d.w.z. u voert geen zoekopdrachten wereldwijd uit, maar start eerder een reeks knooppunten (wat in uw geval gelijk is aan documenten die worden opgezocht door een index. U kunt zelfs start-node- opslaan id's voor snelle toegang in uw mongo-documenten). Van daaruit kunt u willekeurig grote paden doorlopen in constante tijd (wrt dataset grootte).

Wat zijn uw andere vereisten (d.w.z. de grootte van de dataset, het aantal gelijktijdige toegangen enz., de complexiteit van de relatie/grafiek).

Uw zoekopdrachten passen heel goed bij de grafische database en zijn gemakkelijk uit te drukken in termen.

Ik stel voor dat je gewoon een graphdb zoals neo4j neemt en een snelle piek maakt met je domein om de algemene haalbaarheid te verifiëren en ook om aanvullende vragen te ontdekken die je graag beantwoord zou willen hebben voordat je in de tweede technologie investeert.

PS Als je nog niet was begonnen, had je ook voor een pure graphdb-aanpak kunnen gaan, aangezien grafische databases een superset van documentdatabases zijn. En in jouw geval praat je toch liever over domein dan over generieke documenten. (Structr is bijvoorbeeld een CMS dat bovenop Neo4j is gebouwd).



  1. Meerdere sleutelwaarden ophalen van Redis

  2. MongoDB $stdDevPop

  3. Aanhoudend Python-object in het geheugen voor nginx/uwsgi-server

  4. Waar is de meteoor MongoDB-database?