MySQL Fabric과 MySQL Cluster의 차이점


9

나는 MySQL 세계에 익숙하지 않고 두 사람에 의해 혼란 스러웠다. 고가용 성과 샤딩을 모두 제공하지 않습니까?

또한 WebScaleSQL은 어떻게 비교됩니까?

답변:


20

이 3 가지 작업은 서로 관련이 없습니다. 소개와 함께 더 자세한 내용을 검색하거나 요청할 수 있습니다.

MySQL Cluster 는 "NDB Cluster"또는 "MySQL NDB Cluster"와 같은 혼란을 피하기 위해 많은 사람들이 부르는 마케팅 이름입니다. 그것은이다 MySQL을위한 비공유 아키텍처 수 있도록 동기 주로 메모리 전용 키 - 값 저장 합니다 (NDB 엔진에 백엔드를 제공하는). 그것은 제공하는 자동 샤딩 (그래서, 더 나은 쓰기 처리량 읽고) 및 고 가용성을. 처리량이 많은 키-값 소 데이터 시스템에는 잘 작동하지만 설정이 비교적 복잡하고 (올바르게 구성되지 않거나 의도하지 않은 방식으로 사용되는 경우 문제 발생) 대기 시간이 가장 좋은 것은 아닙니다. 현명한 (원시 속도). 이것은 단순화 된 버전입니다 (메모리 전용 및 키 값보다 많은 용도로 사용할 수 있지만 그 주위에 설계되었습니다). 제 생각에는 매우 훌륭한 엔지니어링이지만 별도의 다운로드가있는 일반 MySQL 서버와 다른 제품이므로 특정 엔진을 사용해야하므로 사용 사례가 제한적입니다.

MySQL Fabric파이썬으로 작성된 일련의 도구 / 미들웨어로, 복제 된 GTID 환경에서 일반 MySQL 서버 세트를 관리 할 수 ​​있습니다 . 클러스터 자체 가 아닙니다하지만 관리가 용이합니다. Java 및 Python 커넥터에 대한 링크가 있으므로 서버의 샤딩 및 고 가용성을 자동으로 처리 할 수 ​​있지만 일반 MySQL 서버 및 일반 복제 (InnoDB와 같은 일반 스토리지 엔진을 사용할 수 있음) 위에있는 계층입니다. . 지금까지의 복제는 비동기식 (또는 반 동기식)이므로 최상의 일관성과 보안을 제공하지 못할 수 있습니다. 향후 5.7 버전에서 변경 될 수 있습니다. 그러나이 방법은 대기 시간에 대한 오버 헤드가 적고 MySQL DBA의보다 친숙한 복제 기술을 사용합니다. MySQL Fabric은 상대적으로 새로운 이웃이지만 아직 확장되지는 않았지만 경쟁사의 Galera 기반 클러스터에 대한 오라클의 발표 (동기식 복제 복제와 함께) 인 것 같습니다.

샤딩 및 HA가 필요한 경우 이전의 두 제품 중 하나를 사용할 수 있지만 완전히 다른 시나리오에 사용될 수 있습니다.

WebScaleSQL 은 이전 솔루션과 마찬가지로 HA 솔루션이 아니며, 여러 회사 에서 필요로하는 특정 패치를 공유하고 Oracle이 적용하지 않은 MySQL의 포크 / 버전에 지정한 이름 일뿐 입니다. 내가 아는 한, Facebook, Twitter, LinkedIn 및 Google이 만들었으며 해당 공통 기반 위에 자체 MySQL 버전을 리베이스합니다. 지원 또는 이진 릴리스를 제공하지 않습니다. 최종 사용자 인 경우에는이를 사용하지 않아도되지만 프로젝트에서 계속 발전 할 사항이나 다른 공급 업체의 반응을 확인하려면 프로젝트를 주시해야합니다.

MySQL HA / 스케일링을 배우거나 시작하려는 경우 기본 MySQL 복제로 시작 하십시오 (최상이 아닐 수도 있지만 가장 쉬운 방법 임). DRBD [ sic], GTID- 복제, NDB, Galera, 텅스텐.


DRBD 이름 뒤에 "[sic]"을 입력 한 이유는 무엇입니까? 나는 그것들을 보았고 기술적 인 관점에서 상당히 인상적인 것처럼 보입니다.
Vérace

DRBD는 블록 수준 기술이므로 DB 또는 해당 버퍼에 대해 전혀 알지 못합니다. OLTP 시스템에 뛰어난 성능을 기대하지 마십시오. MySQL이 충돌하면 로컬에서 충돌 한 것처럼 복구해야하며 데이터베이스 손상으로부터 보호하지 않습니다. 논리적 수준에서 순수한 "비공유"기술이 아닙니다. 분산 RAID에 가깝기 때문에 MySQL에 100 % 적합하지 않습니다. 쓰기 부하가 적거나 여러 프로토콜을 동시에 배포해야하는 경우에 좋습니다. 그렇지 않으면 행 기반 반 동기식 복제가 우수합니다.
jynus

@ Vérace ... 요약하면 유스 케이스 이의 제기 (MySQL 클러스터링)입니다. 다른 경우에는 더 높은 수준의 프로토콜을 사용할 수 없거나 더 적합 할 수있는 다른 기술과 관련이 없습니다.
jynus

DRBD는 버퍼링에 대한 요점을 완벽하게 이해했습니다. DRBD는 MySQL의 내부에 대해 전혀 알지 못합니다. 즉, 커밋되었지만 아직 디스크에 기록되지 않은 것은 충돌시 손실됩니다.
Vérace

2

MySQL Fabric은 관리 기능을 수행하는 MySQL Fabric 노드 / 프로세스 및 쿼리 및 트랜잭션을 가장 적합한 MySQL 서버로 직접 라우팅 할 수있는 Fabric 인식 커넥터로 구현됩니다. MySQL Fabric 노드는 상태 및 라우팅 정보를 State Store (MySQL 데이터베이스)에 저장합니다.

MySQL Cluster는 비공유 시스템에서 인 메모리 데이터베이스를 클러스터링 할 수있는 기술입니다. 비공유 아키텍처는 시스템이 매우 저렴한 하드웨어 및 하드웨어 또는 소프트웨어에 대한 최소 특정 요구 사항으로 작동 할 수 있도록합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.