OGG, Mysql

최은지·2024년 1월 2일
0

Oracle

  • OGG는 Source 시스템의 Database(Oracle, DB2, MSSQL, Sybase ASE, MySQL 등) Redo/Archive Log 파일에 직접 접근하여 변경된 데이터만 추출, Target 시스템의 Database에 데이터를 동기화
    => OGG를 이용하여 실시간으로 운영시스템과 동일한 데이터를 가진 쌍둥이 시스템을 만들 수 있다..?
  • 조회로 인한 부하가 Source 시스템에 많은 영향을 주고 있는 경우에 보다 효율적
  • 아래는 예시

Mysql

  • Mysql 은 Replication을 통해 DB 이중화가 가능하다.
    - Master : 웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달
    - Slave : Master DBMS로 부터 전달받은 바이너리로그(Binarylog)를 데이터로 반영
  • master에서 query 실행
  • dml 의 경우 binary log 에 기록
  • mysql query 실행
  • slave는 binary log 를 감시하다가, 새로운 query가 들어오게 되면 이를 - slave의 relay log 로 가져오기 위해, master 에게 새로운 query 요청
  • master는 slave의 요청을 받아 binary log 에 적힌 쿼리를 slave로 전달하면서 전달되었다는 것을 보장받기 위해 응답을 기다린다.
  • slave는 master 로부터 query를 잘 받았다는 ack를 보낸다.
  • master는 slave로부터 ack를 받으면 client에게 ok를 보낸다.
  • slave의 mysql 에서 query 실행, master의 데이터가 slave에도 적용되도록 한다.

Reference

https://dataonair.or.kr/db-tech-reference/d-lounge/technical-data/?mod=document&uid=236576
https://velog.io/@jwpark06/MySQL-%EC%9D%B4%EC%A4%91%ED%99%94-%EC%A7%84%ED%99%94%EA%B8%B0

profile
배고파

0개의 댓글