반응형
**Binary Log (바이너리 로그)**는 MySQL에서 사용되는 로그 파일로, 데이터베이스의 변경 내용을 기록합니다. 주로 다음과 같은 목적으로 사용됩니다:
- 데이터 복구
데이터베이스에서 장애가 발생하거나 데이터를 복원해야 할 때, 백업 파일과 함께 바이너리 로그를 사용하여 데이터를 장애 시점까지 복구할 수 있습니다. - 복제 (Replication)
MySQL 복제 환경에서 마스터 서버의 변경 사항을 슬레이브 서버로 전송하기 위해 바이너리 로그가 사용됩니다. 슬레이브 서버는 이 로그를 읽어 변경 사항을 재현합니다. - 감사 (Auditing)
데이터베이스에서 실행된 쿼리와 변경 기록을 추적하기 위해 바이너리 로그를 분석할 수 있습니다.
Binary Log의 주요 특징
- 내용
데이터베이스에 영향을 미치는 모든 데이터 변경 작업(예: INSERT, UPDATE, DELETE)이 기록됩니다.
단, 데이터 읽기 작업(예: SELECT)은 기록되지 않습니다. - 형식
바이너리 로그는 텍스트가 아닌 이진 데이터 형식으로 저장되며, MySQL 도구를 사용해 내용을 확인할 수 있습니다.
예를 들어, mysqlbinlog 명령어를 사용하여 로그를 읽을 수 있습니다.
1. PostgreSQL
- 기능 이름: Write-Ahead Logging (WAL)
PostgreSQL에서는 데이터베이스의 변경 사항을 WAL 파일에 기록합니다. - 용도:
- 데이터 복구
- 복제 및 스트리밍 (마스터-슬레이브 환경)
- 특징:
- WAL 파일은 바이너리 형식으로 저장되며, pg_waldump 명령을 통해 내용을 확인할 수 있습니다.
- WAL을 통해 PITR(Point-In-Time Recovery)도 가능합니다.
2. Microsoft SQL Server
- 기능 이름: Transaction Log
- 용도:
- 데이터 복구
- 고가용성(HA) 및 복제(Always On, Log Shipping 등)
- 특징:
- 데이터베이스의 모든 트랜잭션과 데이터 변경 사항을 기록합니다.
- SQL Server Management Studio(SSMS)를 통해 트랜잭션 로그 백업 및 복구를 수행할 수 있습니다.
3. Oracle Database
- 기능 이름: Redo Log 및 Archive Log
- 용도:
- 데이터 복구
- 데이터 동기화 및 복제(Data Guard)
- 특징:
- Redo Log: 트랜잭션과 데이터 변경 사항을 기록.
- Archive Log: Redo Log가 가득 찼을 때 백업을 위해 저장.
4. MongoDB
- 기능 이름: Oplog (Operations Log)
- 용도:
- 데이터 복구
- 복제(Master-Slave, Replica Set 환경)
- 특징:
- Oplog는 Replica Set 환경에서 데이터베이스 변경 사항을 다른 노드로 동기화하는 데 사용됩니다.
5. MariaDB
- 기능 이름: MySQL의 Binary Log와 동일.
- 특징:
- MariaDB는 MySQL에서 포크된 데이터베이스로, Binary Log가 동일하게 존재합니다.
- MySQL과 동일한 방식으로 설정 및 활용 가능.
6. Cassandra
- 기능 이름: Commit Log
- 용도:
- 데이터 복구
- 데이터 일관성 보장
- 특징:
- Commit Log는 모든 데이터 변경 사항을 기록하여 노드 장애 시 복구에 사용됩니다.
반응형
'DB(SQL) > mysql|maria' 카테고리의 다른 글
[DB] mysql 성능 관리하기 (공부해야 할 내용들) (feat. gcp) (1) | 2024.12.06 |
---|---|
[mysql] 캐시 적중률 확인하기 (0) | 2024.12.03 |
[mysql] mysqld.cnf 기본 (2) | 2024.10.21 |
[mariadb] 50-server.cnf (0) | 2024.10.14 |
[MySQL] MySQLTuner - MySQL 성능(튜닝) 진단 툴 - 성능 및 구성 최적화 (0) | 2024.08.08 |