Inhaltsverzeichnis:
Video: Go on Azure, Part 4—Cloud-native Go apps | Azure Friday 2024
Es gibt geschäftskritische Daten und es gibt unterstützende Daten. Es ist in Ordnung, wenn Ihre geschäftskritischen Daten ein wenig langsam erscheinen, weil Sie sicher sein wollen, dass sie sicher und ordnungsgemäß verwaltet werden. Sie möchten jedoch nicht, dass die unterstützenden Daten Ihrer Anwendung die gesamten Transaktionen und Benutzererfahrungen behindern.
Obwohl die unterstützenden Daten möglicherweise einen niedrigeren Wert aufweisen, ist ihre Notwendigkeit einer Vergrößerung groß - typischerweise durch Bereitstellen von Abfrageantworten in weniger als zehn Millisekunden. Ein Großteil dieser unterstützenden Daten hilft Benutzern dabei, auf ein System zuzugreifen, einen Dienst an ihre Bedürfnisse anzupassen oder andere verfügbare Dienste oder Produkte zu finden.
Liefern von Web s
Obwohl s für Unternehmen, die ihre Waren oder Dienstleistungen im Web vermarkten, von entscheidender Bedeutung sind, sind sie für das Webbrowser-Erlebnis vieler Benutzer nicht wesentlich. Die Ladezeit von Webseiten ist jedoch für sie wichtig, und sobald eine langsam gelieferte Anzeige beginnt, die Ladezeit einer Seite zu erhöhen, wechseln Benutzer zu alternativen, schnelleren Websites.
Das Dienen ist daher ein Hauptanliegen. Dies ist jedoch kein einfaches Geschäft. Welcher Benutzer davon abhängig ist, hängt von einer sehr großen Anzahl von Faktoren ab, die oft durch Faktoren wie die nachverfolgte Aktivität des Benutzers im Internet, Sprache und Ort bestimmt werden.
Unternehmen, die ihre s an die richtigen Kunden adressieren, erhalten mehr Click-throughs und damit mehr Gewinn. Das Geschäft der gezielten Werbung ist jedoch zunehmend wissenschaftlich ausgerichtet.
Schlüsselwert-Shops werden hauptsächlich von Web-Unternehmen verwendet. (Sie finden Fallstudien über diese Nutzung auf den Websites von Schlüsselwert-NoSQL-Anbietern.) Unter Verwendung ihrer proprietären Software verwenden diese Unternehmen eine Kombination von Faktoren, um zu bestimmen, was ein Benutzer wünscht oder interessiert, damit er auf diesen Benutzer zielt. effektiv.
Sie können sich diese Kombination von Faktoren als eine -Taste vorstellen, und dieser zusammengesetzte Schlüssel weist auf das überzeugendste hin. Alles, was benötigt wird, um das zu bedienen, wird als der Wert innerhalb eines Schlüsselwertspeichers gehalten.
Wenn Sie Daten basierend auf einer Reihe von bekannten Faktoren schnell bereitstellen müssen, ist ein Schlüsselwertspeicher eine hervorragende Übereinstimmung. Alles, was Sie tun müssen, ist den Schlüssel effektiv einzurichten.
Führen Sie zum Einrichten des Schlüssels eine Offline-Analyse durch, die für jedes kombinierte Profil von Personen relevant ist. Wenn es sich bei den Informationen, die Sie über den besuchenden Nutzer haben, um Land, Sprache und bevorzugte Kategorien von Einkäufen bei Amazon handelt, wäre ein geeigneter Schlüssel vielleicht UK-English-guitars.
Dadurch wird verhindert, dass komplexe Abfragen zur Anzeigenlieferungszeit ausgeführt werden müssen. Stattdessen verketten Sie diese Felder zu einem Schlüssel und fragen Sie nach dem Wert dieses Schlüssels.
Handhabung von Benutzersitzungen
Sie können Ihr gesamtes Geld in einem hochmodernen Rechenzentrum für Ihre Transaktionsdaten ausgeben. Wenn Ihre Website jedoch langsam ist, sagen die Leute, dass Ihr gesamter Service langsam ist. In der Tat, wenn Unternehmen und Regierungen neue Online-Dienste starten, die die Belastung nicht bewältigen können, isst die Presse sie zum Frühstück.
Typischerweise besteht das Problem nicht darin, dass ein primäres Verarbeitungssystem ausfällt; Es liegt vielmehr daran, dass die Identitäten oder Sitzungen der Benutzer schlecht behandelt werden. Möglicherweise wird der Benutzername nicht zwischengespeichert, oder für jede Anforderung muss eine neue Sitzung vom Anwendungsserver geöffnet werden, statt diese Informationen zwischen Anforderungen zwischenzuspeichern.
Eine Benutzersitzung kann nachverfolgen, wie ein Benutzer eine Anwendung durchläuft und auf jeder Seite Daten hinzufügt. Die Daten können dann am Ende dieser Reise in einem einzigen Treffer in der Datenbank gespeichert werden, anstatt in einer Folge von kleinen Anforderungen über viele Seitenanforderungen hinweg. Benutzer haben oft nichts dagegen, ein paar Sekunden nach dem Klicken auf eine Speicherschaltfläche zu warten. Die Bereitstellung einer effektiven Benutzersitzung auf einer Website mit niedriger Latenz hat einige Vorteile:
-
Der Benutzer (der bald Kunde sein wird) erhält einen guten Service.
-
Teilweise vollständige Daten werden nicht in Ihrer Haupt-Transaktionsdatenbank im Backend gespeichert.
Websites verwenden einen Cookie, um die Interaktion des Nutzers mit einer Website zu verfolgen. Ein Cookie ist eine kleine Datei, die mit einer eindeutigen ID verknüpft ist, genau wie ein Datensatz in einem Schlüsselwertspeicher. Der Server verwendet diese Cookies, um zu identifizieren, dass er bereits einen Benutzer bei seinen zweiten oder nachfolgenden Anforderungen kennt, so dass der Server eine Sitzung schnell mit diesen Daten abrufen muss. Auf diese Weise erkennen die Websites bei der Anmeldung, wer sie sind, welche Seiten sie besuchen und nach welchen Informationen sie suchen.
Diese eindeutige ID ist normalerweise eine Zufallszahl, vielleicht unser alter Freund, der Universally Unique Identifier (UUID). Die Website muss möglicherweise verschiedene Datentypen speichern. In der Regel sind diese Daten kurzlebig - die Länge der Sitzung eines Benutzers, vielleicht nur ein paar Minuten.
Schlüsselwertspeicher sind daher ideal zum Speichern und Abrufen von Sitzungsdaten bei hohen Geschwindigkeiten. Die Fähigkeit, Tombstone (dh Löschen) von Daten, sobald ein Zeitstempel überschritten wird, ist ebenfalls nützlich. Auf diese Weise muss die Anwendung den Zeitstempel der Sitzung bei jeder Anforderung nicht überprüfen - wenn die Sitzung nicht in der Datenbank vorhanden ist, wurde sie veraltet. Daher ist die Sitzung nicht länger gültig, wodurch ein Teil der Verwaltungslast des Anwendungsprogrammierers entfällt.
Unterstützende Personalisierung
Ähnlich wie die Benutzersitzungsanforderung, jedoch längerlebig, ist das Konzept der Benutzerservicepersonalisierung . Hier wird die Front-End-Anwendung von Benutzern für ihre spezifischen Anforderungen konfiguriert.
Auch dies ist ein sekundärer Front-End-Typ von Daten, nicht die primären Transaktionsdaten innerhalb eines Systems. Stellen Sie sich beispielsweise vor, dass Sie über eine primäre Datenbank verfügen, in der die Arbeitsebenen für das gesamte Team, die aktuellen Falldateien, an denen sie arbeiten, und alle zugehörigen Daten angezeigt werden.Dies sind die primären Daten der Anwendung. Möglicherweise ist es in einer relationalen Oracle-Datenbank oder in einer MarkLogic NoSQL-Datenbank gespeichert.
Die Verwendung der Daten kann variieren. Beispielsweise möchte ein Benutzer möglicherweise nur eine Zusammenfassung der Arbeitsbelastung seines Teams anzeigen, während ein Manager möglicherweise alle Mitarbeiter in einem Team verfolgen möchte.
Diese Benutzer erhalten unterschiedliche personalisierte Ansichten derselben Daten. Diese Ansichtseinstellungen müssen irgendwo gespeichert werden. Sie möchten Ihre Falldatenbank wahrscheinlich nicht mit diesen Personalisierungsdaten überladen. Es ist spezifisch für die Front-End-Anwendung und nicht für das Kern-Case-Management-System.
Wenn Sie einen Schlüsselwertspeicher mit einem zusammengesetzten Schlüssel verwenden, der die Benutzer-ID (nicht die Sitzungs-ID) und den Servicenamen enthält, können Sie die Personalisierungseinstellungen als Wert speichern, was sehr schnell zu Suchvorgängen führt und die Leistung Ihrer primären Systeme verhindert. negativ betroffen sein.