18.1.4.2 MySQL Cluster NDB 7.4에서 MySQL Cluster 개발
MySQL Cluster NDB 7.4에서는 MySQL Cluster에 대해 다음의 개선이 이루어졌다.
충돌 감지 및 해결 확장 예외 테이블 메타카라무에 예약 된 컬럼 이름 이름 공간
NDB$
가 채용되고 기본 테이블의 컬럼의 임의의 부분 집합이 원래 테이블의 기본 키의 일부가 아니어도 그 를 기록 할 수있게되었습니다.예외 테이블의 컬럼과 일치 이름과 형태만으로 이루어지게 되었기 때문에 원래 기본 키를 완전히 기록 할 필요가 없어졌습니다. 메인 테이블의 기본 키의 일부가 아닌 컬럼의 값을 예외 테이블에 기록 할 수있게되었습니다.
읽기의 충돌 감지가 가능하게되었습니다. 경쟁 트랜잭션에서 읽은 모든 행이 플래그 지정되고 예외 테이블에 기록됩니다. 동일한 트랜잭션에 삽입 된 행은 읽기 또는 기록의 대상이되는 행에 포함되지 않습니다. 이 읽기 추적 노예가 사전에
ndb_log_exclusive_reads
을 설정해야 독점 읽기 잠금을 가지고 있는지 여부에 따라 달라집니다. 자세한 내용과 예제는 읽기 충돌 감지 및 해결 을 참조하십시오.기존의 예외 테이블도 계속 지원됩니다. 자세한 내용은 섹션 18.6.11 "MySQL Cluster 복제 충돌 해결" 을 참조하십시오.
순환 ( "액티브 - 액티브") 복제 역할 관리 MySQL Cluster의 순환 ( "액티브 - 액티브") 복제 토폴로지를 사용하는 경우
ndb_slave_conflict_role
서버 시스템 변수를 사용하여 주 또는 보조 역할 중 하나를 특정 MySQL Cluster에 할당 할 수 있습니다. 이 변수는PRIMARY
,SECONDARY
,PASS
,NULL
의 값 중 하나를 지정할 수 있습니다. 기본값은NULL
입니다. 이것은 기본 역할을하는 MySQL Cluster에서 페일 오버 할 때 사용할 수 있습니다.충돌 해결 기능의 효과가 무시되는 통과 상태 (
PASS
)도 지원됩니다. 자세한 내용은ndb_slave_conflict_role
변수와 섹션 18.6.11 "MySQL Cluster 복제 충돌 해결" 을 참조하십시오.조각 단위의 메모리 사용 상황 보고서 메모리 사용량에 대한 데이터를 MySQL Cluster NDB 7.4.1의
ndbinfo
정보 데이터베이스에 추가 된memory_per_fragment
뷰에서 개별 MySQL Cluster 조각 단위로 취득 할 수있게되었습니다. 자세한 내용은 섹션 18.5.10.17 "ndbinfo memory_per_fragment 테이블" 을 참조하십시오.노드를 다시 시작 개선
MySQL Cluster NDB 7.4은 데이터 노드의 재부팅에 걸리는 시간을 단축하는 다수의 개선 사항이 포함되어 있습니다. 다음 목록에서 이들에 대해 설명합니다.
노드가 시작될 때 할당 된 메모리는 할당 될 때까지 사용할 수 없기 때문에 운영 체제는 필요한 실제 물리적 메모리를 확보합니다. MySQL Cluster의 이전 버전에서는 할당 된 메모리의 각 페이지에 액세스하는 프로세스는 단일 스레드 화되어 있었기 때문에 상대적으로 시간이 걸려있었습니다. 이 프로세스가 멀티 스레드에서 다시 구현했습니다. 16 개 스레드에서 테스트에서는 단일 스레드의 경우보다 약 3 배 빠른 액세스 시간이 관측되었습니다.
로컬 체크 포인트의 병렬화가 향상되어 MySQL Cluster NDB 7.4에서는 LCP에서 지원되는 조각 수가 이전 2에서 32로 증가했습니다. 이렇게하면 사용되지 않은 CPU 전력 사용량이 크게 향상되고 LCP이 최대 10 배 향상됩니다. 이 고속화에 의해 노드의 재부팅 시간도 크게 단축됩니다.
새로운
ndbinfo
테이블이다disk_write_speed_base
,disk_write_speed_aggregate
및disk_write_speed_aggregate_node
의해 디스크 쓰기의 보고서가 제공됩니다. 이 테이블은 사용중인 각 LDM 스레드의 디스크 쓰기 속도에 대한 정보를 제공합니다.이 릴리스에서는 현재 노드 또는 다른 노드가 현재 다시 시작되는 때, 또는 현재 다시 시작되는 노드가 없을 때 LCP 및 백업의 쓰기 속도를 제어하기 위해
MinDiskWriteSpeed
,MaxDiskWriteSpeed
,MaxDiskWriteSpeedOtherNodeRestart
및MaxDiskWriteSpeedOwnRestart
데이터 노드 구성 매개 변수도 추가되어 있습니다.이러한 변화의 목적은
DiskCheckpointSpeed
및DiskCheckpointSpeedInRestart
구성 매개 변수를 사용한 디스크 쓰기의 구성 대안이 될 것입니다. 이 두 매개 변수는 현재 사용되지 않는있어 향후의 MySQL Cluster 릴리스에서 제거 될 예정입니다.성능에 중요한 것으로 판명 된 포인트에서 검출 된 지연 신호를 정상 (지체하지) 신호로 치환하여 백업에서 MySQL Cluster를 복원하는 시간이 단축됩니다. 이러한 불필요한 지연 신호를 제거하거나 대체하는 것으로, MySQL Cluster의 백업과 백업에서 MySQL Cluster의 복원에 걸리는 시간이 대폭 단축되는 것입니다.
NDB
수신 스레드에 관련된 여러 내부 메소드가 최적화되어NDB
에 따르면 SQL 처리의 효율이 향상되었습니다. 수신 스레드는 경우에 따라서는 1 초에 수백만 건의받은 레코드를 처리 할 필요가 있기 때문에 MySQL Cluster의 데이터 노드에서 레코드를 검색 할 때 불필요한 작업을 수행하고 자원을 낭비하거나 하지 않도록하는 것이 중요합니다.
MySQL Cluster의 시작 단계의 보고서가 개선되어 실행중인 출력 횟수가 증가했습니다. 섹션 18.5.1 "MySQL Cluster의 시작 단계 요약" 을 참조하십시오.