Amazon SimpleDB : mettez de l'élasticité dans vos bases de données
Un pas de plus franchit par Amazon dans son offre de web services. Après Amazon EC2 etAmazon S3, voici Amazon SimpleDB, un service de requêtes temps réel sur des données structurées.
En d’autres mots, il s’agit d’offrir un système de base de données non relationnelles accessible par un jeu de web services. L’objectif est de faciliter la vie des éditeurs en les affranchissant d’opérations complexes liées à un cluster de base de données. Amazon SimpleDB ressemble plus à une feuille Excel qu’à une instance Oracle. Les données sont organisées par domaines, caractérisées par des attributs (paires clef=>valeur) et indexées automatiquement. Sympa quand on voit le nombre d’années d’expérience qu’il faut pour créer un schéma SQL de données optimisé. Les domaines sont accessibles via http en lecture / écriture pour insérer, modifier, effacer et rechercher des données. 1- Couplé à EC2 et S3, ce service complète la boîte à outil Amazon. Les éditeurs disposent donc d’un hébergement entièrement élastique (scalable). Inutile de dimensionner des cluster de base de données complexes à administrer. 2- Le modèle économique est toujours le même : on ne paye que les heures d’utilisation et les données transférées. 3- Enfin, l’API accessible via REST ou SOAP est d’une simplicité exemplaire : Création du domaine : Insérer des données : https://sdb.amazonaws.com/ Rechercher des données : https://sdb.amazonaws.com/ Difficile de faire plus simple. Les inconvénients : 1- Ce qu’il manque dans SimpleDB, c’est l’aspect relationnel. Donc pour ceux qui ont des modèles complexes basés sur des données fortement liées (jointures), oubliez :( 2- Comme les autres services Amazon, sur des configurations minimales (1 serveur, 1Go de ram) qui n’ont pas besoin d’être étendues ponctuellement, cette offre est moins compétitive que chez les autres herbergeurs. Donc si vous êtes sûr de n’avoir besoin que d’un seul serveur, oubliez aussi :( Je pense qu’en cette période de Noël durant laquelle le trafic e-commerce explose, cette offre peux permettre aux éditeurs de tenir la charge sans engager trop de dépense d’infrastructure. Je prend l’exemple d’un service de création d’e-card qui offre un espace de stockage des cartes générées. C’est certain qu’en cette période de fêtes, le nombre de fichiers et des méta données associées va croitre très vite et énormément. Pour tenir la charge, il faut augmenter le nombre de nœuds du cluster de base de données, augmenter la bande passante des serveurs frontaux, augmenter les espaces de stockage physiques. Tout cela à un cout non négligeable en infrastructure et en personne (DBA, administrateurs systèmes). Grâce aux services Amazon, en quelques clic, il est possible de créer de nouveaux domaines SimpleDB (chaque domaine contient 10Go de données), de nouveaux nœuds S3 pour le stockage de fichiers. Et le plus important, c’est qu’une fois la montée en charge résorbée, les instances qui ne sont plus nécessaires peuvent être éteintes. Qu’en est il du DBA qui vient d’être embauché ?
Comment ça marche ?
Les avantages :
https://sdb.amazonaws.com/
?Action=CreateDomain
&AWSAccessKeyId=[valid access key id]
&DomainName=MyDomain
&SignatureVersion=1
&Timestamp=2007-06-25T15%3A01%3A28-07%3A00
&Version=2007-11-07
&Signature=hvH87q32QzGbDba6bm9YUEVpiGQ%3D
?Action=PutAttributes
&Attribute.0.Name=Color&Attribute.0.Value=Blue
&Attribute.1.Name=Size&Attribute.1.Value=Med
&Attribute.2.Name=Price&Attribute.2.Value=14.99
&Attribute.2.Replace=true
&AWSAccessKeyId=[valid access key id]
&DomainName=MyDomain
&ItemName=Item123
&SignatureVersion=1
&Timestamp=2007-06-25T15%3A03%3A05-07%3A00
&Version=2007-11-07
&Signature=gabYTEXUgY%2Fdg817JBmj7HnuAA0%3D
?Action=Query
&AWSAccessKeyId=[valid access key id]
&DomainName=MyDomain
&MaxNumberOfItems=3
&NextToken=[valid next token]
&QueryExpression=%5B%27Color%27%3D%27Blue%27%5D
&SignatureVersion=1
&Timestamp=2007-06-25T15%3A03%3A09-07%3A00
&Version=2007-11-07
&Signature=2wVXB1x0NSWWETwLylZPVP%2FtqXQ%3D