Diferencias entre obtener información de tablas de una base de datos relacional (SQL) y DynamoDB - Amazon DynamoDB

Diferencias entre obtener información de tablas de una base de datos relacional (SQL) y DynamoDB

Puede comprobar que una tabla se ha creado de acuerdo con sus especificaciones. En una base de datos relacional, se muestra el esquema completo de la tabla. Las tablas de Amazon DynamoDB no tienen esquema, por lo que solo se muestran los atributos de clave principal.

Obtención de información sobre una tabla con SQL

La mayoría de los sistemas de administración de bases de datos relacionales (RDBMS) permiten describir una estructura de tabla; a saber, columnas, tipos de datos, definición de clave principal, etc. No existe una manera estándar de realizar esta tarea en SQL. Sin embargo, en muchos sistemas de base de datos se proporciona un comando DESCRIBE. A continuación se muestra un ejemplo de MySQL.

DESCRIBE Music;

Este código devuelve la estructura de la tabla, con todos los nombres de columnas, los tipos de datos y los tamaños.

+------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | Artist | varchar(20) | NO | PRI | NULL | | | SongTitle | varchar(30) | NO | PRI | NULL | | | AlbumTitle | varchar(25) | YES | | NULL | | | Year | int(11) | YES | | NULL | | | Price | float | YES | | NULL | | | Genre | varchar(10) | YES | | NULL | | | Tags | text | YES | | NULL | | +------------+-------------+------+-----+---------+-------+

La clave principal de esta tabla consta de Artist y SongTitle.

Obtención de información sobre una tabla en DynamoDB

DynamoDB posee una operación DescribeTable, que es parecida. El único parámetro es el nombre de la tabla.

{ TableName : "Music" }

La respuesta de DescribeTable tiene el siguiente aspecto.

{ "Table": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" }, { "AttributeName": "SongTitle", "AttributeType": "S" } ], "TableName": "Music", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" //Partition key }, { "AttributeName": "SongTitle", "KeyType": "RANGE" //Sort key } ], ...

DescribeTable también proporciona información acerca de los índices de la tabla, los ajustes de rendimiento aprovisionado, el recuento de elementos aproximado y otros metadatos.