18.5.13.1 MySQL Cluster 데이터 노드의 온라인 추가 : 일반적인 문제
이 섹션에서는 MySQL Cluster 노드를 온라인으로 추가 할 때의 동작과 현재의 제한 사항에 대한 일반적인 정보를 보여줍니다.
데이터 재배포 새로운 노드를 온라인으로 추가하는 기능은 ALTER ONLINE TABLE ... REORGANIZE PARTITION
명령문을 사용하여 모든 데이터 노드 (새로 포함) 사이에서 배포되도록 NDBCLUSTER
테이블 데이터 및 인덱스를 다시 구성하는 방법도 포함되어 있습니다. 인 메모리와 디스크 데이터의 두 테이블 재구성을 지원하고 있습니다. 현재 재배포에 고유 인덱스가 포함되어 있지 않습니다 (정렬 된 인덱스 만 재배포됩니다). MySQL Cluster NDB 7.3.3 이전에는이 방법을 사용하여 BLOB
테이블 데이터도 재배포되지 않습니다 (Bug # 13714148).
새로운 데이터 노드가 추가되기 전에 이미 존재하고 있었다 NDBCLUSTER
테이블의 재배포는 자동으로 실행되지 않지만, mysql 또는 다른 MySQL 클라이언트 응용 프로그램에서 간단한 SQL 문을 사용하여 얻을 수 있습니다. 그러나 새 노드 그룹이 추가 된 후에 생성 된 테이블에 추가 된 모든 데이터 및 인덱스는 모든 클러스터 데이터 노드 (새 노드 그룹의 일부로 추가 된 것을 포함한다)간에 자동 에 배포됩니다.
부분적인 시작 새로운 데이터 노드가 모두 시작되지 않고 새로운 노드 그룹을 추가 할 수 있습니다. 또한 새로운 노드 그룹 기능 저하 상태의 클러스터 (즉, 부분적으로 시작되지 않은 클러스터와 하나 이상의 데이터 노드가 실행되지 않는 클러스터)에 추가 할 수 있습니다. 후자의 경우, 새로운 노드 그룹을 추가하기 전에 클러스터에 충분한 노드가 실행되어 있어야합니다.
진행중인 작업에 영향 새로운 노드 그룹을 만들거나 추가하거나 테이블을 재구성하거나해도 MySQL Cluster 데이터를 사용하는 일반적인 DML 작업을 방해하지 않습니다. 그러나 테이블 재구성과 동시에 DDL을 수행 할 수 없습니다. 즉, ALTER TABLE ... REORGANIZE PARTITION
문이 실행되는 동안 다른 DDL 문을 발행 할 수 없습니다. 또한 ALTER TABLE ... REORGANIZE PARTITION
실행 (또는 기타 DDL 문 실행) 안은 클러스터 데이터 노드를 다시 시작할 수 없습니다.
오류 처리 노드 그룹을 만들 때와 테이블 재구성시 데이터 노드 오류는 다음 표와 같이 처리됩니다.
오류가 발생하는 타이밍 : | 오류가 발생하는 장소 : | ||
---|---|---|---|
"오래된"데이터 노드 | "새로운"데이터 노드 | 시스템 | |
노드 그룹 만들기 |
|
|
|
테이블 재구성 |
|
|
|
노드 그룹 삭제 ndb_mgm 클라이언트는 DROP NODEGROUP
명령을 지원하고 있습니다 만, 노드 그룹의 데이터 노드에 어떤 데이터도 포함되지 않은 경우에만 삭제할 수 있습니다. 현재 특정 데이터 노드 또는 노드 그룹을 "비우기"방법이 없기 때문에이 명령은 다음의 두 가지 경우 밖에 기능하지 않습니다.
ndb_mgm 클라이언트에서
CREATE NODEGROUP
을 발행 한 후 mysql 클라이언트에서 임의의ALTER ONLINE TABLE ... REORGANIZE PARTITION
명령문을 발행 할 때까지.DROP TABLE
를 사용하여 모든NDBCLUSTER
테이블을 삭제 한 후.데이터 노드는 계속 테이블 정의가 저장되기 때문에이 목적으로는
TRUNCATE TABLE
은 작동하지 않습니다.