Différences entre une base de données relationnelle (SQL) et DynamoDB lors de la création d'une table - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Différences entre une base de données relationnelle (SQL) et DynamoDB lors de la création d'une table

Les tables sont les structures de données fondamentales dans les bases de données relationnelles et dans Amazon DynamoDB. Un système de gestion de base de données relationnelle (RDBMS) vous oblige à définir le schéma de la table lorsque vous la créez. En revanche, les tables DynamoDB sont sans schéma. Lorsque vous créez une table, en dehors de la clé primaire, vous n'avez pas besoin de définir d'attributs ou de types de données supplémentaires.

La section suivante compare la façon dont vous créeriez une table SQL à la manière dont vous la créeriez avec DynamoDB.

Création d'un tableau avec SQL

Avec, SQL vous utiliseriez l'CREATE TABLEinstruction pour créer une table, comme indiqué dans l'exemple suivant.

CREATE TABLE Music ( Artist VARCHAR(20) NOT NULL, SongTitle VARCHAR(30) NOT NULL, AlbumTitle VARCHAR(25), Year INT, Price FLOAT, Genre VARCHAR(10), Tags TEXT, PRIMARY KEY(Artist, SongTitle) );

La clé primaire de cette table comprend Artist et SongTitle.

Vous devez définir toutes les colonnes de la table et leurs types de données, ainsi que la clé primaire de la table. (Vous pouvez utiliser l'instruction ALTER TABLE pour modifier ces définitions ultérieurement, si nécessaire.)

De nombreuses SQL implémentations vous permettent de définir des spécifications de stockage pour votre table, dans le cadre de la CREATE TABLE déclaration. Sauf spécification contraire, la table est créée avec les paramètres de stockage par défaut. Dans un environnement de production, un administrateur de base de données peut aider à déterminer les paramètres de stockage optimaux.

Création d'une table avec DynamoDB

Utilisez l'opération CreateTable pour créer une table en mode alloué, en spécifiant les paramètres comme suit :

{ TableName : "Music", KeySchema: [ { AttributeName: "Artist", KeyType: "HASH" //Partition key }, { AttributeName: "SongTitle", KeyType: "RANGE" //Sort key } ], AttributeDefinitions: [ { AttributeName: "Artist", AttributeType: "S" }, { AttributeName: "SongTitle", AttributeType: "S" } ], ProvisionedThroughput: { // Only specified if using provisioned mode ReadCapacityUnits: 1, WriteCapacityUnits: 1 } }

La clé primaire de cette table comprend Artist (clé de partition) et SongTitle(clé de tri).

Vous devez fournir les paramètres suivants à CreateTable :

  • TableName – Nom de la table.

  • KeySchema – Attributs utilisés pour la clé primaire. Pour plus d’informations, consultez Tables, éléments et attributs et Clé primaire.

  • AttributeDefinitions – Types de données pour les attributs du schéma de clé.

  • ProvisionedThroughput (for provisioned tables) – Nombre de lectures et d'écritures par seconde nécessaires pour cette table. DynamoDB réserve suffisamment de ressources de stockage et système pour que vos besoins de débit soient toujours satisfaits. Vous pouvez utiliser l'opération UpdateTable pour modifier ces éléments ultérieurement, si nécessaire. Vous n'avez pas besoin de spécifier les besoins de stockage d'une table, car DynamoDB gère entièrement l'allocation du stockage.