본문 바로가기

강의 목록342

xtrabackup 복구후 log sequence ....in the future 에러 발생 드문 경우이기는 하지만, xtraBackup로 백업한 백업본을 복구하고 나서 다시 띄울때 다음과 같은 에러가 발생하는 경우가 있다. [ERROR] InnoDB: Page [page id: space=516, page number=168] log sequence number 307517027854 is in the future! Current system log sequence number 88956197997. 이런 에러가 error log 파일에 계속 발생하는건 현재 InnoDB가 가지고 있는 log sequence 값과 InnoDB 페이지의 header에 저장된 log sequence값이 논리적으로 맞지 않기 때문에 발생하는 문제이다. 즉, InnoDB가 관리하는 max Log Sequence값보다 .. 2019. 6. 6.
17. MVCC MVCC 는 MultiVersion Concurrency Control의 약자로 DBMS에서 Lock을 사용하지 않고, 데이터의 읽기 일관성을 보장해주는 내부 기법이다. DB는 Lock을 기본으로 하여 데이터 파일에 작성된 데이터의 일관성을 보장하는 것을 기본으로 하지만, 이것은 쓰기가 발생하는 경우에는 대기에 빠지게 하기 때문에, 쓰기가 많이 발생하는 서버에서의 동시성을 크게 떨어뜨린다. 이러한 문제를 해결하기 위해 David P. Reed 는 특정 논문을 통해 새로운 아이디어를 제안했는데, 그것이 바로 MVCC의 기본이 된다. 즉, 객체의 변경사항을 모두 버젼을 나누어 저장하고, 데이터 객체는 이 버젼을 모두 연속체로서 정의하여 관리하게 하여 락을 사용하지 않고 일관된 읽기를 보장해 주는 아이디어를 .. 2019. 5. 24.
16. Isolation Level에 따른 트랜잭션 처리 방법 트랜잭션을 지원하는 DBMS는 Isolation Level에 따라 트랜잭션을 실행할 수 있게 처리한다. 다음은 RDBMS가 지원하는 트랜잭션의 Isolation Level과 그 특징을 설명한 것이다. Isolation Level 설명 Dirty Read Non-Repeatable Read Phantom Read 고립성(안정성) 동시성 Read Uncommitted 커밋되지 않은 데이터도 읽을 수 있다. O O O 낮다 높다 Read Committed 커밋된 정보만 읽는다. X O O 중간 중간 Repeatable Read 하나의 트랜잭션에서는 하나의 스냅샷만 사용한다. X X O 중간 중간 Serializable Read 시에 DML 작업이 동시에 진행될 수 없다. X X X 높다 낮다 Serializa.. 2019. 5. 23.
CHECK Constraint 기능 추가 문법으로만 있고, 동작 기능은 전혀 없던 CHECK Constraint가 이번에 MySQL Ver. 8.0.16 부터 사용할 수 있게 되었습니다. 사실 잘 안쓰는 기능이라 문법만 있고, 동작 안한다는 사실도 몰랐습니다. 어쨌든 필요할때 쓰면 좋은 거니...좋은걸로~ https://mysqlserverteam.com/mysql-8-0-16-introducing-check-constraint/ MySQL 8.0.16 Introducing CHECK constraint MySQL 8.0.16 introduces the SQL CHECK constraint feature. This is one of the most requested and long awaited features for MySQL. This po.. 2019. 5. 14.