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ónBatchGetItem
, que permite llevar a cabo hasta 100 llamadas aGetItem
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 en DynamoDB). -
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.