물리적으로 분리된 위치에서 데이타 SYNC에 대한 솔루션을 research 하던중에 mysql에 대한 이야기가 많이 나온다. Facebook도 master 와 slave center (미국 서부와 동부)의 데이타를 mysql georeplication 을 이용해서 구현한것으로 보인다.
MySQL georeplication의 원리는 위의 그림과 같다. Master node의 변경 사항을 BinLog라는 형태로 저장하여 복제 대상에 전송한후 replay를 하는 방식이다. record & replay 방식인데, binlog는 오라클의 redo 로그와 유사하다. 데이타베이스의 redo 로그 자체를 레코딩해서 전송하는 방식이기 때문에 데이타 복제만이 가능하고 ETL과 같은 변환은 불가능하며, 변경된 부분만 전송하기 때문에, 성능이 빠르다. 그리고 XA(분산 트렌젝션)처리 등이 필요하지 않다.
사실 이 개념은 DR센터(재해복구를 위한 백업센터)로 데이타를 복제하는 아키텍쳐에 많이 사용되어 왔고, IBM의 CDC나 오라클의 Golden Gate가 매우 유사한 아키텍쳐를 사용한다.
그나저나 MySQL사용해본지가 몇년전인데, 정말 좋아졌다.
'아키텍쳐 > 대용량 아키텍쳐' 카테고리의 다른 글
오라클 Data replication solutions (0) | 2009.12.07 |
---|---|
글로벌 시스템의 거점 센터에 대한 고민 (0) | 2009.12.07 |
분산 인터넷 아키텍쳐에 대해서 좋은 책 하나.. (1) | 2009.11.17 |
Facebook geographic distributed architecture (2) | 2009.11.17 |
High scale & georeplication system. (5) | 2009.11.12 |