Elke relationele database zou goed moeten zijn voor het opslaan van de onbewerkte gegevens zoals lijsten met nummers, lijst met gebruikers, voorkeuren van gebruikers voor nummers.
Ik denk dat je zult merken dat relationele databases (en SQL) niet zo geweldig zijn voor het opslaan van de verschillende gegevensstructuren die je aanbeveler zal bouwen. Uw aanbevelingsengine zal waarschijnlijk gegevens maken die niet echt in tabellen hoeven te staan en het manipuleren ervan voor opslag in een relationele database kan gewoon verspild werk zijn.
Wees je gewoon bewust van wat je doet en besteed geen tijd aan het in een SQL-database stoppen als het niet goed voelt. Misschien eens kijken naar het gebruik van een documentgeoriënteerde database zoals MongoDB .
De aanbeveling die ik onlangs schreef, is eigenlijk een Java-serverproces dat de onbewerkte gegevens van MySQL inleest, al zijn werk in het geheugen doet en aanbevelingsgegevens aan mijn toepassing levert via een HTTP-API. Ik heb niet eens de moeite genomen om de aanbevelingsgegevens permanent op te slaan, omdat deze opnieuw kunnen worden gegenereerd.