18.1 MySQL Cluster 개요
MySQL Cluster는 공유 아무것도 시스템에서 인 메모리 데이터베이스 클러스터링을 가능하게하는 기술입니다. 공유 아무것도 아키텍처는 매우 저렴한 하드웨어로 시스템이 작동 하드웨어 및 소프트웨어 요구 사항이 최소화됩니다.
MySQL Cluster는 단일 실패 지점이 발생하지 않도록 설계되어 있습니다. 공유 아무것도 시스템에서는 각 구성 요소 별 메모리와 디스크가 준비되어 네트워크 공유, 네트워크 파일 시스템, SAN 등의 공유 스토리지 메커니즘의 사용은 권장 또는 지원되지 않습니다.
MySQL Cluster는 표준 MySQL Server와 NDB
( "N etwork D ata B ase"를 나타냅니다)라는 인 메모리 클러스터링 된 스토리지 엔진을 통합 한 것입니다. 이 문서에서는 NDB
는 설치 스토리지 엔진 관련 부분을 나타내고, "MySQL Cluster"는 하나 이상의 MySQL Server와 NDB
스토리지 엔진의 조합을 나타냅니다.
MySQL Cluster는 각각 하나 이상의 프로세스를 실행하는 호스트라는 일련의 컴퓨터로 구성됩니다. 노드라는이 프로세스는 MySQL Server (NDB 데이터에 액세스 용), 데이터 노드 (데이터 저장 용) 1 개 이상의 관리 서버 및 경우에 따라서는 다른 특수한 데이터 액세스 프로그램이 포함 합니다. MySQL Cluster의 이러한 구성 요소의 관계를 여기에 나타냅니다.
![MySQL Cluster 구성 요소](http://dev.mysql.com/doc/refman/5.6/en/images/cluster-components-1.png)
이러한 모든 프로그램이 일체가되어 MySQL Cluster를 형성합니다 ( 섹션 18.4 "MySQL Cluster 프로그램" 을 참조하십시오). NDB
스토리지 엔진에 의해 데이터가 저장되면 데이터 노드 테이블 (및 테이블 데이터)가 포함됩니다. 이러한 테이블에는 클러스터의 다른 모든 MySQL Server (SQL 노드)에서 직접 액세스 할 수 있습니다. 따라서 클러스터에 데이터를 저장하는 급여 계산 응용 프로그램은 응용 프로그램이 직원의 월급을 업데이트하면이 데이터를 쿼리하는 다른 모든 MySQL 서버가이 변화를 즉시 인식 할 수 있습니다.
MySQL Cluster의 SQL 노드는 mysqld 서버 데몬이 사용되지만, 이것은 MySQL 5.6 배포에 포함 된 mysqld 바이너리는 몇 가지 중요한 점에서 차이가 있으며,이 두 버전의 mysqld를 교환 할 수 없습니다 .
또한 MySQL Cluster에 연결되지 않은 MySQL Server는 NDB
스토리지 엔진을 사용할 수 없으며 MySQL Cluster의 데이터에 액세스 할 수 없습니다.
MySQL Cluster의 데이터 노드에 저장된 데이터는 미러링 할 수 있습니다. 클러스터는 몇몇 트랜잭션이 트랜잭션 상태의 소실로 인해 중단되는 것 이외의 영향을받지 않고 개별 데이터 노드의 장애를 처리 할 수 있습니다. 실패한 트랜잭션은 트랜잭션 응용 프로그램이 처리한다고 가정되기 때문에 이것이 문제의 원인이 될 수는 없을 것입니다.
각 노드는 중지하고 다시 시작한 후 시스템 (클러스터)에 다시 참가할 수 있습니다. 구성을 변경하거나 소프트웨어 업그레이드를 할 때 롤링 재시작 (모든 노드가 차례로 다시 시작되는)가 사용됩니다 ( 섹션 18.5.5 "MySQL Cluster의 롤링 다시 부팅 수행" 을 참조하십시오 ). 롤링 재시작은 새로운 데이터 노드를 온라인으로 추가하는 과정의 일부로도 사용됩니다 ( 섹션 18.5.13 "MySQL Cluster 데이터 노드의 온라인 추가" 를 참조하십시오). 데이터 노드의 정보, MySQL Cluster의 데이터 노드의 구성 방법 및 데이터 노드에 의한 MySQL Cluster 데이터의 처리 방법과 저장 방법은 섹션 18.1.2 "MySQL Cluster 노드, 노드 그룹 복제 및 파티션" 을 참조하십시오.
MySQL Cluster 데이터베이스 백업 및 복원은 MySQL Cluster 관리 클라이언트의 NDB
고유의 기능 및 MySQL Cluster 배포에 포함 된 ndb_restore 프로그램을 사용하여 수행 할 수 있습니다. 자세한 내용은 섹션 18.5.3 "MySQL Cluster의 온라인 백업 ' 및 섹션 18.4.20 "ndb_restore - MySQL Cluster 백업 복원" 을 참조하십시오. mysqldump 및 MySQL Server에서이 목적을 위해 제공되는 표준 MySQL 기능을 사용할 수 있습니다. 자세한 내용은 섹션 4.5.4 "mysqldump - 데이터베이스 백업 프로그램" 을 참조하십시오.
MySQL Cluster 노드의 노드 간 통신에서는 표준 100M 비트 / 초 또는 더 빠른 Ethernet 하드웨어를 사용하는 TCP / IP 등 다양한 전송 메커니즘을 사용할 수 있습니다. MySQL Cluster는 빠른 확장 코히 런트 인터페이스 (SCI) 프로토콜을 사용할 수 있지만, 이것은 MySQL Cluster를 사용하는 데 필요하지 않습니다. SCI는 특별한 하드웨어와 소프트웨어가 필요합니다. SCI 및 MySQL Cluster에서 SCI 사용에 대한 자세한 내용은 섹션 18.3.5 "MySQL Cluster에서의 고속 인터커넥트 사용" 을 참조하십시오.