ik ben voor het werk wat r&d aan het doen naar geschikte databases voor een bij ons veel voorkomend schenario (DAM wereld).
de data kan worden voorgesteld een boomstructuur met 3 levels: product, sku, asset; statistisch gezien is 100k products een deftige start, waar aan elk product 5-15 sku's gelinkt zijn, elke sku 5-20 assets (en een product kan ook assets hebben, maar da's eerder uitzonderlijk).
elk object heeft natuurlijk wat properties waar veelvuldig op gezocht moet worden. een standaard scenario zou kunnen zijn: geef me alle sku's waar "Material=klei & size IN (small, medium) & model.Category=Baksteen & asset.Color=blue", wat neer komt op "sku's waar Material=klei & gelinkt aan model waar Category=Baksteen & ..."
er moeten grootteorde 100k updates per dag worden verwerkt waar voor elk zo'n soort query aan voorafgaat.
MsSQL blijkt daarvoor te traag, ik ben daarnaast bezig geweest met Neo4j (graph) en Couchbase (doc db).
- Neo4j is na een paar pogingen nog steeds te traag: zoeken vanaf de root node gaat vlot maar eens er gefilterd wordt op properties op linked shit gaat het de mist in;
- Couchbase heeft moeite met het in sync houden van de views: de helft van de tijd worden de indexen opnieuw berekend en is er geen query meer uit te voeren.
misschien is geen enkele van deze alternatieven geschikt, maar graag reacties, ideeën, brainstorm!
de data kan worden voorgesteld een boomstructuur met 3 levels: product, sku, asset; statistisch gezien is 100k products een deftige start, waar aan elk product 5-15 sku's gelinkt zijn, elke sku 5-20 assets (en een product kan ook assets hebben, maar da's eerder uitzonderlijk).
elk object heeft natuurlijk wat properties waar veelvuldig op gezocht moet worden. een standaard scenario zou kunnen zijn: geef me alle sku's waar "Material=klei & size IN (small, medium) & model.Category=Baksteen & asset.Color=blue", wat neer komt op "sku's waar Material=klei & gelinkt aan model waar Category=Baksteen & ..."
er moeten grootteorde 100k updates per dag worden verwerkt waar voor elk zo'n soort query aan voorafgaat.
MsSQL blijkt daarvoor te traag, ik ben daarnaast bezig geweest met Neo4j (graph) en Couchbase (doc db).
- Neo4j is na een paar pogingen nog steeds te traag: zoeken vanaf de root node gaat vlot maar eens er gefilterd wordt op properties op linked shit gaat het de mist in;
- Couchbase heeft moeite met het in sync houden van de views: de helft van de tijd worden de indexen opnieuw berekend en is er geen query meer uit te voeren.
misschien is geen enkele van deze alternatieven geschikt, maar graag reacties, ideeën, brainstorm!