Je construis une webapp qui a les caractéristiques suivantes:Se soucier de l'évolutivité d'un nouveau site
- Il a seulement un petit nombre de pages, à la maison, contactez-nous, à propos, singup, etc.
- Chaque utilisateur a une page basée sur jquery qui lui permet de glisser/déposer/manipuler des éléments DOM.
- Lorsqu'un utilisateur a fini de manipuler des éléments, il peut cliquer sur Enregistrer et les éléments sont envoyés via JSON à un script PHP sur le serveur. Ils peuvent également charger JSON précédemment sauvegardé.
Donc essentiellement: très peu de pages avec 90% d'informations statiques. Une page avec le travail côté client et potentiellement beaucoup de GETting/POSTing de JSON.
J'ai construit un POC avec PHP/Smarty, jQuery et mySQL. Les détails de l'utilisateur sont stockés dans mySQL, tout comme les données JSON. Les pages Web sont mises en cache par Smarty sur le disque. Maintenant, je pense à l'évolutivité et la question évidente est de savoir si je devrais stocker les données JSON souvent changées dans mySQL ou devrais-je utiliser memcacheDB ou un autre magasin de valeurs-clés? Souhaitez-vous aller à l'option mySQL facile ou introduire un magasin de valeur-clé maintenant ou attendez-vous pour voir si le problème d'échelle se pose? Suis-je réaliste pour atteindre un point où mySQL est le goulot d'étranglement?
Je prévois d'héberger ce sur Slicehost pour commencer, puis le déplacer si nécessaire.
Aucune recherche, juste un stockage direct. Générez du JSON en utilisant jQuery, stockez tel quel dans mySQL, puis récupérez plus tard à partir de DB, renvoyez-le au côté client et jQuery parcourt JSON. –
Ensuite, l'économie de JSON sera la moins utilisée et le meilleur modèle de stockage. (même si cela peut prendre plus de place, mais vous laissera moins de lignes dans la table à traiter, d'où un plus petit fichier d'index et des récupérations plus rapides). – Mohammad