본문 바로가기
MySql

MySQL 여러 서버에서 MySQL을 분할하는 방법은 무엇입니까?

by 베이스 공부 2021. 1. 4.
반응형

수평 분할 ... 많은 테이블을 만들 수 있습니다.

여러 서버에서 어떻게이 작업을 수행 할 수 있습니까? 이를 통해 Mysql을 확장 할 수 있습니다.

X 서버에 X 테이블을 만드시겠습니까?

누구든지 설명하고 싶거나 여러 서버에 걸쳐 분할하는 방법을 알려주는 초보자 용 자습서 (단계별)가 있습니까?

 

해결 방법

 

MySQL을 사용하면 일반적으로 애플리케이션 기반 샤딩 을 수행합니다.

간단히 말해 여러 데이터베이스 서버에서 동일한 데이터베이스 구조 를 갖게됩니다. 그러나 동일한 데이터를 포함하지 않습니다.

예를 들면 다음과 같습니다.

Users 1 - 10000: server A
Users 10001 - 20000: server B

샤딩 (물론)은 백업 기술이 아니며 클러스터 전체에 읽기 및 쓰기를 분산하기위한 것입니다.

예를 들어 샤딩에 사용되는 기술은 MySQL-Proxy입니다. 이것은 HScale이 발명 한 것이 아니며, 읽기와 쓰기를 서로 다른 백엔드 서버에 배포하는 다소 간단한 LUA 스크립트입니다. MySQL forge에 대한 많은 예제가있을 것입니다.


이제 이러한 프록시를 제외하고 자신도 분할 할 수 있습니다. 마스터 테이블이 필요합니다. 예 :

-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------

그런 다음 서버에 대한 읽기 및 쓰기를 구성하십시오. 별로 예쁘지는 않지만 작동합니다. 다음 장애물은 그것을 더 어리석게 만드는 것입니다. 따라서 예를 들어 server1 , server2 server3 은 각각 작은 클러스터 여야합니다.


도움이되는지 알려주세요!

 

참조 페이지 https://stackoverflow.com/questions/1610887

 

 

반응형

댓글