DaehunGwak / study-real-mysql-2

4 stars 0 forks source link

8. 16_복제 (16.4 ~16.7) #12

Open DaehunGwak opened 2 years ago

DaehunGwak commented 2 years ago

진도

  1. 복제 (16.4~16.7)

일시

2022.09.04.(일) 21:00

minkukjo commented 1 year ago

복제 데이터 포맷

Statement 기반 바이너리 로그 포맷

Row 기반 바이너리 로그 포맷

Mixed 포맷

Row 포맷 용량 최적화

바이너리 로그 Row 이미지

바이너리 로그 트랜잭션 압축

복제 동기화 방식

비동기 복제

반동기 복제

복제 토폴로지

싱글 레플리카 복제 구성

멀티 레플리카 복제 구성

체인 복제 구성

듀얼 소스 복제구성

멀티 소스 복제 구성

멀티 소스 복제 동작

복제 고급 설정

지연된 복제

멀티 스레드 복제

데이터베이스 기반 멀티 스레드 복제

LOGICAL CLOCK 기반 멀티스레드 복제

바이너리 로그 그룹 커밋

Commit-parent 기반 LOGICAL CLOCK 방식

잠금 기반 LOGICAL CLOCK 방식

WriteSet 기반 LOGICAL CLOCK

멀티스레드 복제와 복제 포지션 정보

크래시 세이프 복제

서버 장애와 복제 실패

필터링된 복제

Edwin222 commented 1 year ago

복제 데이터 포맷

복제 동기화

복제 토폴로지

복제 고급 설정

번외: zstd?

(대충 살핀거라 부정확함)

정말 러프하게 요약하면 "데이터 반복"을 압축할 수 있는 모든 수단을 죄다 때려넣은 알고리즘이다.

LZ77으로 동어 반복을 distance / offset으로 압축

압축된 결과물의 각 "단어"들의 심볼을 Huffman Coding으로 압축

압축된 포맷 시퀀스를 tANS로 압축

zstd 레퍼런스

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

DaehunGwak commented 1 year ago

https://first-diadem-378.notion.site/16-16-4-16-7-e5eb9d17ddfd4f2483349f06de936245