본문 바로가기

아키텍쳐34

Table Full Scan과 LRU 알고리즘 Table Full Scan을 하면 LRU 알고리즘에서 LRU end(Least Recently Used)에 블록이 위치하게 되어서 사용률이 떨어진다는 이야기를 들었습니다. 정확한 이야기가 맞는지 궁금해서 확인해보고 정리해보았습니다. 먼저, Table Full Scan이란? 테이블의 블록을 탐색할 때 Index를 사용하지 않고 테이블 전체를 읽는 것을 말합니다. 실행계획상에서도 Table Full Scan이라고 보여집니다. LRU 알고리즘이란? 버퍼 캐시에 적용된 방식으로 자주사용되는 것은 계속 버퍼상에 위치해있고, 자주 사용하지 않는 것은 LRU 체인에서 점점 LRU end쪽으로 밀려가다가 새로운 블록이 들어와서 자리가 없을 때 LRU end끝에 있는 블록부터 밀어내는 알고리즘입니다. 개념은 위에 정의.. 2022. 5. 18.
Oracle 21c 아키텍쳐 Oracle 사이트에서 찾은 db-21c 아키텍쳐 자료입니다. 기본적인 아키텍쳐는 버전이 다르다고 해서 크게 바뀌지 않으므로 오라클의 기본 아키텍쳐를 공부하거나 확인하고 싶으시면 해당 자료를 확인하면 좋을 것같습니다. 출처 : Oracle.com 2021. 1. 22.
InnoDB Undo Log Undo log는 단일 트랜잭션과 관련된 Undo log 레코드의 집합입니다. undo log 레코드에는 클러스터드 인덱스 레코드의 트랜잭션에 의한 제일 최근의 변경사항의 변경 전 데이터에 대한 정보를 포함하고 있습니다. 만약 다른 트랜잭션이 변경 전 데이터를 읽기를 원한다면 undo log 레코드에서 변경 전 데이터를 읽습니다. 롤백 세그먼트내에 포함된 undo log 세그먼트 내에 undo log가 존재합니다. 롤백 세그먼트는 undo 테이블스페이스와 global temporary 테이블스페이스 내에 있습니다. global temporary 테이블스페이스 내에 있는 undo log는 사용자 정의 임시 테이블의 데이터를 수정하는 트랜잭션에 사용됩니다. 이러한 unodo log는 crash recover.. 2021. 1. 16.
InnoDB Redo Log ▶Redo Log? 리두 로그는 crash recovery 중 불완전한 트랜잭션에 의해 변경된 데이터를 수정하기 위해 사용되는디스크 기반 데이터 구조입니다. default로 리두 로그는 ib_logfile0,ib_logfile1로 이름된 두개의 파일이 물리적으로 존재합니다. $ ls -alh ib_logfile* -rw-r-----. 1 mysql mysql 48M Jan 12 02:49 ib_logfile0 -rw-r-----. 1 mysql mysql 48M Dec 14 02:19 ib_logfile1 MySQL은 순환방식으로 리두 로그 파일을 씁니다. 리두 로그는 계속 증가하는 LSN값으로 표시됩니다.(순환로그이기 때문에 다시 순환될때 데이터가 덮어쓰여져 기존에 데이터가 없어지게 됩니다.) - Re.. 2021. 1. 15.