Aurora MySQL에서 병렬 쿼리 설정 및 해제 - Amazon Aurora

Aurora MySQL에서 병렬 쿼리 설정 및 해제

병렬 쿼리가 설정되면 Aurora MySQL이 각 쿼리의 런타임 시 병렬 쿼리를 사용할지 여부를 결정합니다. 조인, 통합, 하위 쿼리 등의 경우에는 Aurora MySQL이 각 쿼리 블록의 실행 시간에 병렬 쿼리를 사용할지 여부를 결정합니다. 자세한 내용은 어떤 문이 Aurora MySQL의 병렬 쿼리를 사용하는지 확인Aurora MySQL의 병렬 쿼리를 위한 SQL 구성 단원을 참조하십시오.

aurora_parallel_query 옵션을 사용하여 DB 인스턴스에 대하여 전역 수준과 세션 수준에서 모두 동적으로 병렬 쿼리를 설정 및 해제할 수 있습니다. DB 클러스터 그룹의 aurora_parallel_query 설정을 변경하여 병렬 쿼리를 기본적으로 설정하거나 해제할 수 있습니다.

mysql> select @@aurora_parallel_query; +------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+

세션 수준에서 aurora_parallel_query 파라미터를 전환하려면 표준 방법을 사용하여 클라이언트 구성 설정을 변경합니다. 예를 들어 mysql 명령줄을 통해 또는 JDBC 또는 ODBC 애플리케이션 내에서 이렇게 할 수 있습니다. 표준 MySQL 클라이언트에서는 명령이 set session aurora_parallel_query = {'ON'/'OFF'}입니다. 또한 JDBC 구성 또는 애플리케이션 코드에 세션 수준 파라미터를 추가하여 동적으로 병렬 쿼리를 설정하거나 해제할 수 있습니다.

특정 DB 인스턴스 또는 전체 클러스터에 대해 aurora_parallel_query 파라미터 설정을 영구적으로 변경할 수 있습니다. DB 파라미터 그룹에서 파라미터 값을 지정하면 해당 값은 클러스터의 특정 DB 인스턴스에만 적용됩니다. DB 클러스터 파라미터 그룹에서 파라미터 값을 지정하면 클러스터의 모든 DB 인스턴스가 동일한 설정을 상속합니다. aurora_parallel_query 파라미터를 전환하려면 Amazon Aurora의 파라미터 그룹에 설명된 대로 파라미터 그룹으로 작업하기 위한 기술을 사용합니다. 다음 단계를 따릅니다.

  1. 사용자 지정 클러스터 파라미터 그룹(권장) 또는 사용자 지정 DB 파라미터 그룹을 생성합니다.

  2. 이 파라미터 그룹에서 원하는 값으로 parallel_query를 업데이트합니다.

  3. DB 클러스터 파라미터 그룹을 생성했는지 아니면 DB 파라미터 그룹을 생성했는지에 따라 파라미터 그룹을 Aurora 클러스터에 연결하거나 병렬 쿼리 기능을 사용할 특정 DB 인스턴스에 연결합니다.

    작은 정보

    aurora_parallel_query는 동적 파라미터이므로 이 설정을 변경한 후에 클러스터를 다시 시작할 필요가 없습니다. 그러나 옵션을 토글하기 전에 병렬 쿼리를 사용하고 있던 모든 연결은 연결이 닫히거나 인스턴스가 재부팅될 때까지 계속됩니다.

ModifyDBClusterParameterGroup 또는 ModifyDBParameterGroup API 작업이나 AWS Management Console을 사용하여 병렬 쿼리 파라미터를 수정할 수 있습니다.

병렬 쿼리 클러스터의 해시 조인을 설정하고, Amazon RDS 콘솔 또는 AWS CLI를 사용하여 병렬 쿼리를 설정 및 해제하고, 병렬 쿼리 최적화 프로그램을 재정의할 수 있습니다.

병렬 쿼리 클러스터에 대한 해시 조인 설정

병렬 쿼리는 해시 조인 최적화에서 이익을 얻는 리소스 집약적인 쿼리 유형에 일반적으로 사용됩니다. 따라서 병렬 쿼리를 사용하려는 클러스터에 대해 해시 조인을 설정하는 것이 좋습니다. 해시 조인을 효과적으로 사용하는 방법에 대한 자세한 내용은 해시 조인을 사용하여 대규모 Aurora MySQL 조인 쿼리 최적화 섹션을 참조하세요.

콘솔을 사용하여 병렬 쿼리 설정 및 해제

파라미터 그룹으로 작업하여 DB 인스턴스 수준 또는 DB 클러스터 수준에서 병렬 쿼리를 설정하거나 해제할 수 있습니다.

AWS Management Console을 사용하여 DB 클러스터에 대한 병렬 쿼리를 설정하거나 해제하려면
  1. Amazon Aurora의 파라미터 그룹에 설명된 대로 사용자 지정 파라미터 그룹을 생성합니다.

  2. aurora_parallel_query를 1(활성화됨) 또는 0(비활성화됨)으로 업데이트합니다. 병렬 쿼리 기능을 사용할 수 있는 클러스터에서는 aurora_parallel_query가 기본적으로 해제되어 있습니다.

  3. 사용자 지정 클러스터 파라미터 그룹을 사용하는 경우 병렬 쿼리 기능을 사용할 Aurora DB 클러스터에 해당 그룹을 연결합니다. 사용자 지정 DB 파라미터 그룹을 사용하는 경우 클러스터에 있는 하나 이상의 DB 인스턴스에 해당 그룹을 연결합니다. 클러스터 파라미터 그룹을 사용하는 것이 좋습니다. 이렇게 하면 클러스터의 모든 DB 인스턴스가 병렬 쿼리 및 해시 조인과 같은 관련 기능에 대해 동일한 설정을 갖게 됩니다.

CLI를 사용하여 병렬 쿼리 설정 및 해제

modify-db-cluster-parameter-group 또는 modify-db-parameter-group 명령을 사용하여 병렬 쿼리 파라미터를 수정할 수 있습니다. aurora_parallel_query의 값을 DB 클러스터 파라미터 그룹을 통해 지정하는지 아니면 DB 파라미터 그룹을 통해 지정하는지에 따라 적절한 명령을 선택합니다.

CLI를 사용하여 DB 클러스터에 대한 병렬 쿼리를 설정하거나 해제하려면
  • modify-db-cluster-parameter-group 명령을 사용하여 병렬 쿼리 파라미터를 수정합니다. 다음과 같은 명령을 사용합니다. 사용자 지정 파라미터 그룹의 해당 이름으로 대치합니다. ON 옵션의 OFF 부분을 ParameterValue 또는 --parameters로 대치합니다.

    $ aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name cluster_param_group_name \ --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot { "DBClusterParameterGroupName": "cluster_param_group_name" } aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name cluster_param_group_name \ --parameters ParameterName=aurora_pq,ParameterValue=ON,ApplyMethod=pending-reboot

또한 세션 수준에서도(예를 들어 mysql 명령줄을 통해 혹은 JDBC 또는 ODBC 애플리케이션 내에서) 병렬 쿼리를 설정하거나 해제할 수 있습니다. 그렇게 하려면, 표준 메서드를 사용하여 클라이언트 구성 설정을 변경합니다. 예를 들어, 표준 MySQL 클라이언트에서는 Aurora MySQL의 경우 명령이 set session aurora_parallel_query = {'ON'/'OFF'}이고,

또한 JDBC 구성 또는 애플리케이션 코드에 세션 수준 파라미터를 추가하여 동적으로 병렬 쿼리를 설정하거나 해제할 수 있습니다.

병렬 쿼리 옵티마이저 재정의

aurora_pq_force 세션 변수를 사용하여 병렬 쿼리 옵티마이저 프로그램을 재정의하고 모든 쿼리에 대해 병렬 쿼리를 요청할 수 있습니다. 이 작업은 테스트 목적으로만 하는 것이 좋습니다. 다음 예제는 세션에서 aurora_pq_force를 사용하는 방법을 보여줍니다.

set SESSION aurora_parallel_query = ON; set SESSION aurora_pq_force = ON;

재정의를 해제하려면 다음을 수행합니다.

set SESSION aurora_pq_force = OFF;