sql >> Databasteknik >  >> NoSQL >> MongoDB

Lagring av kataloghierarki i ett datalager för nyckel-värde

Metoden du använder nu kallas för adjacency list model.

En annan modell för att lagra hierarkisk data i en (relationell) databas är den kapslade uppsättningsmodellen. Dess implementering i SQL-databaser är välkänd. Se även den här artikeln för den modifierade algoritmen för förbeställningsträdet.

En mycket enkel metod:du kan lagra en sökväg per objekt - med dem borde det vara lätt att söka efter träd i NOSQL-databaser:

{ path: "Color", ... }
{ path: "Color.Red", ... }
{ path: "Color.Red.Apple", ... }
{ path: "Color.Red.Cherry", ... }

När noder kommer att tas bort eller byta namn måste vissa sökvägar uppdateras. Men i allmänhet ser den här metoden lovande ut. Du behöver bara reservera ett specialtecken som avgränsare. Lagringsutrymmet över huvudet bör vara försumbart.

redigera:denna metod kallas materialiserad sökväg

Slutligen, här är en jämförelse av olika metoder för hierarkisk data i NOSQL-databaser.



  1. Hur får man Redis att börja på Heroku?

  2. Automatiska återförsök

  3. Gruppera efter datum med lokal tidszon i MongoDB

  4. $nin med $expr