회사에서 업무중 문의가 왔다. Target DB에서 특정 URL이 들어간 Row 값들 중 한 Column의 값이 모두 죽은 문서로 표시되는 값으로 표시되어 있는 것 하지만 해당 URL은 살아 있으므로 이 특정 URL의 Column을 살아있는 값으로 변경하는 작업을 진행
MySQL 의 빈로그 혹은 바이너리 로그는 MySQL 서버 인스턴스의 데이터 변경사항들에 대한 정보를 포함하는 로그 파일의 세트이다.여기에는 에러코드, 바이너리 로그 자체에 대한 메타데이터 등 다양한 데이터가 같이 포함되게 된다.기본적으로 Transaction Comm
데이터베이스에서 데이터를 저장하고 관리하는 방식과 관련된 기술로 데이터베이스에서 쿼리를 수행할 때, 데이터를 어떻게 저장하고 접근할 것인지, 인덱스는 어떻게 사용할 것인지, 트랜잭션 관리와 복구는 어떻게 할 것인지를 결정하는 요소Mysql에서 테이블을 생성하면 실제로
Mysql 8.0 임시 테이블 생성 조건가변 길이 데이터 타입의 효율적인 스토리지 제공바이너리 오브젝트 타입 서포트글로벌 메모리 영역에서의 관리mmap 파일에 의한 overflowinternal_tmp_mem_storage_engine = MEMORY로 설정하면 MEM

여러 커넥션에서 동시에 동일한 자원을 요청할 경우 순서대로 하나의 커넥션만 변경할 수 있게 해주는 기능동시성을 제어하기 위한 기능 락의 종류는 크게 다음과 같은 2가지 종류로 나뉜다.공유 Lock (Shared Lock, Read Lock, S-Lock)배타 Lock
MySQL에서 클러스터 환경은 데이터 가용성(HA)와 확장성을 위해 구성일반적으로 MySQL 클러스터는 리더(마스터)와 레플리카(슬레이브)로 나뉘며, 다음 두 가지 주요 유형으로 구분리더(Primary)데이터 변경(INSERT, UPDATE, DELETE)이 발생하는

Master-Slave 구조Master 노드는 데이터베이스의 쓰기 작업을 처리Slave 노드는 Master에서 복제된 데이터를 기반으로 읽기 작업을 수행하며, 읽기 부하 분산을 수행Master-Slave 복제는 binlog(바이너리 로그)를 통해 이루어진다.데이터 복제

트랜잭션의 격리 수준(Isolation Level)이란 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것이다. 트랜잭션의 격리 수준은 격리(고립) 수준이 높은 순서대로 SERIAL
binlog를 기반으로 한 CDC는 복잡한 구성(Debezium, Kafka, DMS 등)이 필요하며,별도 인프라 필요반면 modified_at 기반 CDC는 단순한 SQL 쿼리만으로 변경 데이터 추출 가능Aurora는 binlog 보존 기간이 짧아, 실시간 혹은 자주
과거의 데이터베이스는 동시성을 제어하기 위해 강력한 락(Lock)을 사용했습니다."누가 데이터를 읽고 있으면, 수정하지 마!" (Shared Lock)"누가 데이터를 수정하고 있으면, 읽지도 마!" (Exclusive Lock)하지만 이렇게 하면 대기 시간이 길어져 성
DMS는 MySQL 입장에서 보면 "가짜 슬레이브(Replica)" 역할을 합니다. DMS가 데이터를 긁어오다가 네트워크가 끊기거나, DMS 태스크가 재시작될 때 "나 어디까지 읽었지?"를 기억해야 하는데, 이때 GTID가 결정적인 역할을 합니다.Aurora는 리더가