3 Stimmen

Webanwendung mit Beispieldaten für "Gast"

Wir arbeiten derzeit an einer neuen Webanwendung mit Java und MySql. Wir möchten eine "Gast"-Anmeldefunktion implementieren. Die Idee ist einfach: Jeder kann sich als Gastbenutzer anmelden und Zugriff auf ein kleines vordefiniertes Datenpaket erhalten, mit dem er interagieren kann, als ob er ein voll bezahlter Kunde wäre.

Diese Funktion sollte folgende Attribute haben:

  • Erlauben Sie mehrere gleichzeitige Gastanmeldungen ohne Kreuzgespräche
  • Änderungen gehen verloren, wenn die Gastsitzung geschlossen wird
  • Der Gastzugang sollte nicht zu langsam sein

Hier sind ein paar Ideen, die wir bisher entwickelt haben, obwohl jede ihre Vor- und Nachteile hat:

1. Behandeln Sie sie wie jeden anderen Client und speichern Sie sie in der MySql-Datenbank.

VORTEILE

  • Einfacher zu implementieren
  • Keine subtilen Unterschiede können auftreten

NACHTEILE

  • Verunreinigt die Live-Datenbank mit Beispieldaten
  • Problem des "Anfangszustands" nicht gelöst
  • Bereinigung ist nicht automatisch

2. Verwenden Sie eine In-Memory-Temporary-Database-Lösung

VORTEILE

  • Kein Kreuzgespräch
  • Der Anfangszustand kann als Bild geladen werden?
  • Bereinigung ist trivial

NACHTEILE

  • Die In-Memory-Datenbank und MySql unterstützen möglicherweise nicht dieselben Funktionen oder unterschiedlich
  • Es können Skalierungsprobleme auftreten

Meine Frage ist: Was wäre der beste Weg, um dies zu erreichen? Gibt es bewährte Verfahren für solche Dinge?

Vielen Dank im Voraus,

Steve.

3voto

pstanton Punkte 32494

Ich würde mich für Option 3 entscheiden ... Verwendung eines separaten Schemas oder einer separaten Datenbank mit der gleichen Struktur/Infrastruktur wie Ihre Live-Datenbank.

PROS

  • Einfacher umzusetzen
  • Es können keine subtilen Unterschiede auftreten
  • Die Live-Datenbank wird nicht mit Beispieldaten verunreinigt
  • MySQL wird dieselben Funktionen unterstützen
  • Es wird keine Skalierungsprobleme geben

Nachteile/Dinge, die Sie noch lösen müssen:

  • Ausgangszustand - und ich würde vorschlagen, ein einfaches Skript/Routine zur Vorab-Population zu verwenden, wenn nötig
  • Die Bereinigung erfolgt nicht automatisch - und wiederum ein einfaches Skript/Routine am Ende der Sitzung

2voto

Pete OHanlon Punkte 9009

Normalerweise, wenn Sie ein Gast-basiertes System haben, das Beispieldaten bereitstellt, zeigen Sie nicht auf die Live-Datenbank für diese Benutzer - Sie zeigen sie auf eine spezielle Gästeversion. Es gibt viele Gründe dafür, aber der Hauptgrund ist, dass Sie die Datenbank auf einen Checkpoint der Beispieldaten zurücksetzen können, ohne die Live-Benutzer zu beeinträchtigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X