Domanda

Sto costruendo una webapp che ha le seguenti caratteristiche:

  1. Ha solo un piccolo numero di pagine, casa, contattarci, su, SINGUP, ecc.
  2. Ogni utente ha una pagina jquery-based che permette loro di drag / drop / manipolare gli elementi DOM.
  3. Quando un utente ha finito di elementi manipolare possono colpire Salva e gli elementi vengono inviati tramite JSON ad uno script PHP sul server. Si può anche caricare salvato in precedenza JSON.

Quindi, in sostanza: poche pagine con informazioni statiche 90%. Una pagina con il lavoro sul lato client e potenzialmente un sacco di ottenere / Distacco di JSON.

Ho creato una POC di questo utilizzando PHP / Smarty, jQuery e mySQL. i dettagli dell'utente vengono archiviati in MySQL e così è i dati JSON. Le pagine web vengono memorizzati nella cache da Smarty sul disco.

Ora sto pensando di scalabilità e la domanda ovvia è dovrei memorizzare i dati JSON spesso cambiato in MySQL o dovrei usare memcacheDB o qualche altro negozio di valori-chiave? Vuoi andare per l'opzione facile mySQL o introdurre un negozio di valori-chiave ora o vuoi aspettare per vedere se problema scala sorgere? Sto realisticamente mai andare a raggiungere un punto in cui MySQL è il collo di bottiglia?

Sto pensando di ospitare questo su Slicehost per cominciare e poi spostarlo in caso di necessità.

È stato utile?

Soluzione

La domanda è, ci sarebbe eventuali ricerche sulla base di questi valori o no? C'è sarà aggiornamenti per i valori specifici a livello di database o no ... i dati Serilaized o JSON sta per essere più veloce e più efficiente (stoccaggio saggio) se tutto ciò che fai è tirare l'intera stringa e non hanno i requisiti per interrogare o modificare esso.

In base a come si scala, però, si consiglia di mantenere una struttura chiave / valore insieme ad una rappresentazione dei dati piatta a scopo di ricerca.

È inoltre possibile utilizzare apache AB per un po 'di benchmarking e ottenere idee su come le modifiche effettuare la vostra uscita simultanea.

Buona fortuna:)

Altri suggerimenti

Per quanto riguarda il JSON è interessato, non farà una differenza: non vedo come è possibile ottimizzare la memorizzazione di tali dati. Credo che la questione si riduce a "Quanto è complesso i dati degli utenti?". Se c'è un grafico sociale di massa connessi con chiavi esterne RDBMS, ed è troppo difficile per mappare i dati in un negozio di valori-chiave, preferirei non spendere lo sforzo ora. Tuttavia, se i dati utente è solo informazioni di profilo piatto, preferirei trasferisco in un negozio di valori-chiave ora, che più tardi, prima di usare troppe funzionalità RDBMS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top