Conceptos básicos y terminología de Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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.

Conceptos básicos y terminología de Amazon QLDB

En esta sección se proporciona información general sobre los principales conceptos y la terminología de Amazon QLDB, incluida la estructura del libro mayor y la forma en que dicho libro mayor gestiona los datos. Como base de datos de libro mayor, QLDB se diferencia de otras bases de datos orientadas a documentos en los siguientes conceptos clave.

Modelo de objeto de datos QLDB

El modelo de objeto de datos fundamental de Amazon QLDB se describe de la siguiente manera:

  1. Libro mayor

    El primer paso es crear un libro mayor, que es el tipo de recurso de AWS principal en QLDB. Para aprender a crear un libro mayor, consulte Paso 1: crear un nuevo libro mayor en Introducción a la consola o Operaciones básicas de libros mayores de Amazon QLDB.

    Para los modos de permisos ALLOW_ALL y STANDARD del libro mayor, debe crear políticas de AWS Identity and Access Management (IAM) que concedan permisos para ejecutar operaciones de API en este recurso de libro mayor.

    Formato de ARN de libro mayor:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}
  2. Secuencia y tablas

    Para empezar a escribir datos en un libro mayor de QLDB, antes debe crear una tabla con una instrucción CREATE TABLE básica. Los datos del libro mayor son revisiones de documentos consignados en el diario del libro mayor. Las revisiones de los documentos se consignan en el libro mayor en el contexto de tablas definidas por el usuario. En QLDB, la tabla representa una vista materializada de una colección de revisiones de documentos del diario.

    En el modo de permisos STANDARD del libro mayor, deberá crear políticas de IAM que concedan permisos para ejecutar instrucciones PartiQL en este recurso de tabla. Con los permisos del recurso de tabla podrá ejecutar instrucciones para acceder al estado actual de la tabla. También puede consultar el historial de revisiones de la tabla usando la función integrada history().

    Formato de ARN de tabla:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/table/${table-id}

    Para obtener más información sobre cómo conceder permisos en un libro mayor y sus recursos asociados, consulte Cómo funciona Amazon QLDB con IAM.

  3. Documentos

    Las tablas se componen de revisiones de Documentos de QLDB, que son conjuntos de datos en formato struct de Amazon Ion. La revisión de un documento representa una versión única de un diario de documentos identificados mediante una ID de documento único.

    QLDB almacena el historial de cambios completo de sus documentos consignados. La tabla le permite consultar el estado actual de sus documentos, mientras que la función history() le permite consultar todo el historial de revisiones de los documentos de una tabla. Para obtener más información sobre la consulta y la escritura de revisiones, consulte Uso de datos e historial.

  4. Catálogo de sistema

    Cada libro mayor también proporciona un recurso de catálogo definido por el sistema que puede consultar para obtener una lista de todas las tablas e índices de un libro mayor. En el modo de permisos STANDARD de un libro mayor, necesita el permiso qldb:PartiQLSelect de este recurso de catálogo para hacer lo siguiente:

    • Ejecutar instrucciones SELECT en la tabla del catálogo del sistema information_schema.user_tables.

    • Consultar la información de tablas e índices en la página de detalles del libro mayor de la consola de QLDB.

    • Ver la lista de tablas e índices en el editor PartiQL de la consola de QLDB.

    Formato de ARN de catálogo:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}/information_schema/user_tables

Transacciones de diario primero

Cuando una aplicación lee o escribe datos en un libro mayor de QLDB, lo hace mediante una transacción de base de datos. Todas las transacciones están sujetas a los límites definidos en Cuotas y límites de Amazon QLDB. En una transacción, QLDB realiza los siguientes pasos:

  1. Lee el estado actual de los datos del libro mayor.

  2. Lleva a cabo las instrucciones indicadas en la transacción y, a continuación, comprueba si existen conflictos mediante control de concurrencia optimista (OCC) para garantizar un aislamiento totalmente serializable.

  3. Si no se encuentra ningún conflicto de OCC, devuelve los resultados de la transacción de la siguiente manera:

    • En el caso de las lecturas, devuelve el conjunto de resultados y consigna las instrucciones SELECT en el diario únicamente como anexos.

    • En el caso de las escrituras, confirma en el diario todas las actualizaciones, eliminaciones o datos recién insertados únicamente como anexos.

El libro mayor contiene un historial completo e inmutable de todos los cambios en los datos. QLDB escribe un bloque encadenado en el diario de una transacción. Cada bloque contiene objetos de entrada que representan las revisiones del documento que inserta, actualiza y elimina, junto con las instrucciones PartiQL que confirmaron dichas acciones.

El siguiente diagrama ilustra la estructura de este diario.

Diagrama de estructura de diario de Amazon QLDB que muestra un conjunto de bloques encadenados que componen una cadena, así como el número de diario y el hash de bloque de cada bloque.

El diagrama muestra que las transacciones se registran en el diario como bloques que contienen entradas de revisión de documentos. Cada bloque está codificado y encadenado a los siguientes bloques para su verificación. Cada bloque tiene un número de diario que especifica su dirección dentro de la cadena.

nota

En Amazon QLDB, una cadena es una partición del diario del libro mayor. Actualmente, QLDB admite diarios con una sola cadena.

Para obtener información sobre el contenido de los datos en un bloque, consulte Contenido del diario en Amazon QLDB.

Consulta de sus datos

El objetivo de QLDB es abordar las necesidades de las cargas de trabajo de procesamiento de transacciones online (OLTP) de alto rendimiento. El libro mayor proporciona vistas en tabla consultables de sus datos en función de la información de transacciones consignada en el diario. Una vista de tabla en QLDB es un subconjunto de los datos de una tabla. Las vistas se mantienen en tiempo real, por lo que siempre están disponibles para que las aplicaciones puedan consultarlas.

Puede consultar las siguientes vistas definidas por el sistema usando instrucciones SELECT de PartiQL:

  • Usuario: la última revisión activa solo de los datos escritos en la tabla (es decir, el estado actual de los datos de usuario). Esta es la vista predeterminada en QLDB.

  • Confirmada: la última revisión activa de sus datos de usuario y de los metadatos generados por el sistema. Esta es la tabla completa definida por el sistema que corresponde directamente a su tabla de usuario.

Además de estas vistas consultables, puede consultar el historial de revisiones de sus datos usando la función integrada Función de historial. La función de historial devuelve los datos de usuario y los metadatos asociados en el mismo esquema que la vista confirmada.

Almacenamiento de datos

Existen dos tipos de almacenamiento de datos en QLDB:

  • Almacenamiento de secuencias: el espacio en disco que ocupa el diario de un libro mayor. El diario es un anexo que contiene el historial completo, inmutable y verificable de todos los cambios realizados en los datos.

  • Almacenamiento indexado: el espacio en disco que ocupan las tablas, índices e historial indexado de un libro mayor. El almacenamiento indexado consiste en datos de libro mayor optimizados para consultas de alto rendimiento.

Una vez confirmados los datos en el diario, se materializan en las tablas que ha definido. Estas tablas están optimizadas para poder realizar consultas más rápidas y eficaces. Cuando una aplicación usa la API de datos transaccionales para leer los datos, accede a las tablas e índices almacenados en el almacenamiento indexado.

Modelo de API de QLDB

QLDB proporciona dos tipos de API con las que el código de su aplicación puede interactuar:

  • Amazon QLDB: la API de administración de recursos de QLDB (también conocida como plano de control). Esta API se usa únicamente para administrar los recursos del libro mayor y para las operaciones de datos no transaccionales. Puede usar estas operaciones para crear, eliminar, describir, enumerar y actualizar libros mayores. También puede verificar los datos criptográficamente y exportar o transmitir bloques de diarios.

  • Sesión de Amazon QLDB: la API de datos transaccionales de QLDB. Puede usar esta API para ejecutar transacciones de datos en un libro mayor con instrucciones PartiQL.

    importante

    En lugar de interactuar directamente con esta API de sesión de QLDB, recomendamos usar el controlador QLDB o el intérprete de comandos QLDB para ejecutar transacciones de datos en un libro mayor.

    • Si trabaja con un SDK de AWS, use el controlador QLDB. El controlador proporciona una capa de abstracción de alto nivel sobre la API de datos de sesión de QLDB, y gestiona la operación SendCommand por usted. Para obtener más información y ver una lista de los lenguajes de programación compatibles, consulte Introducción al controlador.

    • Si está trabajando con la AWS CLI, use el intérprete de comandos QLDB. El intérprete de comandos es una interfaz de línea de comandos que usa el controlador QLDB para interactuar con un libro mayor. Para obtener información, consulte Uso del intérprete de comandos de Amazon QLDB (solo API de datos).

Para obtener más información sobre estas operaciones de la API, consulte Referencia de la API de Amazon QLDB.

Pasos siguientes

Para aprender a usar un libro mayor con sus datos, consulte Trabajar con datos e historial en Amazon QLDB y siga los ejemplos que describen el proceso de creación de tablas, inserción de datos y ejecución de consultas básicas. Esta guía explica en detalle el funcionamiento de estos conceptos con ejemplos de consultas y datos de muestra para ofrecer un mayor contexto.

Para empezar rápidamente con un ejemplo de tutorial de aplicación que usa la consola QLDB, consulte Introducción a la consola de Amazon QLDB.

Para consultar una lista de los términos y definiciones clave descritos en esta sección, acceda a Glosario de Amazon QLDB.