Table des matières:
Vidéo: Le NoSql - C'est quoi ? 2024
Il existe des données essentielles à la mission et des données à l'appui. Ce n'est pas grave si vos données critiques apparaissent un peu lentement parce que vous voulez vous assurer qu'elles sont sécurisées et gérées correctement. Mais vous ne voulez pas que les données de support de votre application entravent les transactions globales et les expériences utilisateur.
Bien que les données de support puissent avoir une valeur inférieure, leur besoin de mise à l'échelle est important, généralement en fournissant des réponses de requête en moins de dix millisecondes. Une grande partie de ces données de support aide les utilisateurs à accéder à un système, à adapter un service à leurs besoins ou à trouver d'autres services ou produits disponibles.
Fourniture de sites Web
Bien que les s soient critiques pour les entreprises qui commercialisent leurs produits ou services sur le Web, elles ne sont pas essentielles aux expériences de navigation Web de nombreux utilisateurs. Cependant, le temps de chargement des pages Web est important pour eux, et dès qu'une annonce diffusée lentement commence à augmenter le temps de chargement d'une page, les utilisateurs commencent à se tourner vers des sites alternatifs plus rapides.
Le service rapide est donc une préoccupation majeure. Ce n'est pas une affaire simple, cependant. Ce qui est montré à quel utilisateur dépend d'un très grand nombre de facteurs, souvent déterminés par des facteurs tels que l'activité suivie en ligne de l'utilisateur, sa langue et son emplacement.
Les entreprises qui ciblent leurs clients sur les bons clients reçoivent plus de clics, et donc plus de profits. Cependant, l'activité de publicité ciblée est de plus en plus scientifique.
Les magasins à valeur-clé sont principalement utilisés par les sociétés Web. (Vous pouvez trouver des études de cas sur une telle utilisation sur des sites Web de fournisseurs de NoSQL clés.) En utilisant leur logiciel propriétaire, ces entreprises utilisent une combinaison de facteurs pour déterminer ce qu'un utilisateur veut ou est intéressé afin qu'il puisse cibler cet utilisateur. efficacement.
Vous pouvez considérer cette combinaison de facteurs comme étant une clé , et c'est cette clé composée qui est la plus convaincante. Tout ce qui est nécessaire pour le servir est conservé comme valeur dans un magasin de valeurs-clés.
Si vous avez besoin de fournir rapidement des données en fonction d'un ensemble de facteurs connus, un magasin de valeurs-clés constitue une excellente correspondance. Tout ce que vous devez faire est de configurer la clé de manière efficace.
Pour configurer la clé, effectuez une analyse hors ligne de ce qui sera pertinent pour chaque profil combiné de personnes. Si l'information que vous avez sur l'utilisateur visiteur est le pays, la langue et la catégorie préférée des achats sur Amazon, alors une clé appropriée serait peut-être UK-English-guitars.
Cela évite d'avoir à faire des requêtes complexes au moment de la diffusion des annonces - il suffit de concaténer ces champs ensemble pour former une clé et demander la valeur de cette clé.
Gestion des sessions utilisateur
Vous pouvez dépenser tout l'argent que vous souhaitez dans un datacenter de pointe pour vos données transactionnelles, mais si votre site Web est lent, les gens vous diront que tout votre service est lent. En fait, lorsque les entreprises et les gouvernements lancent de nouveaux services en ligne qui ne peuvent pas supporter la charge qui leur est imposée, la presse les mange pour le petit-déjeuner.
Typiquement, le problème n'est pas qu'un système de traitement primaire tombe en panne; c'est plutôt parce que les identités ou les sessions des utilisateurs sont mal gérées. Peut-être que le nom d'utilisateur n'est pas mis en cache, ou chaque demande nécessite l'ouverture d'une nouvelle session à partir du serveur d'applications au lieu de mettre en cache cette information entre les demandes.
Une session utilisateur peut suivre la manière dont un utilisateur parcourt une application, en ajoutant des données sur chaque page. Les données peuvent ensuite être sauvegardées à la fin de ce voyage dans un seul accès à la base de données, plutôt que dans une séquence de petites demandes à travers de nombreuses demandes de pages. Les utilisateurs n'ont souvent pas peur d'attendre quelques secondes après avoir cliqué sur un bouton de sauvegarde. Fournir une session utilisateur efficace sur un site Web à faible latence présente plusieurs avantages:
-
L'utilisateur (bientôt client!) Reçoit un bon service.
-
Les données partiellement complètes ne sont pas enregistrées dans votre base de données transactionnelle principale.
Les sites Web utilisent un cookie pour suivre l'interaction de l'utilisateur avec un site Web. Un cookie est un petit fichier lié à un identifiant unique, tout comme un enregistrement dans un magasin de valeurs-clés. Le serveur utilise ces cookies pour identifier qu'il connaît déjà un utilisateur lors de sa deuxième ou ultérieure demande, le serveur doit donc récupérer une session en utilisant ces données rapidement. De cette façon, lorsque les utilisateurs se connectent, les sites Web reconnaissent qui ils sont, quelles pages ils visitent et quelles informations ils recherchent.
Cet identifiant unique est généralement un nombre aléatoire, peut-être notre vieil ami, l'identifiant unique universel (UUID). Le site Web peut devoir stocker différents types de données. En règle générale, ces données sont de courte durée - la durée de la session d'un utilisateur, peut-être quelques minutes.
Les magasins de valeurs-clés sont donc idéaux pour stocker et récupérer des données de session à haute vitesse. La possibilité de pierre tombale (c'est-à-dire supprimer) des données une fois qu'un horodatage est dépassé est également utile. De cette manière, l'application n'a pas besoin de vérifier l'horodatage de la session à chaque requête - si la session n'est pas dans la base de données, elle a été désactivée. La session n'est donc plus valide, ce qui supprime une partie de la charge administrative du programmeur d'applications.
Prise en charge de la personnalisation
La notion de personnalisation du service utilisateur est similaire à l'exigence de la session utilisateur, mais elle dure plus longtemps. C'est là que l'application frontale est configurée par les utilisateurs pour leurs besoins spécifiques.
Là encore, il s'agit d'un type de données secondaires de premier niveau, et non des données transactionnelles primaires d'un système. Par exemple, imaginez que vous ayez une base de données primaire indiquant les niveaux de travail de toute votre équipe, les dossiers en cours sur lesquels ils travaillent et toutes les données connexes.Ce sont les données primaires de l'application. Peut-être est-il stocké dans une base de données relationnelle Oracle ou dans une base de données de documents MarkLogic NoSQL.
L'utilisation des données peut varier. Par exemple, un utilisateur peut vouloir afficher un résumé de la charge de travail de son équipe, alors qu'un gestionnaire peut vouloir suivre tous les employés d'une équipe.
Ces utilisateurs reçoivent différentes vues personnalisées des mêmes données. Ces préférences de vue doivent être sauvegardées quelque part. Vous ne voulez probablement pas surcharger votre base de données de cas avec ces données de personnalisation; c'est spécifique à l'application frontale, pas au système de gestion de cas principal.
L'utilisation d'un magasin de valeurs-clés avec une clé composite contenant l'ID utilisateur (pas l'ID de session) et le nom du service vous permettent de stocker les paramètres de personnalisation, ce qui accélère les recherches et empêche les performances de vos systèmes primaires être négativement affecté.