Visão geral do Amazon Aurora MySQL - Amazon Aurora

Visão geral do Amazon Aurora MySQL

As seções a seguir fornecem uma visão geral do Amazon Aurora MySQL.

Melhorias de performance do Amazon Aurora MySQL

O Amazon Aurora inclui melhorias de performance para dar suporte às diversas necessidades dos bancos de dados comerciais de alto nível.

Inserção rápida

A inserção rápida acelera as inserções paralelas classificadas pela chave primária e aplicam-se especificamente a instruções LOAD DATA e INSERT INTO ... SELECT .... A inserção rápida armazena em cache a posição de um cursor em um percurso de índice ao executar a instrução. Isso evita percorrer de novo pelo índice desnecessariamente.

A inserção rápida só será habilitada para as tabelas regulares do InnoDB no Aurora MySQL versão 3.03.2 e posterior. Essa otimização não funciona para tabelas temporárias do InnoDB. Ela está desabilitada no Aurora MySQL versão 2 para todas as versões 2.11 e 2.12. A otimização da inserção rápida funcionará somente se a otimização do Adaptive Hash Index estiver desabilitada.

Você pode monitorar as seguintes métricas para determinar a eficácia da inserção rápida quanto ao cluster de banco de dados:

  • aurora_fast_insert_cache_hits: um contador que é incrementado quando o cursor em cache é recuperado e verificado com sucesso.

  • aurora_fast_insert_cache_misses: um contador que é incrementado quando o cursor em cache não é mais válido e o Aurora realiza um percurso de índice normal.

Você pode recuperar o valor atual das métricas de inserção rápida usando o seguinte comando:

mysql> show global status like 'Aurora_fast_insert%';

Você terá um resultado semelhante ao seguinte:

+---------------------------------+-----------+ | Variable_name | Value | +---------------------------------+-----------+ | Aurora_fast_insert_cache_hits | 3598300 | | Aurora_fast_insert_cache_misses | 436401336 | +---------------------------------+-----------+

Amazon Aurora MySQL e dados espaciais

A lista a seguir resume os principais recursos espaciais do Aurora MySQL e explica como eles correspondem aos recursos espaciais no MySQL:

  • O Aurora MySQL versão 2 oferece suporte aos mesmos tipos de dados espaciais e funções de relação espacial que o MySQL 5.7. Para obter mais informações sobre esses tipos de dados e funções, consulte o tópico sobre Tipos de dados espaciais e Funções de relação espacial, na documentação do MySQL 5.7.

  • O Aurora MySQL versão 3 oferece suporte aos mesmos tipos de dados espaciais e funções de relação espacial que o MySQL 8.0. Para obter mais informações sobre esses tipos de dados e funções, consulte o tópico sobre Tipos de dados espaciais e Funções de relação espacial, na documentação do MySQL 8.0.

  • O Aurora MySQL oferece suporte à indexação espacial em tabelas do InnoDB. A indexação espacial melhora a performance das consultas em conjuntos de dados grandes para consultas sobre dados espaciais. No MySQL, a indexação espacial para tabelas do InnoDB está disponível para MySQL 5.7 e 8.0.

    O Aurora MySQL utiliza uma estratégia de indexação espacial diferente do MySQL para alto desempenho com consultas espaciais. A implementação do índice espacial do Aurora usa uma curva de preenchimento de espaço em uma árvore B, que se destina a fornecer uma performance maior para as verificações de alcance espacial do que uma árvore R.

    nota

    No Aurora MySQL, uma transação em uma tabela com um índice espacial definido em uma coluna com um identificador de referência espacial (SRID) não pode ser inserida em uma área selecionada para atualização por outra transação.

Há suporte às seguintes instruções de linguagem de definição de dados (DDL) para criar índices em colunas que usam tipos de dados espaciais.

CREATE TABLE

É possível usar as palavras-chave SPATIAL INDEX em uma instrução CREATE TABLE para adicionar um índice espacial a uma coluna em uma nova tabela. Veja um exemplo a seguir.

CREATE TABLE test (shape POLYGON NOT NULL, SPATIAL INDEX(shape));

ALTER TABLE

É possível usar as palavras-chave SPATIAL INDEX em uma instrução ALTER TABLE para adicionar um índice espacial a uma coluna em uma tabela existente. Veja um exemplo a seguir.

ALTER TABLE test ADD SPATIAL INDEX(shape);

CREATE INDEX

É possível usar a palavra-chave SPATIAL em uma instrução CREATE INDEX para adicionar um índice espacial a uma coluna em uma tabela existente. Veja um exemplo a seguir.

CREATE SPATIAL INDEX shape_index ON test (shape);