제18장 MySQL Cluster NDB 7.3 및 MySQL Cluster NDB 7.4
목차
이 장에서는 분산 컴퓨팅 환경에 적합한 MySQL의 고 가용성 및 고성능 중복 버전 인 MySQL Cluster에 대한 정보가 포함되어 있습니다. MySQL Cluster의 최근 버전에서는 NDB
스토리지 엔진 ( NDBCLUSTER
) 버전 7을 사용하여 MySQL Server 및 기타 소프트웨어를 포함한 여러 컴퓨터를 클러스터에서 동작시킬 수 있습니다. 프로덕션 환경에서 사용 가능한 최신 버전 인 MySQL Cluster NDB 7.3는 NDB
버전 7.3이 포함되어 있습니다. 이 장에서는 NDB
스토리지 엔진 버전 7.4을 사용하여 개발자 이정표 릴리스에서 사용할 수있게 된 MySQL Cluster NDB 7.4에 대한 정보도 포함되어 있습니다.
NDB
스토리지 엔진 지원은 오라클에 의해 구축 된 표준 MySQL Server 5.6 바이너리에는 포함되어 있지 않습니다. 대신 오라클에서 제공하는 MySQL Cluster 바이너리 사용자는 지원되는 플랫폼에 대응하는 MySQL Cluster의 최신 바이너리 릴리스로 업그레이드하도록하십시오. 여기에는 대부분의 Linux 배포판에서 작동해야의 RPM이 포함되어 있습니다. 소스에서 빌드하는 MySQL Cluster 사용자는 MySQL Cluster 용으로 제공되는 소스를 사용하도록하십시오. (소스를 얻을 수있는 곳은이 섹션 뒷부분합니다.)
이 장에서는 MySQL Cluster NDB 7.3 버전 (5.6.22-ndb-7.3.9까지) 및 MySQL Cluster NDB 7.4 버전 (5.6.22-ndb-7.4.4까지)에 대한 정보가 포함되어 있습니다. 현재 MySQL Cluster NDB 7.3 릴리즈 시리즈는 일반 제공 (GA)되어 있으며, MySQL Cluster 7.4은 개발자 미리 사용할 수 있습니다. MySQL Cluster NDB 7.2 MySQL Cluster NDB 7.1 및 MySQL Cluster NDB 7.0은 이전의 GA 릴리스입니다. 이들은 계속 지원되지만 새 배치에는 MySQL Cluster NDB 7.3을 사용하는 것이 좋습니다. MySQL Cluster NDB 7.2은 MySQL Cluster NDB 7.2 을 참조하십시오. MySQL Cluster NDB 7.1 및 이전 버전의 MySQL Cluster는 http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster 를 참조하십시오.
지원되는 플랫폼 MySQL Cluster는 현재 다양한 플랫폼에서 사용할 수 있으며, 지원하고 있습니다. 운영 체제 버전, 운영 체제 배포 및 하드웨어 플랫폼의 특정 조합에서 사용 가능한 정확한 지원 수준은 http://www.mysql.com/support/supportedplatforms/cluster.html 를 참조하십시오.
가용성 지원되는 플랫폼 용 MySQL Cluster 바이너리 및 소스 패키지는 http://dev.mysql.com/downloads/cluster/ 에서 구할 수 있습니다.
MySQL Cluster 릴리스 번호 MySQL Cluster는 메인 라인의 MySQL Server 5.6 릴리스 시리즈와는 약간 다른 자료 패턴에 따릅니다. 이 설명서와 MySQL의 다른 문서에서는 "NDB"로 시작하는 버전 번호를 사용하여 이러한 이상 MySQL Cluster 릴리스를 식별합니다. 이 버전 번호는 릴리스에서 사용 된 NDBCLUSTER
스토리지 엔진의 버전 번호이며 MySQL Cluster 릴리스의 기본이되어있는 MySQL Server 버전의 버전 번호가 없습니다.
MySQL Cluster 소프트웨어에서 사용되는 버전 문자열 MySQL Cluster의 프로그램에 표시되는 버전 문자열이 형식이 사용됩니다.
mysql-mysql_server_version
-ndb-ndb_engine_version
mysql_server_version
는 그 MySQL Cluster 릴리스의 기본이되어있는 MySQL Server 버전을 나타냅니다. 모든 MySQL Cluster NDB 7.3 릴리스와 현재의 MySQL Cluster NDB 7.4 릴리스에서는이 "5.6"입니다. ndb_engine_version
이 출시 MySQL Cluster 소프트웨어에서 사용되는 NDB
스토리지 엔진의 버전입니다. 다음과 같이 mysql 클라이언트에서이 형식이 사용되는 것을 알 수 있습니다.
shell>mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.27-ndb-7.4.9 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>SELECT VERSION()\G
*************************** 1. row *************************** VERSION(): 5.6.27-ndb-7.4.9 1 row in set (0.00 sec)
이 버전 문자열은 ndb_mgm 클라이언트의 SHOW
명령의 출력에 표시됩니다.
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=1 @10.0.10.6 (5.6.27-ndb-7.4.9, Nodegroup: 0, *)
id=2 @10.0.10.8 (5.6.27-ndb-7.4.9, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=3 @10.0.10.2 (5.6.27-ndb-7.4.9)
[mysqld(API)] 2 node(s)
id=4 @10.0.10.10 (5.6.27-ndb-7.4.9)
id=5 (not connected, accepting connect from any host)
이 버전 문자열은 그 MySQL Cluster 릴리스 분기 원일 메인 라인의 MySQL 버전과 사용되는 NDB
스토리지 엔진의 버전을 확인할 수 있습니다. 예를 들어, MySQL Cluster NDB 7.3.2 (MySQL Server 5.6을 기반으로하는 최초의 MySQL Cluster 실전 출시)의 완전한 버전 문자열은 mysql-5.6.11-ndb-7.3.2
입니다. 그러면 다음을 확인할 수 있습니다.
버전 문자열 "
-ndb-
"이전 부분은베이스가되는 MySQL Server 버전이기 때문에 이것은 MySQL Cluster NDB 7.3.2이 MySQL 5.6.11에서 파생 된 MySQL 5.6에서 MySQL 5.6.11까지 모든 기능 강화 및 버그 수정을 포함하는 것을 의미합니다.버전 문자열 "
-ndb-
"보다 나머지 부분은NDB
(또는NDBCLUSTER
) 스토리지 엔진의 버전 번호를 나타 때문에 MySQL Cluster NDB 7.3.2에서 버전 7.3.2의NDBCLUSTER
스토리지 엔진이 사용되어 있습니다 .
새로운 MySQL Cluster 릴리스는 NDB
스토리지 엔진의 업데이트에 따라 번호가 메인 라인의 MySQL Server 릴리스와 일대일로 대응하지 않습니다.
예를 들어, MySQL Cluster NDB 7.3.2는 (위에서 설명한대로) MySQL 5.6.11을 기반으로하고 있습니다
만, MySQL Cluster NDB 7.3.1은 MySQL 5.6.10을 기반으로하고있었습니다 (버전 문자열 : mysql-5.6.10-ndb-7.3.1
).
표준의 MySQL 5.6 릴리즈와 호환
표준 MySQL 스키마 및 응용 프로그램의 대부분이 MySQL Cluster를 사용하여도 작동하지만, MySQL Cluster를
사용하여 변경되지 않은 응용 프로그램이나 데이터베이스 스키마를 실행하면 호환 다소 저하되거나 성능이 최적이 아닌 할 수있는 것도
사실입니다 ( 섹션 18.1.6 "MySQL Cluster의 알려진 제한 사항" 을 참조하십시오). 이러한 문제의 대부분은 극복 할 수 있지만 이것은 스키마 쿼리 및 응용 프로그램을 변경할 가능성을 고려하지 않고 기존의 (예를 들어, MyISAM
이나 InnoDB
를 사용하는) 응용 프로그램 데이터 저장소를 NDB
스토리지 엔진을 사용하는 것으로 전환 것이 거의 불가능하다는 것을 의미합니다. 또한 MySQL Server와 MySQL Cluster의 코드베이스는 크게 다르기 때문에 표준 mysqld를 MySQL Cluster에 제공되는 버전의 mysqld와 쉽게 대체하여 사용할 수 없습니다.
MySQL Cluster의 개발 소스 트리 MySQL Cluster 개발 트리는 https://code.launchpad.net/~mysql/ 에서 액세스 할 수 있습니다.
https://code.launchpad.net/~mysql/ 에서 관리되는 MySQL Cluster의 개발 소스는 GPL 라이센스 부여되어 있습니다. Bazaar를 사용한 MySQL 소스의 취득 및 사용자 자신에 의한 소스 빌드 내용은 섹션 2.9.3 "개발 소스 트리를 사용하여 MySQL 설치" 를 참조하십시오.
MySQL Server 5.6과 마찬가지로 MySQL Cluster NDB 7.3 및 MySQL Cluster NDB 7.4 릴리스는 CMake를 사용하여 제작되고 있습니다.
현재 MySQL Cluster NDB 7.2 및 MySQL Cluster NDB 7.3 릴리스는 일반 제공 (GA)되어 있습니다. 신규 배포는 MySQL Cluster NDB 7.3을 사용하는 것이 좋습니다. MySQL Cluster NDB 7.1은 이전의 GA 릴리스 현재도 유지 보수 중입니다. MySQL Cluster NDB 7.0 이전 버전은 현재 개발이 종료되었습니다. MySQL Cluster NDB 7.3에 추가 된 주요 기능의 개요는 섹션 18.1.4 "MySQL Cluster의 개발 이력" 을 참조하십시오. 과거 MySQL Cluster 릴리스에 추가 된 주요 기능에 대한 개요는 http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-development.html 및 MySQL Cluster Development History 를 참조 하십시오.
이 장은 아직 완성 된 것이 아니라 그 내용은 MySQL Cluster의 지속적인 발전에 따라 수정됩니다. MySQL Cluster에 대한 추가 정보는 http://www.mysql.com/products/cluster/ 의 MySQL Web 사이트를 참조하십시오.
추가 리소스 MySQL Cluster 대한 자세한 내용은 다음 사이트를 참조하십시오.
MySQL Cluster에 대한 질문의 답변 내용은 섹션 A.10 "MySQL 5.6 FAQ : MySQL Cluster" 를 참조하십시오.
MySQL Cluster리스트 : http://lists.mysql.com/cluster .
MySQL Cluster 포럼 http://forums.mysql.com/list.php?25 .
MySQL Cluster의 많은 사용자와 개발자가 MySQL Cluster에 대한 자신의 경험을 블로그에 게시하고 PlanetMySQL 블로그의 피드를 사용할 수 있도록하고 있습니다.