binlog_row_image
- minimal : CDC를 하지 않고 복제 기능만 사용할 때 설정합니다.
- full : binlog를 통한 CDC를 사용하는 경우 설정해 줍니다.
- binlog_row_image = FULL:
- 모든 컬럼의 값을 로그에 기록합니다.
- UPDATE 문의 경우, 변경 전과 후의 모든 컬럼 값을 기록합니다.
- 더 많은 디스크 공간과 네트워크 대역폭을 사용합니다.
- 복제 과정에서 더 많은 정보를 제공하므로 문제 해결이 용이합니다.
- 원본 테이블과 복제 테이블의 구조가 다르더라도 안전하게 복제할 수 있습니다.
- binlog_row_image = MINIMAL:
- 변경된 컬럼의 값만 로그에 기록합니다.
- UPDATE 문의 경우, 변경된 컬럼과 기본 키(또는 고유 키)만 기록합니다.
- 디스크 공간과 네트워크 대역폭 사용량이 줄어듭니다.
- 바이너리 로그 크기가 작아져 복제 지연이 줄어들 수 있습니다.
- 원본 테이블과 복제 테이블의 구조가 정확히 일치해야 합니다.
주요 고려사항:
- 성능: MINIMAL 설정이 일반적으로 더 나은 성능을 제공합니다.
- 디스크 공간: MINIMAL 설정이 디스크 공간을 덜 사용합니다.
- 유연성: FULL 설정이 더 유연하며, 테이블 구조 변경에 더 강합니다.
- 디버깅: FULL 설정이 문제 해결 시 더 많은 정보를 제공합니다.
- 복제 안정성: FULL 설정이 일반적으로 더 안정적인 복제를 제공합니다.
binlog_cache_size 파라미터는 MySQL에서 중요한 설정 중 하나입니다. 이 파라미터에 대해 자세히 설명해 드리겠습니다:
- 정의: binlog_cache_size는 각 세션(연결)에 대해 할당되는 메모리 버퍼의 크기를 바이트 단위로 지정합니다. 이 버퍼는 트랜잭션 중에 바이너리 로그 이벤트를 임시로 저장하는 데 사용됩니다.
- 목적:
- 트랜잭션 동안 생성된 바이너리 로그 이벤트를 메모리에 임시 저장합니다.
- 트랜잭션이 커밋되면 이 캐시의 내용이 바이너리 로그 파일에 기록됩니다.
- 기본값: 일반적으로 32KB (32,768 바이트)입니다.
- 동작 방식:
- 트랜잭션 크기가 binlog_cache_size보다 작으면, 모든 바이너리 로그 이벤트가 메모리에 저장됩니다.
- 트랜잭션 크기가 binlog_cache_size를 초과하면, 초과분은 임시 파일에 기록됩니다.
- 성능 영향:
- 적절한 크기 설정은 디스크 I/O를 줄이고 성능을 향상시킬 수 있습니다.
- 너무 큰 값은 불필요한 메모리 사용을 초래할 수 있습니다.
- 모니터링:
- Binlog_cache_use: 바이너리 로그 캐시를 사용한 트랜잭션 수
- Binlog_cache_disk_use: 바이너리 로그 캐시 크기를 초과하여 임시 파일을 사용한 트랜잭션 수
- 최적화 팁:
- Binlog_cache_disk_use 값이 높다면 binlog_cache_size를 증가시키는 것을 고려해 볼 수 있습니다.
- 대부분의 트랜잭션이 작다면 기본값을 유지하는 것이 좋습니다.
- 주의사항:
- 이 설정은 세션별로 적용되므로, 높은 값은 많은 동시 연결이 있을 때 상당한 메모리를 사용할 수 있습니다.
- 매우 큰 트랜잭션을 자주 처리한다면 binlog_cache_size를 증가시키는 것이 유익할 수 있습니다.
- 관련 설정:
- max_binlog_cache_size: 단일 트랜잭션에 사용할 수 있는 최대 메모리 양을 제한합니다.
binlog_cache_size의 적절한 값은 워크로드 특성, 사용 가능한 메모리, 트랜잭션 크기 등 여러 요소에 따라 달라집니다. 성능 테스트와 모니터링을 통해 최적의 값을 찾는 것이 좋습니다.
sql_mode
권장값 traditional
'Mysql & Maria > admin' 카테고리의 다른 글
MySQL에서 하지말아야 할 것들 (0) | 2024.08.26 |
---|---|
ip 저장시 inet_aton 함수 사용 (0) | 2024.08.26 |
CentOS 7 Maria 10.3 이중화 Galera Cluster (0) | 2024.04.18 |
CentOS 7 Maria 10.3 복제 환경구축 (0) | 2024.04.18 |
mysqlslap 사용 부하테스트 (0) | 2024.04.18 |