Accueil > .Net, Développement > Partage de sessions : Annexes

Partage de sessions : Annexes

Ahem, ce billet est…un peu…en retard (un chouia, hein, rien de grave😛 ), mais j’étais persuadé de l’avoir programmé… Mais n’ayant pas vérifié…
Bref, comme on dit : mieux vaut tard que jamais.

Ce billet fait partie de la série « Partage de sessions » :

  1. Présentation
  2. Gestion native des sessions en .Net
  3. Focus, State Server
  4. Focus, SQL Server
  5. Focus, Couchbase
  6. Autres possibilités
  7. Conclusion
  8. Annexes (ce billet)

Ce billet va faire la part belle aux références diverses et variées qui n’ont pas trouvées leurs places dans les autres parties.

 

NoSQL – Généralités

 

Les bases de données NoSQL (Not Only SQL) ne sont pas relationnelles, mais orientée documents, clef-valeurs, graph (voir partie 5 de la page Wikipédia pour NoSQL)… Il n’y a donc pas de schéma de données (SchemaLess). Cela veut dire qu’il n’y a pas de tables, clefs (primaires/étrangères)…

Depuis 2010 environ, les bases de données NoSQL ont connues un très grand succès et le terme « NoSQL » est devenu très générique, couvrant à la fois la base de données que le magasin de données en passant par tout un tas d’autres types. Leur point commun est surtout de ne pas être relationnelle et de ne pas utiliser du SQL. Pour le reste, elles peuvent être très différentes les unes des autres et donc cibler un usage particulier.

Les bases de données NoSQL sont généralement utilisées en Big Data et Temps Réel grâce à leurs performances, maintenabilité… Elles sont conçues pour répondre strictement aux besoins ACID.

Les objets sont modélisés uniquement côté code et injectés tels quel dans la base de données. Tout l’objet sera ainsi stocké, ce qui veut dire qu’il faut réellement penser son modèle.
Généralement, les objets sont stockés au format JSON ou BSON (Binary JSON).
Il n’y a pas non plus d’ORM puisque se sont directement les objets qui sont utilisés : le stockage et tout ce qu’il implique est totalement délégué au provider.

 

Quels sont les avantages ?

 
Déjà, les bases NoSQL permettent de gérer beaucoup de données. Par exemple, Google, Amazon, Facebook et d’autres utilisent des bases NoSQL.
Du fait de l’absence de SQL, il n’est plus du tout à prendre en compte.
Coté code, on retrouvera une grande flexibilité : on modifie l’objet du code selon les besoins, sans se soucier de mettre à jour la base de données, de générer des scripts…

De même, l’installation et l’administration des bases des données NoSQL a été extrêmement simplifié.
Enfin, la majeure partie (sinon toutes) les bases de données NoSQL sont open source.

 

Quels sont les inconvénients?

 
Les procédures stockées (packages et compagnie) n’existent pas, tout devra être réalisé côté code.
Pour certains métier cela peut poser problème. Ou pas. C’est selon.
En fonction des base de données NoSQL, il y a des éléments permettants de faire des choses plus ou moins similaires (Working With Stored JavaScript in MongoDB, What’s New in Cassandra 2.0: Prototype Triggers Support…).

 

Quelques exemples

 
Parmi les bases de données NoSQL les plus connues, on retrouve :

  • BigTable : base de données propriétaire de Google
  • Cassandra : initialement développée par Facebook, libérée et prit en charge par la Fondation Apache, utilisée par Twitter
  • CouchDb : écrit en Erlang, open source
  • MongoDB : écrit en C++, open source
  • SimpleDB : écrit en Erlang par Amazon, fonctionne de concert avec Amazon Elastic Compute Cloud (EC2) et Amazon S3 et fait partie d’Amazon Web Services
  • RavenDB : écrit en C# et Javascript
  • Redis : utilisé par Stack Overflow, par exemple (ou YouPorn, c’est selon :p)

 

Générer une clef « machinekey »

 

Il existe plusieurs outils le faisant, mais le plus simple reste d’utiliser directement IIS.

Pour cela, il faut se positionner sur l’élément racine de IIS (celui indiquant le nom de la machine) et cliquer sur « Clé d’ordinateur » ou « Machine Key ».
IIS - Machine Key

IIS - Machine Key

 

Informations diverses

 

Web Gardens, Web Farms, Clouds, and Session State in C# ASP .NET
ASP.NET Session State Best Practices
Best performing asp.net session state providers
Livre Blanc – Smile – NoSQL

Catégories :.Net, Développement

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :