Diferencias clave entre SQL y DynamoDB al leer datos de una tabla - Amazon DynamoDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Diferencias clave entre SQL y DynamoDB al leer datos de una tabla

Con SQL, se utiliza la instrucción SELECT para recuperar una o varias filas de una tabla. Se utiliza la cláusula WHERE para determinar qué datos se devuelven.

Es diferente de utilizar Amazon DynamoDB, que proporciona las siguientes operaciones para la lectura de datos:

  • ExecuteStatement recupera uno o varios elementos de una tabla. BatchExecuteStatement recupera varios elementos de tablas diferentes en una sola operación. Ambas operaciones utilizan PartiQL, un lenguaje de consulta compatible con SQL.

  • GetItem: recupera un solo elemento de una tabla. Se trata de la forma más eficiente de leer un único elemento, ya que proporciona acceso directo a la ubicación física del elemento. (DynamoDB también proporciona la operación BatchGetItem, que permite llevar a cabo hasta 100 llamadas a GetItem en una sola operación).

  • Query: recupera todos los elementos que tienen una clave de partición determinada. Dentro del conjunto de esos elementos, puede aplicar una condición a la clave de ordenación y recuperar únicamente un subconjunto de los datos. Query proporciona un acceso rápido y eficiente a las particiones en las que se almacenan los datos. (Para obtener más información, consulte Particiones y distribución de datos).

  • Scan: recupera todos los elementos de la tabla especificada. (Esta operación no debe utilizarse con grandes tablas, ya que puede consumir gran cantidad de recursos del sistema).

nota

En una base de datos relacional, puede usar la instrucción SELECT para unir los datos de varias tablas y devolver los resultados. Las uniones son fundamentales para el modelo relacional. Con el fin de garantizar que las uniones se ejecuten de forma eficiente, es preciso ajustar continuamente el desempeño de la base de datos y de sus aplicaciones. DynamoDB es una base de datos NoSQL no relacional que no admite uniones de tablas. En lugar de ello, las aplicaciones leen los datos de una tabla cada vez.

En las siguientes secciones se describen varios casos de uso de la lectura de datos y se explica cómo realizar estas tareas con una base de datos relacional y con DynamoDB.