Ik ben nu bezig met het maken van een keuze voor een opslagsysteem voor met name hierarchisch geordende (meta-)informatie, met hier en daar wat (cross-)references. De informatie is opgebouwd uit objecten die bestaan uit verzamelingen van attributen. Standaard OO werk dus.
Een belangrijk deel van het gebruik van het systeem zal bestaan uit het defineren van nieuwe object-templates, of classes zo je wilt, en het aanmaken van nieuw te gebruiken attributen. Het overige deel van het gebruik wordt ingenomen dooor het invullen van object-instances door andere gebruikers.
Belangrijke eis aan het te ontwerpen systeem is, dat het lichtgewicht en eenvoudig is. Ik ben daarom ook op zoek gegaan naar een opslagsysteem met dezelfde karakteristieken. LDAP was uiteraard 1 van de systemen die ik in eerste instantie heb bekeken. Het zou precies doen wat wij er mee willen en ook niet veel meer, en dat alles ook nog eens lekker snel en schaalbaar.
Erg vervelend vond ik het daarom ook, om erachter te komen dat OpenLDAP (meest voor de hand liggende implementatie) het dynamisch toevoegen van attributes en objectClasses niet ondersteunt. Die dingen staan immers in de .schema files, die slechts 1 keer bij het opstarten van de server ingelezen worden. Dus dan zou je elke keer als er een nieuw object gedefineerd wordt de server (slapd) moeten herstarten.
Is dit echt waar (slechts 1 Google hit op gevonden), of kan het stiekem toch? Ik zie het gewoon niet zo zitten om dit met een SQL gebasseerd systeem op te lossen. Dat zou of betekenen dat ik voor elke attribuuttype een table aan moet maken, en/of voor elke objectClass een aparte tabel. Daarnaast ook een zooi koppeltabellen voor de relaties, ik zie dat uiteindelijk helemaal niet goed gaan met de eenvoud en "leightweight"-heid ervan.
Dus ik zoek eigenlijk alternatieven die wel het dynamisch toevoegen van attribuut- en object-definities toelaten. Betaan die en zijn die een beetje gangbaar?
Een belangrijk deel van het gebruik van het systeem zal bestaan uit het defineren van nieuwe object-templates, of classes zo je wilt, en het aanmaken van nieuw te gebruiken attributen. Het overige deel van het gebruik wordt ingenomen dooor het invullen van object-instances door andere gebruikers.
Belangrijke eis aan het te ontwerpen systeem is, dat het lichtgewicht en eenvoudig is. Ik ben daarom ook op zoek gegaan naar een opslagsysteem met dezelfde karakteristieken. LDAP was uiteraard 1 van de systemen die ik in eerste instantie heb bekeken. Het zou precies doen wat wij er mee willen en ook niet veel meer, en dat alles ook nog eens lekker snel en schaalbaar.
Erg vervelend vond ik het daarom ook, om erachter te komen dat OpenLDAP (meest voor de hand liggende implementatie) het dynamisch toevoegen van attributes en objectClasses niet ondersteunt. Die dingen staan immers in de .schema files, die slechts 1 keer bij het opstarten van de server ingelezen worden. Dus dan zou je elke keer als er een nieuw object gedefineerd wordt de server (slapd) moeten herstarten.
Is dit echt waar (slechts 1 Google hit op gevonden), of kan het stiekem toch? Ik zie het gewoon niet zo zitten om dit met een SQL gebasseerd systeem op te lossen. Dat zou of betekenen dat ik voor elke attribuuttype een table aan moet maken, en/of voor elke objectClass een aparte tabel. Daarnaast ook een zooi koppeltabellen voor de relaties, ik zie dat uiteindelijk helemaal niet goed gaan met de eenvoud en "leightweight"-heid ervan.
Dus ik zoek eigenlijk alternatieven die wel het dynamisch toevoegen van attribuut- en object-definities toelaten. Betaan die en zijn die een beetje gangbaar?