Skip to content

Commit

Permalink
개행
Browse files Browse the repository at this point in the history
  • Loading branch information
cheese10yun committed Jul 29, 2020
1 parent 66c7173 commit 3743495
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions Database/Mysql_5.7_완벽_분석.md
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,7 @@ InnoDB에서는 REPEATABL-READ 격리 레벨을 실현하기 위해 MVCC 시스
그래서 **등장한 것이 과거 버전의 데이터를 보여줌으로써 트랜잭션에 일관된 데이터를 참조할 수 있게 하는 MVCC다. 어떤 행이 변경된 경우, 이미 실행하고 있는 트랜잭션이 그 행 데이터를 참조하려면 최신 데이터가 아닌 변경 전의 데이터를 참조하게 하는 것이다. 그렇게 과거 버전의 데이터를 참조하게 하면 트랜잭션 시작 시의 데이터를 일관되게 제공할 수 있다. 이렇게 참조하면 행에 잠금을 걸 필요가 없어지므로 병렬 처리가 개선된다.**

![](../assets/mvcc-flow.png)

행 데이터가 변경되면 일단 그 데이터를 UNDO 로그 영역으로 보낸다(똑같이 복사해둔다.) 이렇게 보낸 행 데이터를 UNDO 레코드라고 부른다. 각가의 행에는 롤백 포인터라는 숨어 잇는 데이터 영역이 있어 보내진 UNDO 레코드를 알려주게 되어 있다. 게다가 가틍ㄴ 행이 변경되면 다시 행 데이터가 UNDO 로그로 보내지지만, 이렇게 보내진 행은 한 번 더 오래된 버전의 UNDO 레코드의 롤백 포인터를 가지고 있기 때문에 롤백 포인터를 순서대로 타고 가면서 과거의 버전으로 거슬러 올라가는 구조이다.

**InnoDB에서 REPEATABLE-READ와 READ-COMMITTED로 MVCC가 이뤄진다. READ-UNCOMMITTED와, SERIALIZABLE은 UNDO 로그를 참조 하지 않는다. READ-UNCOMMITTED는 Duty Read 상태가 되어도 최신 데이터를 읽으며, SERIALIZABLE은 전체 행 접근으로 Lock을 걸기 때문에 최신 데이터만 참조한다.**
Expand Down
2 changes: 1 addition & 1 deletion network/그림으로배우는_네트워크_원리.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,4 +390,4 @@ DNS를 이용하면 DNS 서버가 필요합니다. DNS 서버에 미리 호스

DHCP를 이용하면 미리 DHCP 서버를 준비하고, 할당 IP 주소 등 TCP/IP설정을 등록해 줍니다. 그리고 PC 등에서 DHCP 클라이언트라 되도록 설정합니다.

DHCP의 통신은 브로드캐스트를 이용합니다. 애초에 DHCP 클리언트는 자신의 IP 주소는 무론이고 DHCP 서버의 IP 주소조차 알 수 없습니다. 주소를 몰라도 일단 뭔가 데이터를 보내고 싶을 때는 브로도캐스를 이용합니다.
DHCP의 통신은 브로드캐스트를 이용합니다. 애초에 DHCP 클리언트는 자신의 IP 주소는 무론이고 DHCP 서버의 IP 주소조차 알 수 없습니다. 주소를 몰라도 일단 뭔가 데이터를 보내고 싶을 때는 브로도캐스를 이용합니다.

0 comments on commit 3743495

Please sign in to comment.