Question

Je construis une webapp qui a les caractéristiques suivantes:

  1. Il ne dispose que d'un petit nombre de pages, à la maison, contactez-nous, à propos, singup, etc.
  2. Chaque utilisateur dispose d'une page basée jquery qui leur permet de glisser / déposer / manipuler des éléments DOM.
  3. Lorsqu'un utilisateur a fini de manipuler des éléments qu'ils peuvent frapper Save et éléments sont envoyés par JSON à un script PHP sur le serveur. Ils peuvent également préalablement enregistrés JSON.

Donc, essentiellement: très peu de pages avec 90% des informations statiques. Une page avec le travail côté client et potentiellement beaucoup de mise en / de afficherons JSON.

Je l'ai construit un POC de ce en utilisant PHP / Smarty, JQuery et mySQL. Détails de l'utilisateur sont stockés dans mySQL et est donc les données JSON. Sont mises en cache par pages web Smarty sur le disque.

Maintenant, je pense à l'évolutivité et la question évidente est que je devrais stocker les données JSON souvent changé mySQL ou devrais-je utiliser memcachedb ou d'un autre magasin clé-valeur? Iriez-vous pour la simple option de mySQL ou d'introduire un magasin clé-valeur maintenant ou vous attendre pour voir si pose problème à l'échelle? Vais-je réaliste jamais atteindre un point où mySQL est le goulot d'étranglement?

Je prévois d'accueillir ce sur Slicehost pour commencer et puis déplacez-le si besoin est.

Était-ce utile?

La solution

La question est, aurait-il des recherches sur la base de ces valeurs ou non? Est-ce qu'il y aura des mises à jour pour des valeurs spécifiques au niveau de la base de données ou non ... les données Serilaized ou JSON va être plus rapide et plus efficace (stockage sage) si tout ce que vous faites est de tirer toute la chaîne et ont aucune exigence pour interroger ou modifier il.

Sur la base de la façon dont vous l'échelle cependant, vous pouvez garder une structure clé / valeur avec une représentation de données plat à des fins de recherche.

Pensez aussi à utiliser AB apache pour une analyse comparative et obtenir des idées sur la façon dont les modifications en votre sortie simultanée.

Bonne chance:)

Autres conseils

En ce qui concerne le JSON est concerné, il ne fera pas une différence: je ne vois pas comment vous pouvez optimiser le stockage de ces données. Je pense que la question se résume à « Quelle est la complexité des données utilisateur? ». S'il y a un graphe social massif lié à des clés étrangères SGBDR, et il est trop difficile de cartographier ces données à un magasin clé-valeur, je préfère ne pas dépenser l'effort maintenant. Cependant, si les données de l'utilisateur est tout simplement des informations de profil plat, je préfère passer à un magasin de valeur clé maintenant, que plus tard, avant de l'utiliser trop de fonctionnalités SGBDR.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top