Sto costruendo un'app PHP/MySQL e sto permettendo agli utenti di creare i propri dati di profilo personalizzati (per quanto vogliono) (cioè possono aggiungere qualsiasi quantità di informazioni al loro profilo con caselle di testo aggiuntive, ma c'è un insieme "CORE" di campi del profilo utente)MySQL ma non conosco i nomi delle colonne prima della mano
Ad esempio, possono creare una nuova casella di testo sul modulo e chiamarlo "il mio animale domestico" e/o "il mio colore preferito ". Abbiamo bisogno di memorizzare questi dati in un database e non possiamo ovviamente creare colonne per ciascuna delle loro scelte poiché non sappiamo quali sono le loro informazioni aggiuntive prima della mano.
Un modo di pensare che potremmo memorizzare tutte le "informazioni addidional" che forniscono è quello di memorizzare le loro informazioni aggiuntive come JSON e conservarlo in un campo di testo MySQL (MySQL amo :))
che ho visto Plugin di compilatore di form Wordpress in cui è possibile creare i propri campi, quindi sto pensando che devono archiviare i dati in MySQL in qualche modo poiché le soluzioni NoSQL vanno oltre lo scopo di questi plugin.
Mi piacerebbe restare con MySQL ma voi ragazzi pensate che soluzioni NoSQL come MongoDB/Redis sarebbero una soluzione migliore da allora?
Grazie
La risposta, come sempre, dipende da _. Se hai centinaia di migliaia di utenti, dovresti provare una varietà di soluzioni per vedere cosa scala. Ma, per un piccolo insieme di opzioni per un insieme relativamente piccolo di righe, JSON o un valore PHP serializzato, nel db relazionale esistente, va bene. Penso che Wordpress usi la serializzazione internamente per alcuni dei suoi record di opzioni. – halfer
+1 per una domanda interessante e una bella funzionalità :-) –