CDC 3

대용량 시스템을 위한 데이타베이스 아키텍쳐-Sharding & Query Off Loading

대용량 시스템을 위한 데이타베이스 아키텍쳐 Sharding & Query Off Loading RDBMS는 크게 request를 바로 처리하는 트렌젝션 처리용의 OLTP(On-Line Transaction Processing)성과, 데이타를 모아서 분석하고 리포팅하는 OLAP(On-Line Analytical Processing) 두가지로 분리된다. 여기서 설명하는 RDBMS는 OLTP성의 데이타 베이스 이다. RDBMS는 2차원 테이블 구조의 데이타를 KEY 값을 중심으로 여러개의 컬럼으로 저장되며, 저장된 각각의 로우(행)은 다른 테이블의 로우와 관계를 가질 수 있다. RDBMS를 이용한 설계를 하는데, 고려할만한 아키텍쳐는 성능 향상을 위한 Query Off Loading과, Sharding이라는 ..

MS SQL Replication 아키텍쳐

MS SQL은 데이타 베이스간의 실시간 데이타 복제를 위해서 "Replication"이라는 기능을 제공한다. 딱 보면, Oracle의 Golden Gate, IBM의 Info sphere, Quest의 Shareflex,MySQL의 geo replication 과 비슷한 CDC 기능이다. Replication 방식은 크게 두가지로 나뉘어 지는데, Snapshot replication과 TransactionalReplication이다. Snapshot Replication 이 복제 방식은 간단하게 생각하면 Source 데이타 베이스의 내용을 Export해서 Target에 Import하는 개념으로 생각하면 된다. 데이타 베이스에 대한 복제를 시작하기 전에 초기 데이타를 적재 하거나, 또는 업무가 없을때 데이..

MySQL cluster geographic replication

물리적으로 분리된 위치에서 데이타 SYNC에 대한 솔루션을 research 하던중에 mysql에 대한 이야기가 많이 나온다. Facebook도 master 와 slave center (미국 서부와 동부)의 데이타를 mysql georeplication 을 이용해서 구현한것으로 보인다. MySQL georeplication의 원리는 위의 그림과 같다. Master node의 변경 사항을 BinLog라는 형태로 저장하여 복제 대상에 전송한후 replay를 하는 방식이다. record & replay 방식인데, binlog는 오라클의 redo 로그와 유사하다. 데이타베이스의 redo 로그 자체를 레코딩해서 전송하는 방식이기 때문에 데이타 복제만이 가능하고 ETL과 같은 변환은 불가능하며, 변경된 부분만 전송하..