Amazon Aurora MySQL의 개요 - Amazon Aurora

Amazon Aurora MySQL의 개요

다음 단원에는 Amazon Aurora MySQL의 개요가 나와 있습니다.

Amazon Aurora MySQL 성능 개선 사항

Amazon Aurora에는 고급 상용 데이터베이스의 다양한 필요를 지원하는 성능 향상이 포함되어 있습니다.

빠른 입력 기능

빠른 입력 기능은 기본 키에 의해 정렬되는 병렬 입력을 빠르게 처리해 주며, 특히 LOAD DATAINSERT INTO ... SELECT ... 문 사용 시 유용합니다. 빠른 입력 기능은 문을 실행할 때 인덱스 순회에서 커서의 위치를 캐싱합니다. 이에 따라 인덱스를 불필요하게 다시 순회하지 않도록 해줍니다.

빠른 입력은 Aurora MySQL 버전 3.03.2 이상에서 일반 InnoDB 테이블에 대해서만 활성화됩니다. InnoDB 임시 테이블에서는 이 최적화가 작동하지 않습니다. Aurora MySQL 버전 2에서는 2.11 및 2.12 버전 모두 비활성화되어 있습니다. 빠른 입력 최적화는 적응형 해시 인덱스 최적화가 비활성화된 경우에만 작동합니다.

다음 측정치를 모니터링하면 DB 클러스터에서 빠른 입력 기능의 효과를 확인할 수 있습니다.

  • aurora_fast_insert_cache_hits: 캐싱된 커서가 성공적으로 검색 및 확인되면 증가하는 카운터입니다.

  • aurora_fast_insert_cache_misses: 캐싱된 커서가 더 이상 유효하지 않고 Aurora가 정상적인 인덱스 순회를 수행하면 증가하는 카운터입니다.

다음 명령을 사용하면 빠른 입력 측정치의 현재 값을 검색할 수 있습니다.

mysql> show global status like 'Aurora_fast_insert%';

출력은 다음과 비슷합니다.

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

Amazon Aurora MySQL 및 지형 정보 데이터

다음 목록은 기본 Aurora MySQL 공간 기능을 요약한 것으로서 해당 기능이 MySQL의 공간 기능에 어떻게 상응하는지 설명합니다.

  • Aurora MySQL 버전 2는 MySQL 5.7과 동일한 공간 데이터 유형 및 공간 관계 기능을 지원합니다. 이러한 데이터 유형 및 기능에 대한 자세한 내용은 MySQL 5.7 설명서의 공간 데이터 유형공간 관계 기능을 참조하세요.

  • Aurora MySQL 버전 3은 MySQL 8.0과 동일한 공간 데이터 유형 및 공간 관계 기능을 지원합니다. 이러한 데이터 유형 및 기능에 대한 자세한 내용은 MySQL 8.0 설명서의 공간 데이터 유형공간 관계 기능을 참조하세요.

  • Aurora MySQL은 InnoDB 테이블에서 공간 인덱싱 기능을 지원합니다. 이 기능을 사용하면 공간 데이터에 대한 쿼리를 위해 대규모 데이터 세트에 대한 쿼리 성능을 향상시킬 수 있습니다. MySQL의 경우 MySQL 5.7과 8.0에서 InnoDB 테이블에 대한 공간 인덱싱 기능이 제공됩니다.

    Aurora MySQL은 공간 쿼리 시 성능을 높이기 위해 MySQL과는 다른 공간 인덱싱 전략을 사용합니다. Aurora 공간 인덱스 구현에서는 R-트리보다 나은 공간 범위 스캔 성능을 제공하기 위해 B-트리에서 공간 채움 곡선을 사용합니다.

    참고

    Aurora MySQL에서는 SRID(공간 참조 식별자)가 있는 열에 공간 인덱스가 정의된 테이블의 트랜잭션은 다른 트랜잭션에서 업데이트할 수 있도록 선택한 영역에 삽입할 수 없습니다.

다음 데이터 정의 언어(DDL) 문은 공간 데이터 유형을 사용하는 열에 인덱스를 생성할 목적으로 지원됩니다.

테이블 생성

SPATIAL INDEX 문에서 CREATE TABLE 키워드를 사용하여 새 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 그 한 예입니다.

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

테이블 변경

SPATIAL INDEX 문에서 ALTER TABLE 키워드를 사용하여 기존 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 그 한 예입니다.

ALTER TABLE test ADD SPATIAL INDEX(shape);

인덱스 생성

SPATIAL 문에서 CREATE INDEX 키워드를 사용하여 기존 테이블의 열에 공간 인덱스를 추가할 수 있습니다. 다음은 한 예입니다.

CREATE SPATIAL INDEX shape_index ON test (shape);