DBMS (MySQL)에서 "트랜잭션 저널링"을 사용해야하는 프로젝트를 진행 중입니다. 우리는 이미 다른 요구 사항을 위해 트랜잭션을 사용하기 위해 InnoDB를 사용하도록 전환했다. 거래 일지가 무엇인지 이해하려고합니다. 나는 MySQL 문서를 읽는 것을 포함하여 하루 이상을 찾고있다. 어쩌면 나는 적절한 키워드를 검색하지 않고 있을지 모르겠습니다. 아니면 "거래 일지"가 부적절한 용어 일 수도 있습니다.MySQL 트랜잭션 저널
데이터베이스 트랜잭션 저널링은 파일 시스템에 커밋되기 전에 저널을 변경한다는 점에서 저널링 파일 시스템과 유사합니다. 필자가 읽은 바에 따르면 InnoDB 엔진은 디스크에 커밋되기 전에 일종의 저널에 트랜잭션을 저장하는 것처럼 들립니다. 이 소리가 정확합니까? 그렇다면 거래 일지는 어디에 있습니까? ib_logfile0과 ib_logfile1입니까?
이 로그 파일은 응급 복구를위한 것이지만 충돌이 발생하지 않을 때 "트랜잭션"이 올바르게 수행되도록하는 MVCC 메커니즘이 아닌 것으로 알고 있습니다. MyISAM은 트랜잭션이 전혀없는 동안 어느 정도의 크래시 복구를합니다. – karatedog
상세하고시기 적절한 답변을 주셔서 감사합니다. 로그에서 항목을 재생하는 것에 대해 약간 혼란 스럽습니다.트랜잭션 중간에 오류가 발생하면 커밋이 이루어지기 전에 트랜잭션이 모두 또는 전혀 수행되지 않으므로 항목을 재생하고 싶지 않을 것입니다 (트랜잭션의 일부가 저지른). 또는 트랜잭션이 데이터베이스에 커밋되기 전에 실패가 발생했으나 로그 파일에 저장 된 후에 커밋이 발생했을 때만 재생할 것이라고 말하고 있습니까? – alfredough