Bases de données NoSQL – l’exemple de
DynamoDB
TLC TP2
11 décembre 2012
Merci de réaliser ce TP en binôme et de retourner la réponse aux questions par
Des documents complémentaires sont disponibles ici :
http://www.globule.org/~gpierre/?page_id=373
Vous y trouverez tous les transparents de cours, cette feuille d’exercise, un lien
vers les outils dont vous aurez besoin, etc.
Le but de cet exercise est d’explorer la base de données NoSQL DynamoDB chez Ama-
zon. Le modèle de données de DynamoDB est simple. Une base de données contient
des tables qui contiennent des enregistrements. Chaque table peut être indexée simple-
ment par clé primaire. Dans ce cas il vous faudra déclarer le nom de l’atribut de clé pri-
maire. Alternativement, une table peut être indexée par une clé primaire et un “range at-
tribute”. Dans ce second cas il sera possible d’accéder aux enregistrements en donnant
la valeur de la clé, plus un intervalle de sous-clés. Pour davantage d’information sur le
schéma de données de DynamoDB et sur les types de requêtes supportées, lisez la page
http://aws.amazon.com/dynamodb/#details
1 Prise en main de DynamoDB
Pour ce TP chaque groupe de TP aura son propre compte AWS. Connectez-vous à AWS en
utilisant cette URL :
https://152828017518.signin.aws.amazon.com/console
puis cliquez sur “DynamoDB” (en bas à gauche dans la liste des services).
Créez deux tables : l’une indexée uniquement par une clé primaire, l’autre par le sys-
tème à deux clés. Insérez quelques enregistrements dans chaque table et essayez les diffé-
rents types de requêtes disponibles sur chaque type de table. Assurez-vous que vous com-
prenez toutes les possibilités de requêtes offertes par DynamoDB.
Attention : la requête “scan” permet de visualiser tous les éléments d’une table. Elle est
très utile pour le développement, mais doit être proscrite en exploitation : elle est tellement
coûteuse qu’Amazon limite ses réponses à une taille maximum de 1 MB.
2 Restructuration du schéma de données de MediaWiki
Nous allons tenter de concevoir une structure de données permettant de stocker la base
de données de MediaWiki dans DynamoDB. MediaWiki est l’application qu’utilise Wiki-
pedia. Son schéma SQL complet est documenté ici :
http://www.mediawiki.org/wiki/Manual:Database_layout
1