• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 1. MySQL Cluster 개요
    1. MySQL Cluster의 주요 개념
    2. MySQL Cluster 노드, 노드 그룹 복제 및 파티션
    3. MySQL Cluster 하드웨어, 소프트웨어 및 네트워크 요구 사항
    4. MySQL Cluster 개발 이력
    5. InnoDB 기반의 MySQL Server와 MySQL Cluster Server 비교
    6. MySQL Cluster의 알려진 제한 사항
    1. MySQL Cluster의 SQL 구문의 부적합
    2. MySQL Cluster의 한계와 표준 MySQL의 제한과의 차이
    3. MySQL Cluster에서의 트랜잭션 처리에 관한 제한
    4. MySQL Cluster의 오류 처리
    5. MySQL Cluster의 데이터베이스 개체에 대한 제한
    6. MySQL Cluster 지원되지 않는 기능 또는 누락 된 기능
    7. MySQL Cluster의 성능 제한
    8. MySQL Cluster에 한정된 문제
    9. MySQL Cluster Disk Data Storage 제한
    10. Multiple MySQL Cluster 노드에 대한 제한
    11. MySQL Cluster NDB 7.3에서 해결 된 이전의 MySQL Cluster의 문제
    2. MySQL Cluster 설치
    3. MySQL Cluster 설정
    4. MySQL Cluster 프로그램
    5. MySQL Cluster 관리
    6. MySQL Cluster Replication
    7. MySQL Cluster Release Notes
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

18.1.6.1 MySQL Cluster의 SQL 구문의 부적합

다음 목록과 같이 특정 MySQL 기능 관련 SQL 문은 NDB 테이블에서 사용하면 오류를 생성하는 것이 있습니다.

  • 임시 테이블 임시 테이블은 지원되지 않습니다. NDB 스토리지 엔진을 사용하는 임시 테이블을 만들려고하거나 NDB 를 사용하도록 기존의 임시 테이블을 변경하려고 할 때 실패하고 다음 오류가 발생합니다 : Table storage engine 'ndbcluster'does not support the create option 'TEMPORARY'.

  • NDB 테이블의 인덱스와 키 MySQL Cluster 테이블의 인덱스와 키에는 다음과 같은 제한이 있습니다.

    • 열 폭 3072 바이트 이상의 폭의 NDB 테이블 컬럼에 대한 인덱스를 만들려고하면 성공하지만 인덱스에 실제로 사용되는 것은 첫 번째 3072 바이트입니다. 이러한 경우 경고 Specified key was too long; max key length is 3072 bytes가 발행되어 SHOW CREATE TABLE 문은 인덱스의 길이가 3072로 표시됩니다.

    • TEXT 및 BLOB 컬럼 TEXT 또는 BLOB 데이터 유형 중 하나를 사용하는 NDB 테이블 컬럼에 대한 인덱스를 만들 수 없습니다.

    • FULLTEXT 인덱스 NDB 스토리지 엔진은 FULLTEXT 인덱스를 지원하지 않습니다. 이것은 MyISAM 과 (MySQL 5.6.4 이후) InnoDB 테이블에서만 가능합니다.

      그러나 NDB 테이블의 VARCHAR 컬럼에 대한 인덱스를 만들 수 있습니다.

    • USING HASH 키와 NULL 고유 키와 기본 키에 NULL 허용 컬럼을 사용하면 이러한 컬럼을 사용하는 쿼리는 전체 테이블 스캔으로 처리됩니다. 이 문제를 해결하려면 컬럼을 NOT NULL 하거나 USING HASH 옵션을 지정하지 않고 인덱스를 다시 작성합니다.

    • 프리픽스 프리픽스 인덱스는 없습니다. 인덱스 컬럼 전체에만 넣을 수 있습니다. ( NDB 의 컬럼 인덱스의 크기는이 섹션의 앞부분에서 설명한 바와 같이, 컬럼의 폭 (바이트 단위)와 항상 같은 (최대 3072 바이트)입니다. 추가 정보는 섹션 18.1.6.6 "MySQL Cluster가 지원되지 않음 기능 또는 누락 된 기능 " 을 참조하십시오.)

    • BIT 컬럼 BIT 컬럼을 기본 키, 고유 키 또는 인덱스 할 수 없습니다. 또한 복합 기본 키, 고유 키 또는 인덱스의 일부가 될 수 없습니다.

    • AUTO_INCREMENT 컬럼 다른 MySQL 스토리지 엔진과 마찬가지로, NDB 스토리지 엔진은 테이블 당 최대 하나의 AUTO_INCREMENT 컬럼을 처리 할 수 있습니다. 그러나 명시적인 기본 키가없는 클러스터 테이블의 경우, AUTO_INCREMENT 컬럼은 자동으로 정의 된 "숨겨진"기본 키로 사용됩니다. 따라서 명시 적으로 AUTO_INCREMENT 컬럼을 가진 테이블은 PRIMARY KEY 옵션을 동시에 사용하여 컬럼을 선언하지 않는 한 정의 할 수 없습니다. 테이블의 기본 키가 아닌 AUTO_INCREMENT 컬럼을 가진 테이블을 만들려고, NDB 스토리지 엔진을 사용하면 실패하고 오류가 발생합니다.

  • 외부 키 제한 MySQL Cluster NDB 7.3에서 외래 키 제약 조건의 지원은 InnoDB 에 의한 지원과 동일하지만 다음과 같은 제한이 있습니다.

    • 외래 키로 참조되는 모든 열은 그것이 테이블의 기본 키가 아닌 경우 명시적인 고유 키를 필요로합니다.

    • 참조가 부모 테이블의 기본 키 인 경우, ON UPDATE CASCADE 는 지원되지 않습니다.

    • SET DEFAULT 는 지원되지 않습니다. ( InnoDB 에서도 지원되지 않습니다.)

    • NO ACTION 키워드는 사용할 수 있지만, RESCRICT 로 처리됩니다. ( InnoDB 에도 마찬가지입니다.)

    • MySQL Cluster NDB 7.3.5 이전 버전에서는 다른 테이블의 인덱스를 참조하는 외래 키가있는 테이블을 만들 때 인덱스의 컬럼 순서가 일치하지 않고 내부에서 적절한 오류를 반환하지 수 있었기 때문에, 외부 키를 만들 수 있도록 보일 수있었습니다. MySQL Cluster NDB 7.3.5에서는이 문제가 부분적으로 수정 된 내부에서 사용되는 오류가 대부분의 경우에 작동하도록 개선되었습니다 만, 부모 인덱스가 고유 인덱스 인 경우는 아직이 상황이 발생할 수 있습니다. (Bug # 18094360)

    자세한 내용은 섹션 13.1.17.2 "외래 키 제약 조건 사용" 및 섹션 1.8.3.2 "FOREIGN KEY 제약 조건" 을 참조하십시오.

  • MySQL Cluster와 형상 데이터 형 NDB 테이블에서는 지오메트리 데이터 형 ( WKT 및 WKB )가 지원됩니다. 그러나 공간 인덱스는 지원되지 않습니다.

  • 문자 세트와 바이너리 로그 파일 현재 ndb_apply_status 및 ndb_binlog_index 테이블은 latin1 (ASCII) 문자 세트를 사용하여 작성되어 있습니다. 바이너리 로그의 이름은이 테이블에 기록되기 때문에, 라틴어 이외의 문자를 사용하는 이름이 붙은 바이너리 로그 파일은이 테이블에서 제대로 참조되지 않습니다. 이것은 알려진 문제이며 현재 수정 중입니다. (Bug # 50226)

    이 문제를 해결하려면 바이너리 로그 파일의 이름을 지정할 때와 --basedir , --log-bin 또는 --log-bin-index 옵션을 설정하면 Latin-1 문자 만 사용 하십시오.

  • 사용자 정의 파티션을 사용한 NDBCLUSTER 테이블 만들기 MySQL Cluster에서 사용자 정의 파티션 지원, LINEAR ] KEY 의 분할에 한정됩니다. CREATE TABLE 문에 ENGINE=NDB 또는 ENGINE=NDBCLUSTER 와 함께 다른 파티션 유형을 사용하면 오류가 발생합니다.

    기본 파티셔닝 모든 MySQL Cluster 테이블은 기본적으로 테이블의 기본 키를 파티셔닝 키를 사용하여 KEY 로 파티션됩니다. 테이블에 명시 적으로 설정된 기본 키가없는 경우는 대신 NDB 스토리지 엔진에서 자동으로 생성 된 "숨겨진"기본 키가 사용됩니다. 이들과 관련된 문제에 대한 자세한 내용은 섹션 19.2.5 "KEY 파티션" 을 참조하십시오.

    사용자 분할 된 NDBCLUSTER 테이블이 다음의 두 가지 요구 사항 중 하나 또는 모두를 충족하지 못하는 원인이되는 CREATE TABLE 및 ALTER TABLE 문은 허용되지 않고 실패하고 오류가 발생합니다.

    1. 테이블에 명시적인 기본 키가 존재해야합니다.

    2. 테이블 파티셔닝 식에 지정된 모든 컬럼이 기본 키의 일부 여야합니다.

    예외 빈 컬럼리스트를 사용하여 (즉, PARTITION BY [LINEAR] KEY() 를 사용하여) 사용자 분할 된 NDBCLUSTER 테이블을 만들 때 명시적인 기본 키는 필요하지 않습니다.

    NDBCLUSTER 테이블의 최대 파티션 수 사용자 정의 파티션을 사용했을 때 NDBCLUSTER 테이블에 정의 할 수있는 파티션의 최대 수는 노드 그룹 당 8 개입니다. (MySQL Cluster 노드 그룹의 자세한 내용은 섹션 18.1.2 "MySQL Cluster 노드, 노드 그룹 복제 및 파티션" 을 참조하십시오.

    DROP PARTITION 지원되지 않는 ALTER TABLE ... DROP PARTITION 을 사용하여 NDB 테이블에서 파티션을 제거 할 수 없습니다. 클러스터 테이블에서 ALTER TABLE 에 대한 다른 파티션 확장 기능 ( ADD PARTITION , REORGANIZE PARTITION 및 COALESCE PARTITION )가 지원되지만 복사가 사용되기 때문에 최적화되지 않습니다. 섹션 19.3.1 "RANGE 및 LIST 파티션 관리" 및 섹션 13.1.7 "ALTER TABLE 구문" 을 참조하십시오.

  • 행 기반 복제 MySQL Cluster에서 행 기반 복제를 사용하는 경우 이진 로깅을 비활성화 할 수 없습니다. 즉, NDB 스토리지 엔진은 sql_log_bin 값을 무시합니다. (Bug # 16680)


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved