0% ont trouvé ce document utile (0 vote)
136 vues10 pages

Introduction à Amazon DynamoDB

Ce document décrit Amazon DynamoDB, une base de données NoSQL proposée par AWS. DynamoDB prend en charge les modèles clé-valeur et documents. Le document explique les principaux composants de DynamoDB comme les tables, éléments, attributs, clés primaires et secondaires.

Transféré par

daniellle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
136 vues10 pages

Introduction à Amazon DynamoDB

Ce document décrit Amazon DynamoDB, une base de données NoSQL proposée par AWS. DynamoDB prend en charge les modèles clé-valeur et documents. Le document explique les principaux composants de DynamoDB comme les tables, éléments, attributs, clés primaires et secondaires.

Transféré par

daniellle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Introduction

Depuis quelques années, et avec l’explosion des volumes de données à traiter, l’utilisation des
bases de données NoSQL ou “not only SQL” monte en flèche.
Une base de données NoSQL est une base de données qui ne repose pas sur
l’architecture standard des bases de données relationnelles, avec lesquelles on interagit
classiquement grâce à SQL. En effet, SQL permet de faire des requêtes sur des bases de
données sous forme de tableaux.
Les bases NoSQL peuvent être de différents types :
 Orientées graphes 
 Orientées documents 
 Orientées clefs/valeurs 
 Orientées colonnes 
Notre sujet portera donc sur un des services proposé par la plateforme cloud AWS (Amazon
Web Service) : Amazon DynamoDB qui , est un Système de gestion de base de données NoSQL
prenant en compte plusieurs modèles de bases de données à savoir le modèle clé-valeur et le
modèle documents. Notre étude portera sur le modèle clé-valeur.
I- BREF APERÇU DE AWS
C'est quoi le cloud computing?
Le cloud computing est la mise à disposition de ressources informatiques à la demande via
Internet, avec une tarification en fonction de votre utilisation. Au lieu d'acheter, de posséder et de
gérer des serveurs et des centres de données physiques, vous pouvez accéder à votre guise aux
services technologiques, tels que la puissance de calcul, le stockage et les bases de données, d'un
fournisseur cloud tel qu'Amazon Web Services (AWS).

Aws
AWS est une plateforme de services cloud développée par le géant américain Amazon. AWS
regroupe plus de 100 services répartis en diverses catégories telles que le stockage cloud, la
puissance de calcul, l’analyse de données, l’intelligence artificielle ou même le développement
de jeux vidéos.
La plateforme Cloud Amazon Web Services offre une large variété de solutions de Cloud
Computing flexibles, extensibles, simples d’utilisation et peu coûteuses. Développée par
Amazon, cette plateforme regroupe des IaaS (infrastructures en tant que service) des PaaS
(plateformes en tant que service), et des SaaS (logiciels en tant que service).
Fonctionnement
-principaux composants
Cas d’utilisation
Les fonctions
Debuter avec dynamo
DynamoDB Les limites

Fonctionnement
Amazon DynamoDB est une base de données clé-valeur NoSQL entièrement gérée et sans
serveur, conçue pour exécuter des applications hautes performances à n'importe quelle échelle.
DynamoDB offre une sécurité intégrée, des sauvegardes continues, une réplication multi-régions
automatisée, une mise en cache en mémoire et des outils d'exportation de données.

II- PRINCIPAUX COMPOSANTS D’AMAZONDB

Dans DynamoDB, les tables, les éléments et les attributs sont les principaux composants que
vous utilisez. Une table est une collection d'éléments et chaque élément est une collection
d'attributs. DynamoDB utilise des clés primaires pour identifier de façon unique chaque élément
d'une table, ainsi que des index secondaires afin d'offrir une plus grande flexibilité
d'interrogation. Vous pouvez utiliser DynamoDB Streams pour récupérer les événements de
modification des données dans des tables DynamoDB.
Les principaux composants sont : tables, éléments et attributs, clé primaire, index
secondaires, dynamoDB Streams.

A- TABLES, ELEMENTS ET ATTRIBUTS

Tables – Comme d'autres systèmes de base de données, DynamoDB stocke les données dans des
tables. Une table est un ensemble de données.
Eléments – Chaque table contient zéro ou plusieurs éléments. Un élément est un groupe
d'attributs identifiable de façon unique parmi tous les autres éléments. Les éléments dans
DynamoDB sont similaires à maints égards aux lignes, registres ou tuples dans d'autres systèmes
de base de données. Dans DynamoDB, il n'existe pas de limite au nombre d'éléments que vous
pouvez stocker dans une table.
Attributs – Chaque élément se compose d'un ou de plusieurs attributs. Un attribut est un élément
de donnée fondamental, qui n'a pas besoin d'être décomposé plus avant. Les attributs dans
DynamoDB sont similaires à maints égards à des champs ou colonnes dans d'autres systèmes de
base de données.

Le schéma suivant montre une table nommée Personnes avec certains exemples d'éléments et
d'attributs.

 Chaque élément de la table possède un


identifiant unique, ou clé primaire, qui
distingue l'élément de tous les autres
éléments de la table. Dans la table
Personnes, la clé primaire se compose
d'un seul attribut (IDPersonne).
 En dehors de la clé primaire, la table
Personnes est sans schéma, ce qui signifie
que ni les attributs ni leurs types de
données ne doivent être définis au
préalable. Chaque élément peut avoir ses
propres attributs distincts.
 La plupart des attributs sont scalaires, ce
qui signifie qu'ils ne peuvent avoir qu'une
seule valeur. Les chaînes et les nombres
sont des exemples courants de scalaires.
 Certains éléments ont un attribut imbriqué
(Address). DynamoDB prend en charge
les attributs imbriqués jusqu'à 32 niveaux
de profondeur.

B- CLÉ PRIMAIRE
Lorsque vous créez une table, en plus du nom de la table, vous devez spécifier la clé
primaire de la table. La clé primaire identifie de manière unique chaque élément de la table,
afin qu'aucun deux éléments n'ait la même clé.
DynamoDB prend en charge deux genres de clés primaires :
Clé de partition – Clé primaire simple, composée d'un attribut nommé clé de partition.
DynamoDB utilise la valeur de la clé de partition comme entrée pour une fonction de hachage
interne. La sortie de la fonction de hachage détermine la partition (stockage physique interne de
DynamoDB) dans laquelle l'élément sera stocké. Dans une table comportant une seule clé de
partition, deux éléments d'une table ne peuvent pas avoir la même valeur de clé de partition.

NB: La table Personnes décrite dans Tables, éléments et attributs est un exemple de table avec une clé
primaire simple (IDPersonne). Vous pouvez accéder directement à n'importe quel élément de la table
Personnes en fournissant la valeur IDPersonne de cet élément.

Clé de partition et clé de tri – Appelée clé primaire composite, ce type de clé se
compose de deux attributs. Le premier attribut est la clé de partition et le second attribut est la clé
de tri.
DynamoDB utilise la valeur de clé de partition comme entrée pour une fonction de
hachage interne. La sortie de la fonction de hachage détermine la partition (stockage physique
interne de DynamoDB) dans laquelle l'élément sera stocké. Tous les éléments avec la même
valeur de clé de partition sont stockés ensemble, par ordre de valeur de la clé de tri.
Dans une table comportant une clé de partition et une clé de tri, plusieurs éléments d'une
table peuvent avoir la même valeur clé de partition. Toutefois, ces éléments doivent avoir des
valeurs clé de tri différentes.
La table Musique est un exemple de table
avec une clé primaire composite (Artiste et
TitreDeChanson). Vous pouvez accéder
directement à n'importe quel élément de la
table Musique, si vous fournissez les valeurs
Artiste et TitreDeChanson de cet élément.
NB: Une clé primaire composite vous offre
plus de flexibilité lors de l'interrogation des
données. Par exemple, si vous fournissez
uniquement la valeur pour Artiste,
DynamoDB extrait tous les morceaux de cet
artiste. Pour récupérer uniquement un sous-
ensemble de titres d'un artiste en particulier,
vous pouvez fournir une valeur pour Artiste et
une plage de valeurs TitreDeChanson.

Chaque attribut de clé primaire doit être un scalaire (ce qui signifie qu'il ne peut
contenir qu'une seule valeur). Les seuls types de données autorisés pour les attributs de
clé primaires sont string, number ou binary. Il n'y a aucune restriction semblable pour les
autres attributs non-clés.

C- INDEX SECONDAIRES

Vous pouvez créer un ou plusieurs index secondaires sur une table. Un index
secondaire vous permet d'interroger les données de la table à l'aide d'une clé alternative,
en plus des requêtes sur la clé primaire. DynamoDB n'exige pas l'utilisation d'index, mais
ceux-ci apportent à vos applications davantage de flexibilité pour l'interrogation des
données. Une fois que vous avez créé un index secondaire sur une table, vous pouvez lire
les données à partir de l'index de la même façon que vous le feriez à partir de la table.

DynamoDB prend en charge deux types d'index :


- Index secondaire global – Index avec une clé de partition et une clé de tri pouvant
différer de celles de la table.

- Index secondaire local – Index avec la même clé de partition que la table, mais
une clé de tri différente.

Chaque table dans DynamoDB a un quota de 20 index secondaires globaux (quota par
défaut) et de 5 index secondaires locaux.

Dans l'exemple de table Music présenté précédemment, vous pouvez interroger les
éléments de données par Artist (clé de partition), ou par Artist et SongTitle (clé de
partition et clé de tri). Que faire si vous souhaitez également interroger les données par
Genre et TitreAlbum ? Pour ce faire, vous pouvez créer un index sur Genre et
TitreAlbum, puis interroger l'index à peu près de la même manière que vous interrogeriez
la table Musique.

Le schéma suivant illustre la table Musique avec un nouvel index appelé


GenreAlbumTitre. Dans l'index, Genre est la clé de partition et TitreAlbum est la clé de
tri.
A propos de l'index GenreTitreAlbum :
 Chaque index appartient à une table, qui est appelée la table de base de l'index. Dans
l'exemple précédent, Musique est la table de base de l'index GenreTitreAlbum.
 DynamoDB tient à jour les index automatiquement. Lorsque vous ajoutez, mettez à
jour ou supprimez un élément dans la table de base, DynamoDB ajoute, met à jour
ou supprime l'élément correspondant dans les index appartenant à cette table.
 Lorsque vous créez un index, vous spécifiez quels attributs seront copiés, ou
projetés, depuis la table de base vers l'index. Au minimum, DynamoDB projette les
attributs de clé de la table de base dans l'index. Tel est le cas avec GenreAlbumTitle,
où seuls les attributs clés de la table Music sont projetés dans l'index.
Vous pouvez interroger l'index GenreAlbumTitle pour rechercher tous les albums d'un genre
particulier (par exemple, tous les albums Rock). Vous pouvez également interroger l'index
pour rechercher tous les albums dans un genre particulier avec certains titres d'album (par
exemple, tous les albums Country dont les titres commencent par la lettre H).
D- DYNAMODB STREAMS
DynamoDB Streams est une fonction facultative qui récupère les événements de modification de
données dans des tables DynamoDB. Les données sur ces événements apparaissent dans le flux
de données presque en temps réel et dans l'ordre où les événements se sont produits.
Chaque événement est représenté par un enregistrement de flux. Si vous activez un flux sur une
table, DynamoDB Streams écrit un registre de flux chaque fois que l'un des événements suivants
se produit :
 Un nouvel élément est ajouté à la table : le flux récupère une image de la totalité de
l'élément, y compris l'ensemble de ses attributs.
 Un élément est mis à jour : le flux capture l'image « avant » et « après » des attributs qui
ont été modifiés dans l'élément.
 Un élément est supprimé de la table : Le flux saisit une image de la totalité de l'élément
avant qu'il n'ait été supprimé.
Chaque enregistrement de flux contient aussi le nom de la table, l'horodatage de l'événement et
autres métadonnées. Les enregistrements de flux ont une durée de vie de 24 heures ; passé ce
délai, ils sont automatiquement supprimés du flux.

Vous pouvez utiliser DynamoDB Streams avec AWS Lambda pour créer un déclencheur, c'est-à-
dire un code qui s'exécute automatiquement chaque fois qu'un événement d'intérêt apparaît dans
un flux. Par exemple, imaginons une table Clients qui contient les informations client d'une
entreprise. Supposons que vous souhaitiez envoyer un e-mail de bienvenue à chaque nouveau
client. Vous pouvez activer un flux sur cette table, puis associer le flux à une fonction Lambda.
La fonction Lambda s'exécute chaque fois qu'un nouveau registre de flux apparaît, mais traite
uniquement les nouveaux éléments ajoutés à la table Customers. Pour tout élément ayant un
attribut EmailAddress, la fonction Lambda appelle Amazon Simple Email Service (Amazon
SES) pour envoyer un e-mail à cette adresse.
III- CONFIGURATION DE DYNAMODB

En plus du service web Amazon DynamoDB, AWS propose une version téléchargeable de
DynamoDB que vous pouvez exécuter sur votre ordinateur, et qui convient parfaitement pour le
développement et le test de votre code. La version téléchargeable vous permet d'écrire et de
tester des applications localement, sans accéder au service web DynamoDB.
Dans cette partie nous décrivons comment configurer DynamoDB (version téléchargeable) et le
service web DynamoDB.

Vous aimerez peut-être aussi