sql >> Databasteknik >  >> RDS >> Mysql

Design av rekommendationsmotordatabasen?

Alla relationsdatabas bör vara bra för att lagra rådata som listor över låtar, lista över användare, användarnas låtpreferenser.

Jag tror att du kommer att upptäcka att en relationsdatabaser (och SQL) inte är så bra för att lagra de olika datastrukturerna som din rekommendator kommer att konstruera. Din rekommendationsmotor kommer förmodligen att skapa data som egentligen inte behöver finnas i tabeller och att manipulera den för lagring i en relationsdatabas kan bara vara bortkastad arbete.

Var bara medveten om vad du gör och lägg inte ner tid på att lägga in saker i en SQL-databas om det känns fel. Kanske titta på att använda en dokumentorienterad databas som MongoDB .

Rekommenderaren som jag nyligen skrev är faktiskt en Java-serverprocess som läser in rådata från MySQL, gör allt sitt arbete i minnet och ger rekommendationsdata till min applikation via ett HTTP-API. Jag brydde mig inte ens om att lagra rekommendationsdata permanent eftersom den kan återskapas.



  1. Parsar JSON till MySQL-tabell

  2. Mysql Slow Insert

  3. Oracle ORA-00979 - inte ett GROUP BY-uttryck

  4. Hur man subtraherar aktuellt datum och tid från datum och tid i databasen - PHP