Conceitos e terminologia fundamentais na Amazon QLDB - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

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

Conceitos e terminologia fundamentais na Amazon QLDB

Importante

Aviso de fim do suporte: os clientes existentes poderão usar a Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon Aurora Postgre. SQL

Esta seção fornece uma visão geral dos principais conceitos e terminologia da AmazonQLDB, incluindo a estrutura do livro contábil e como um livro contábil gerencia os dados. Como banco de dados contábil, QLDB difere de outros bancos de dados orientados a documentos quando se trata dos seguintes conceitos-chave.

QLDBmodelo de objeto de dados

O modelo de objeto de dados fundamental na Amazon QLDB é descrito a seguir:

  1. ledger

    Sua primeira etapa é criar um livro contábil, que é o principal tipo de AWS recurso emQLDB. Para saber como criar um ledger, consulte Etapa 1: criar um novo ledger em Conceitos básicos do console, ou Operações básicas para livros contábeis da Amazon QLDB.

    Para os modos de registro ALLOW_ALL e STANDARD permissões de um livro contábil, você cria políticas AWS Identity and Access Management (IAM) que concedem permissões para executar API operações nesse recurso contábil.

    ARNFormato do livro contábil:

    arn:aws:qldb:${region}:${account-id}:ledger/${ledger-name}
  2. Diário e tabelas

    Para começar a gravar dados em um QLDB livro contábil, primeiro você cria uma tabela com uma CREATE TABLE declaração básica. Os dados do ledger consistem em revisões de documentos que estão comprometidos com o diário do ledger. Você confirma as revisões do documento no ledger no contexto de tabelas definidas pelo usuário. EmQLDB, uma tabela representa uma visão materializada de uma coleção de revisões de documentos do diário.

    No modo de STANDARD permissões de um livro contábil, você deve criar IAM políticas que concedam permissões para executar instruções partiQL nesse recurso de tabela. Com permissões em um recurso de tabela, você pode executar instruções que acessam o estado atual da tabela. Você também pode consultar o histórico de revisões da tabela usando a função history() incorporada.

    ARNFormato da tabela:

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

    Para obter mais informações sobre como conceder permissões em um ledger e seus recursos associados, consulte Como a Amazon QLDB trabalha com IAM.

  3. Documentos

    As tabelas consistem em QLDBdocumentos, que são conjuntos de dados no formato Amazon Ion struct. Uma revisão de documento representa uma única versão de uma sequência de documentos identificados por um ID de documento exclusivo.

    QLDBarmazena o histórico completo de alterações de seus documentos confirmados. Uma tabela permite consultar o estado atual de seus documentos, enquanto a função history() permite consultar todo o histórico de revisão dos documentos de uma tabela. Para obter detalhes sobre como consultar e escrever revisões, consulte Trabalhar com dados e histórico.

  4. Catálogo do sistema

    Cada ledger também fornece um recurso de catálogo definido pelo sistema que você pode consultar para listar todas as tabelas e índices em um ledger. No modo de permissões STANDARD de um ledger, você precisa da permissão qldb:PartiQLSelect desse recurso de catálogo para fazer o seguinte:

    • Executar instruções SELECT na tabela do catálogo do sistema information_schema.user_tables.

    • Veja as informações da tabela e do índice na página de detalhes do livro contábil no QLDBconsole.

    • Veja a lista de tabelas e índices no editor partiQL no QLDB console.

    ARNFormato do catálogo:

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

Transações que priorizam o diário

Quando um aplicativo lê ou grava dados em um QLDB livro contábil, ele o faz em uma transação de banco de dados. Todas as transações estão sujeitas aos limites definidos em Cotas e limites na Amazon QLDB. Em uma transação, QLDB execute as seguintes etapas:

  1. Lê o estado atual dos dados do ledger.

  2. Execute as instruções fornecidas na transação e, em seguida, verifique se há conflitos usando o controle otimista de simultaneidade (OCC) para garantir um isolamento totalmente serializável.

  3. Se nenhum OCC conflito for encontrado, retorne os resultados da transação da seguinte forma:

    • Para leituras, retorne o conjunto de resultados e confirme as instruções SELECT no diário apenas como anexo.

    • Para gravações, confirme quaisquer atualizações, exclusões ou dados recém-inseridos no diário de forma somente para anexar.

O diário representa um histórico completo e imutável de todas as alterações aos seus dados. QLDBgrava um bloco encadeado no diário em uma transação. Cada bloco contém objetos de entrada que representam as revisões do documento que você insere, atualiza e exclui, junto com as instruções partiQL que as confirmaram.

O diagrama a seguir ilustra essa estrutura do diário.

Diagrama da estrutura do QLDB diário da Amazon mostrando um conjunto de blocos encadeados que formam uma cadeia e o número de sequência e o hash de cada bloco.

O diagrama mostra que as transações são confirmadas no diário como blocos que contêm entradas de revisão do documento. Cada bloco é criptografado e encadeado aos blocos subsequentes para verificação. Cada bloco tem um número de sequência para especificar seu endereço dentro da cadeia.

nota

Na AmazonQLDB, um fio é uma partição do diário do seu livro contábil. QLDBatualmente suporta periódicos com apenas uma única vertente.

Para obter mais informações sobre o conteúdo de dados em um bloco, consulte Conteúdo do periódico na Amazon QLDB.

Consultar seus dados

QLDBtem como objetivo atender às necessidades de cargas de trabalho de processamento de transações on-line (OLTP) de alto desempenho. Um ledger fornece visualizações de tabela consultáveis de seus dados com base nas informações da transação que estão confirmadas no diário. Uma exibição de tabela em QLDB é um subconjunto dos dados em uma tabela. As visualizações são mantidas em tempo real, para que estejam sempre disponíveis para consulta dos aplicativos.

Você pode consultar as seguintes visualizações definidas pelo sistema usando instruções SELECT PartiQL:

  • Usuário: a revisão ativa mais recente somente dos dados que você gravou na tabela (ou seja, o estado atual dos dados do usuário). Essa é a visualização padrão emQLDB.

  • Confirmada: a revisão ativa mais recente dos dados do usuário e dos metadados gerados pelo sistema. Essa é a tabela completa definida pelo sistema que corresponde diretamente à sua tabela de usuário.

Além dessas visualizações que podem ser consultadas, você pode consultar o histórico de revisões de seus dados usando o Função de histórico integrado. A função de histórico retorna os dados do usuário e os metadados associados no mesmo esquema da visualização confirmada.

Armazenamento de dados

Há dois tipos de armazenamento de dados emQLDB:

  • Armazenamento de diário: o espaço em disco usado pelo diário de um ledger. O diário é somente para anexar e representa um histórico completo, imutável e verificável de todas as alterações aos seus dados.

  • Armazenamento indexado: o espaço em disco usado pelas tabelas, índices e histórico indexado de um ledger. O armazenamento indexado consiste em dados do ledger otimizados para consultas de alta performance.

Depois que seus dados são confirmados no diário, eles são materializados nas tabelas que você definiu. Essas tabelas são otimizadas para consultas mais rápidas e eficientes. Quando um aplicativo usa os dados transacionais API para ler dados, ele acessa as tabelas e os índices armazenados no seu armazenamento indexado.

QLDBAPImodelo

QLDBfornece dois tipos com APIs os quais seu código de aplicativo pode interagir:

  • Amazon QLDB — O gerenciamento de QLDB recursos API (também conhecido como plano de controle). Isso API é usado somente para gerenciar recursos contábeis e para operações de dados não transacionais. Você pode usar essas operações para criar, excluir, descrever, listar e atualizar ledgers. Você também pode verificar dados do diário criptograficamente e exportar ou transmitir blocos de diário.

  • Amazon QLDB Session — Os QLDB dados transacionais. API Você pode usar isso API para executar transações de dados em um livro contábil com instruções partiQL.

    Importante

    Em vez de interagir diretamente com a QLDBsessãoAPI, recomendamos usar o QLDB driver ou o QLDB shell para executar transações de dados em um livro contábil.

    • Se você estiver trabalhando com um AWS SDK, use o QLDB driver. O driver fornece uma camada de abstração de alto nível acima dos dados da QLDBsessão API e gerencia a SendCommand operação para você. Para obter informações e uma lista das linguagens de programação suportadas, consulte Conceitos básicos do driver.

    • Se você estiver trabalhando com o AWS CLI, use o QLDB shell. O shell é uma interface de linha de comando que usa o QLDB driver para interagir com um livro contábil. Para obter mais informações, consulte Usando o Amazon QLDB shell (APIsomente dados).

Para obter mais informações sobre essas API operações, consulte QLDBAPIReferência da Amazon o.

Próximas etapas

Para aprender a usar um ledger com seus dados, veja Trabalhando com dados e histórico na Amazon QLDB e siga os exemplos que descrevem o processo de criar tabelas, inserir dados e executar consultas básicas. Este guia explica detalhadamente como esses conceitos funcionam, usando dados de exemplo e exemplos de consulta para contexto.

Para começar rapidamente com um exemplo de tutorial de aplicativo usando o QLDB console, consulteComeçando a usar o QLDB console da Amazon.

Para obter uma lista dos principais termos e definições descritos nesta seção, consulte o QLDBGlossário da Amazon.