Frage

Ich baue eine Webapp, die folgenden Merkmale aufweist:

  1. Es hat nur eine geringe Anzahl von Seiten, zu Hause, kontaktieren Sie uns, über, SINGUP, etc.
  2. Jeder Benutzer hat eine Jquery-basierte Seite, die sie per Drag / Drop / manipulieren DOM-Elemente erlaubt.
  3. Wenn ein Benutzer Elemente beendet hat manipulieren können sie schlagen Speichern und Elemente werden über JSON an ein PHP-Skript auf den Server gesendet. Sie können auch JSON zuvor gespeicherte Ladung.

So im Wesentlichen: Nur sehr wenige Seiten mit 90% statischen Informationen. Eine Seite mit clientseitige Arbeit und potenziell vielen SCHRITTE / Entsendung von JSON.

Ich habe ein POC dieser mit PHP / Smarty, jQuery und mySQL gebaut. Benutzerdaten sind in mySQL gespeichert und so sind die Daten JSON. Webpages werden von Smarty auf der Festplatte zwischengespeichert.

Jetzt denke ich über die Skalierbarkeit und die offensichtliche Frage ist, sollte ich die oft geändert JSON-Daten in mySQL werden Speichern oder sollte ich memcachedb oder einen anderen Schlüssel-Wert-Speicher verwenden? Würden Sie für die einfache mySQL Option gehen oder einen Schlüssel-Wert-Speicher jetzt einführen oder würden Sie warten, um zu sehen, ob Skala Problem auftreten? Bin ich realistisch jemals einen Punkt zu erreichen, zu gehen, wo mySQL der Engpass?

Ich plane dies auf Slicehost zu Host zu beginnen und bewegen es dann, wenn es sein muss.

War es hilfreich?

Lösung

Die Frage ist, würde es Lookups werden diese Werte basierend auf oder nicht? Wird es Updates für bestimmte Werte auf Datenbankebene oder nicht ... Serilaized Daten sein oder json geht schneller und effizienter sein (Lager weist), wenn alles, was Sie tun, ist die gesamte Zeichenfolge zieht und haben keine Anforderungen abzufragen oder zu modifizieren es.

Je nachdem, wie Sie zwar skalieren, mögen Sie vielleicht zusammen mit einer flachen Datendarstellung für die Suche Zweck einen Schlüssel / Wert-Struktur halten.

Sehen Sie sich auch für einige Benchmarking Apache AB mit und bekommen Ideen, wie Sie Ihre Änderungen Ihre gleichzeitige Ausgabe bewirken.

Viel Glück:)

Andere Tipps

Was die JSON betrifft, so wird es keinen Unterschied machen: Ich sehe nicht, wie Sie die Speicherung dieser Daten optimieren können. Ich denke, die Frage läuft darauf hinaus, „Wie komplex sind die Benutzerdaten?“. Wenn es eine massive soziale Graph mit RDBMS Fremdschlüsseln verbunden ist, und es ist zu schwierig, diese Daten zu einem Schlüssel-Wert-Speicher abzubilden, würde ich eher nicht die Mühe jetzt aufwenden. Wenn jedoch die Benutzerdaten nur flache Profilinformationen sind, würde ich eher zu einem Schlüssel-Wert-Speicher verschieben, jetzt als später, bevor ich zu viele RDBMS-Funktionen verwendet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top