Diferencias al analizar una tabla - Amazon DynamoDB

Diferencias al analizar una tabla

En SQL, una instrucción SELECT sin cláusula WHERE devuelve todas las filas de la tabla. En Amazon DynamoDB, la operación Scan hace lo mismo. En ambos casos, puede recuperar todos los elementos o solo algunos de ellos.

Tanto si va a usar una base de datos SQL o NoSQL, los exámenes deben utilizarse con moderación, ya que puede consumir gran cantidad de recursos del sistema. En ocasiones, un examen es lo apropiado (por ejemplo, para examinar una tabla pequeña) o algo inevitable (por ejemplo, para realizar una exportación masiva de datos). Sin embargo, por norma general, debe diseñar las aplicaciones de tal forma que se evite la realización de exámenes. Para obtener más información, consulte Consulta de tablas en DynamoDB.

nota

Realizar una exportación masiva también crea al menos 1 archivo por partición. Todos los elementos de cada archivo provienen del espacio de claves hash de esa partición en particular.

Análisis de una tabla con SQL

Al utilizar SQL, puede examinar una tabla y recuperar todos sus datos utilizando una instrucción SELECT sin especificar una cláusula WHERE. Puede solicitar una o más columnas en el resultado. O bien puede solicitar todas ellas si utiliza el carácter comodín (*).

En los siguientes ejemplos se utiliza una instrucción SELECT.

/* Return all of the data in the table */ SELECT * FROM Music;
/* Return all of the values for Artist and Title */ SELECT Artist, Title FROM Music;

Análisis de una tabla en DynamoDB

En Amazon DynamoDB, puede utilizar la API de DynamoDB o PartiQL (un lenguaje de consulta compatible con SQL) para analizar una tabla.

DynamoDB API

Con la API de DynamoDB, el usuario utiliza la operación Scan para devolver uno o más elementos y atributos de elementos mediante el acceso a todos los elementos de una tabla o un índice secundario.

// Return all of the data in the table { TableName: "Music" }
// Return all of the values for Artist and Title { TableName: "Music", ProjectionExpression: "Artist, Title" }

La operación Scan proporciona además un parámetro FilterExpression, que se puede usar para descartar elementos que no desee que aparezcan en los resultados. La expresión FilterExpression se aplica después de que analizar la tabla completa, pero antes de que se devuelvan los resultados. (Esto no se recomienda en tablas de gran tamaño, porque se le cobrará la operación Scan completa aunque solamente se devuelvan algunos elementos coincidentes).

PartiQL for DynamoDB

Con PartiQL, se hace un análisis mediante la operación ExecuteStatement para devolver todo el contenido de una tabla mediante la instrucción Select.

SELECT AlbumTitle, Year, Price FROM Music

Tenga en cuenta que esta instrucción devolverá todos los elementos de la tabla Música.

Para obtener ejemplos de código mediante Select y ExecuteStatement, consulte Instrucciones de selección de PartiQL para DynamoDB.