Documentos 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.

Documentos de Amazon QLDB

Amazon QLDB almacena los registros de datos como documentos, que son simplemente objetos struct de Amazon Ion que se insertan en una tabla. Para ver la especificación de Ion, consulte el sitio GitHub de Amazon Ion.

Estructura del documento de Ion

Al igual que JSON, los documentos de QLDB se componen de pares nombre-valor en la siguiente estructura.

{ name1: value1, name2: value2, name3: value3, ... nameN: valueN }

Los nombres son un token de símbolo y los valores no tienen restricciones. Cada par nombre-valor se denomina campo. El valor de un campo puede ser cualquiera de los Tipos de datos de Ion, incluidos los tipos de contenedores: estructuras anidadas, listas y listas de estructuras.

Al igual que en JSON, se indica struct con paréntesis ({...}) y list se indica con corchetes ([...]). El siguiente ejemplo es un documento de los datos de muestra de Introducción a la consola de Amazon QLDB que contiene valores de diversos tipos.

{ VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", PendingPenaltyTicketAmount: 90.25, ValidFrom: 2017-08-21T, ValidTo: 2020-05-11T, Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }
importante

En Ion, las comillas dobles indican valores de cadena y los símbolos sin comillas representan nombres de campo. Pero en PartiQL, las comillas simples indican tanto las cadenas como los nombres de los campos.

Esta sintaxis permite que el lenguaje de consultas de PartiQL mantenga la compatibilidad con SQL y que el formato de datos Amazon Ion mantenga la compatibilidad con JSON. Para obtener más información sobre la sintaxis y la semántica de PartiQL en QLDB, consulte Consulta de Ion con PartiQL.

Mapeo de tipo PartiQL-Ion

En QLDB, PartiQL amplía el sistema de tipos de SQL para cubrir el modelo de datos de Ion. Este mapeo se describe de la siguiente manera:

  • Los escalares de tipo SQL están cubiertos por sus homólogos de Ion. Por ejemplo:

    • CHAR y VARCHAR son secuencias Unicode que se asocian al tipo string de Ion.

    • NUMBER se asocia al tipo decimal de Ion.

  • El tipo struct de Ion equivale a una tupla de SQL, que tradicionalmente representa una fila de una tabla.

    • Sin embargo, con contenido abierto y sin esquema, no se admiten consultas que se basen en la naturaleza ordenada de una tupla de SQL (por ejemplo, el orden de salida de SELECT *).

  • Además de NULL, PartiQL tiene un tipo MISSING. Esta es una especialización de NULL e indica la falta de un campo. Este tipo es necesario porque los campos struct de Ion pueden ser dispersos.

ID del documento

QLDB asigna un identificador de documento a cada documento que se inserta en una tabla. Todos los identificadores asignados por el sistema son identificadores únicos universales (UUID), cada uno de los cuales se representa en una cadena codificada en Base62 (por ejemplo, 3Qv67yjXEwB9SjmvkuG6Cp). Para obtener más información, consulte Identificadores únicos en Amazon QLDB.

Cada revisión de documento se identifica de forma única mediante una combinación del identificador del documento y un número de versión de base cero.

Los campos ID de documento y versión se incluyen en los metadatos del documento, que puede consultar en la vista confirmada (la vista de una tabla definida por el sistema). Para obtener más información acerca de las vistas en QLDB, consulte Conceptos clave. Para obtener más información sobre metadatos, consulte Consulta de los metadatos del documento.