View a markdown version of this page

Trabalhar com sequências e colunas de identidade - Amazon Aurora DSQL

Trabalhar com sequências e colunas de identidade

Esta seção ajuda a entender a melhor forma de usar sequências e colunas de identidade com base nos padrões de workload.

Importante

Consulte o texto explicativo “Importante” na página CREATE SEQUENCE para ver mais detalhes sobre alocação e comportamento de armazenamento em cache.

Escolher tipos de identificador

O Amazon Aurora DSQL permite identificadores baseados em UUID e valores inteiros gerados por meio de sequências ou colunas de identidade. Essas opções diferem com relação à forma como os valores são alocados e à forma como são escalados sob carga.

Os valores de UUID podem ser gerados sem coordenação e são adequados para workloads em que são criados identificadores com frequência ou em várias sessões. Como o Amazon Aurora DSQL foi projetado para operação distribuída, evitar a coordenação geralmente é útil. Por esse motivo, os UUIDs são recomendados como o tipo de identificador padrão, especialmente para chaves primárias em workloads em que a escalabilidade é importante e a ordenação estrita dos identificadores não é necessária.

Sequências e colunas de identidade geram valores inteiros compactos que são convenientes para identificadores legíveis por humanos, geração de relatórios e interfaces externas. Quando os identificadores numéricos são preferidos por motivos de usabilidade ou integração, considere a possibilidade de usar concomitantemente uma sequência ou coluna de identidade e identificadores baseados em UUID. Quando a sequência de inteiros ou os valores de identidade são necessários, a escolha de um tamanho de cache apropriado se torna uma parte essencial do design da workload. Consulte a seção a seguir para obter orientações sobre como escolher um tamanho de cache.

Escolher o tamanho do cache

A seleção de um valor de cache apropriado é essencial para o uso eficaz de sequências e colunas de identidade. A configuração do cache determina como a alocação de identificadores se comporta sob carga, influenciando o throughput do sistema e até que ponto os valores retratam a ordem de alocação.

Um tamanho de cache maior, como CACHE >= 65536, é adequado quando:

  • Os identificadores são gerados em alta frequência.

  • Várias sessões são inseridas simultaneamente.

  • A workload consegue tolerar intervalos e efeitos de ordenação visíveis.

Por exemplo, workloads de ingestão de eventos de alto volume (como IoT ou telemetria), bem como identificadores operacionais, como IDs de execução de tarefas, referências de casos de suporte ou números de pedidos internos, geralmente se beneficiam de tamanhos de cache maiores, em que os identificadores são gerados com frequência e a ordenação estrita não é necessária.

Um tamanho de cache de 1 é mais adequado quando:

  • As taxas de alocação são relativamente baixas.

  • Espera-se que os identificadores sigam a ordem de alocação de maneira mais estreita ao longo do tempo.

  • A minimização dos intervalos é mais importante do que o throughput máximo.

Determinadas workloads, como atribuição de números de conta ou de referência, nas quais são gerados identificadores com menor frequência e uma ordenação mais estreita é desejável, se alinham melhor com um tamanho de cache de 1.