RDS for MariaDB에 대해 알려진 문제 및 제한 사항 - Amazon Relational Database Service

RDS for MariaDB에 대해 알려진 문제 및 제한 사항

다음 항목은 RDS for MariaDB를 사용할 때 알려진 문제 및 제한 사항입니다.

참고

단, 이 목록이 전부는 아닙니다.

Amazon RDS의 MariaDB 파일 크기 제한

MariaDB DB 인스턴스의 경우 InnoDB 테이블당 파일 테이블스페이스를 사용할 때 테이블의 최대 크기는 16TB입니다. 또한 이 제한은 시스템 테이블스페이스를 최대 16TB의 크기로 제한합니다. MariaDB DB 인스턴스에서는 테이블이 각각 자체 테이블스페이스에 들어 있는 InnoDB 테이블당 파일 테이블스페이스가 기본적으로 설정됩니다. 이 한도는 MariaDB DB 인스턴스의 최대 스토리지 한도와 관련이 없습니다. 스토리지 한도에 대한 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 섹션을 참조하세요.

애플리케이션에 따라 InnoDB 테이블당 파일 테이블스페이스 사용에 대한 장점과 단점은 서로 다릅니다. 애플리케이션에 가장 적합한 접근 방식을 확인하려면 MySQL 설명서의 테이블당 파일 테이블스페이스를 참조하세요.

테이블을 최대 파일 크기로 늘리도록 허용하는 것은 권장하지 않습니다. 일반적으로 모범 사례는 성능 및 복구 시간을 향상할 수 있도록 데이터를 더 작은 테이블로 분할하는 것입니다.

대형 테이블을 여러 개의 작은 테이블로 분할하는 데 사용할 수 있는 한 가지 옵션으로는 파티셔닝이 있습니다. 파티셔닝을 수행하면 사용자가 지정하는 규칙에 따라 라지 테이블의 일부가 개별 파일로 배포됩니다. 예를 들어, 트랜잭션을 날짜별로 저장하는 경우 파티셔닝을 사용하여 이전 트랜잭션을 개별 파일로 배포하는 파티셔닝 규칙을 생성할 수 있습니다. 이렇게 하면 애플리케이션에서 즉시 사용할 필요가 없는 이전 트랜잭션 데이터를 주기적으로 보관할 수 있습니다. 자세한 내용은 MySQL 설명서의 파티셔닝을 참조하세요.

모든 InnoDB 테이블스페이스의 크기를 확인하려면
  • 다음 SQL 명령을 사용하여 크기가 너무 커서 파티셔닝을 수행해야 하는 테이블이 있는지 확인합니다.

    참고

    MariaDB 10.6 이상의 경우 이 쿼리는 InnoDB 시스템 테이블스페이스의 크기도 반환합니다.

    10.6 이전의 MariaDB 버전에서는 시스템 테이블을 쿼리하여 InnoDB 시스템 테이블스페이스의 크기를 확인할 수 없습니다. 이후 버전으로 업그레이드하는 것이 좋습니다.

    SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2) as "Tablespace Size (GB)" FROM information_schema.INNODB_SYS_TABLESPACES ORDER BY 3 DESC;
비 InnoDB 사용자 테이블의 크기를 확인하려면
  • 다음 SQL 명령을 사용하여 비 InnoDB 사용자 테이블이 너무 큰지 확인합니다.

    SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH+DATA_FREE) / 1024 / 1024/ 1024), 2) As "Approximate size (GB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema') and ENGINE<>'InnoDB';

InnoDB 테이블당 파일 테이블스페이스를 활성화하는 방법

  • DB 인스턴스의 파라미터 그룹에서 innodb_file_per_table 파라미터를 1로 설정합니다.

InnoDB 테이블당 파일 테이블스페이스를 비활성화하는 방법

  • DB 인스턴스의 파라미터 그룹에서 innodb_file_per_table 파라미터를 0로 설정합니다.

파라미터 그룹 업데이트에 대한 자세한 내용은 Amazon RDS의 파라미터 그룹을(를) 참조하세요.

InnoDB 테이블당 파일 테이블스페이스를 활성화하거나 비활성화하면 ALTER TABLE 명령을 실행할 수 있습니다. 이 명령을 사용하여 전역 테이블스페이스에서 자체 테이블스페이스로 테이블을 이동할 수 있습니다. 또는 자체 테이블스페이스에서 전역 테이블스페이스로 테이블을 이동할 수 있습니다. 다음은 그 한 예입니다.

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

InnoDB 예약어

InnoDB는 RDS for MariaDB의 예약어입니다. MariaDB 데이터베이스에는 이 이름을 사용할 수 없습니다.

사용자 지정 포트

Amazon RDS는 MariaDB 엔진의 사용자 지정 포트 33060으로의 연결을 차단합니다. MariaDB 엔진에 사용할 다른 포트를 선택합니다.

성능 개선 도우미

MariaDB 커뮤니티에서 더 이상 InnoDB 카운터를 지원하지 않기 때문에 RDS for MariaDB 버전 10.11용 성능 개선 도우미에는 InnoDB 카운터가 표시되지 않습니다.