Documentos do Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Documentos do Amazon QLDB

O Amazon QLDB armazena registros de dados como documentos, que são apenas objetos Amazon Ion struct inseridos em uma tabela. Para a especificação do Ion, consulte o site do Amazon Ion no GitHub.

Estrutura de documento Ion

Assim como o JSON, os documentos QLDB são compostos por pares de nome-valor na estrutura a seguir.

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

O nome é um token símbolo e os valores são irrestritos. Cada par nome-valor é chamado de campo. O valor de um campo pode ser qualquer um dos Tipos de dados de Ion, incluindo tipos de contêiner: estruturas aninhadas, listas e listas de estruturas.

Também como JSON, struct é indicado por chaves ({...}) e a list é indicado por colchetes ([...]). O exemplo a seguir é um documento dos dados de exemplo Conceitos básicos do console do Amazon QLDB que contém valores de vários 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

No Ion, aspas duplas denotam valores de string, e símbolos sem aspas representam nomes de campo. Porém, no PartiQL, aspas simples denotam tanto os strings quanto os nomes dos campos.

Essa diferença de sintaxe permite que a linguagem de consulta partiQL mantenha a compatibilidade com SQL e que o formato de dados Amazon Ion mantenha a compatibilidade com JSON. Para obter mais detalhes sobre a sintaxe e a semântica do partiQL, consulte Consultando o Ion com o PartiQL.

Mapeamento do tipo de PartiQL-Ion

No QLDB, o PartiQL estende o sistema de tipos do SQL para cobrir o modelo de dados Ion. Esse mapeamento é descrito da seguinte forma:

  • Os tipos escalares SQL são cobertos por seus equivalentes Ion. Por exemplo:

    • CHAR e VARCHAR são sequências Unicode mapeadas para o tipo de íon string.

    • NUMBER mapeia para o tipo decimal de Ion.

  • O tipo struct de Ion é equivalente a um tuplo SQL, que tradicionalmente representa uma linha da tabela.

    • No entanto, com conteúdo aberto e sem esquema, as consultas que dependem da natureza ordenada de um tuplo SQL não são suportadas (como a ordem de saída de SELECT *).

  • Além de NULL, o partiQL tem um tipo MISSING. Essa é uma especialização NULL e indica a falta de um campo. Esse tipo é necessário porque os campos struct de Ion podem ser esparsos.

ID do documento

O QLDB atribui uma ID do documento a cada documento que você insere em uma tabela. Todos os IDs atribuídos pelo sistema no QLDB são identificadores universalmente exclusivos (UUID), cada um representado em uma string codificada em Base62 (por exemplo, 3Qv67yjXEwB9SjmvkuG6Cp). Para obter mais informações, consulte IDs exclusivos no Amazon QLDB.

Cada revisão de documento é identificada exclusivamente por uma combinação da ID do documento e um número de versão baseado em zero.

A ID do documento e os campos de versões estão incluídos nos metadados do documento, que você pode consultar na visualização confirmada (a visualização definida pelo sistema de uma tabela). Para obter mais informações sobre visualizações no QLDB, consulte Conceitos principais. Para saber mais sobre metadados, consulte Consultando metadados do documento.