Open DaehunGwak opened 2 years ago
binlog_row_image
시스템 변수에서 어떤 레코드의 컬럼 값을 바이너리 로그에 기록할지를 결정하는 옵션이다.전송
을 완료했다는 의미이지 복제가지 제대로 잘 됐는지는 알 수 없다.Crash Safe Replication
이라 부른다.Statement 기반 : 사용한 SQL문 자체를 직접 기록함
Row 기반 : 데이터의 변경값 자체가 로그에 기록
Mixed : Statemenet와 Row의 혼합
비동기 복제
반동기 복제
싱글 레플리카
멀티 레플리카
체인 레플리케이션
듀얼 소스 레플리케이션
멀티 소스 레플리케이션
지연 복제
멀티스레드 복제
한 스레드가 다루는 데이터 단위에 따라 구분
결국 공유자원 문제를 어떻게 풀것인가로 귀결된다.
데이터베이스 기반: DB 테이블 단위로 스레드 배정
LOGICAL CLOCK 기반: 트랜잭션 간 논리적 순서를 정렬해서 처리.
commit-parent: 안쓴다.
Lock: 자기가 커밋된 시점에서의 최신 트랜잭션이 이미 처리된 상태라면 지금 바로 돌려도 된다고 판단하고 병렬 처리함
write-set: 같은 데이터를 변경하지 않았다면 병렬로 처리할 수 있다고 보고 처리.
크래시 세이프 복제
필터링 복제
(대충 살핀거라 부정확함)
정말 러프하게 요약하면 "데이터 반복"을 압축할 수 있는 모든 수단을 죄다 때려넣은 알고리즘이다.
LZ77으로 동어 반복을 distance / offset으로 압축
압축된 결과물의 각 "단어"들의 심볼을 Huffman Coding으로 압축
압축된 포맷 시퀀스를 tANS로 압축
https://github.com/facebook/zstd/blob/master/doc/zstd_compression_format.md
https://en.wikipedia.org/wiki/Zstd https://en.wikipedia.org/wiki/Asymmetric_numeral_systems#Tabled_variant_(tANS) https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77 https://en.wikipedia.org/wiki/Huffman_coding https://en.wikipedia.org/wiki/Entropy_coding
진도
일시
2022.09.04.(일) 21:00