Database - Checkpoint
Recovery - Checkpoint 1. 개요 전체 WAL에 대해서 복구를 시도하면 너무나 양이 많기 때문에 체크포인트를 찍어서 이후부터 작업할 수 있게 한다고 했다. 그리고 이 체크포인트를 만들기 위해서는 여러가지 방법이 있다. 2. Non-Fuzzy checkpoints 앞서 Loggin에서 설명했던 체크 포인트 방식이다. 새로운 ...
Recovery - Checkpoint 1. 개요 전체 WAL에 대해서 복구를 시도하면 너무나 양이 많기 때문에 체크포인트를 찍어서 이후부터 작업할 수 있게 한다고 했다. 그리고 이 체크포인트를 만들기 위해서는 여러가지 방법이 있다. 2. Non-Fuzzy checkpoints 앞서 Loggin에서 설명했던 체크 포인트 방식이다. 새로운 ...
Recovery - ARIES 1. 개요 ARIES(Algorithms for Recovery and Isolation Exploiting Semantics)는 DB 복구를 위해 나온 알고리즘이다. 모든 시스템이 이 논문에서 정의한 대로 ARIES를 정확히 구현하는 것은 아니지만 대부분 비슷하게 구현되어있으며 이를 알게 되면 복구에 대해서 이해할 ...
Logging 1. 개요 DB에 어떤 값을 썼을 때 해당 값의 영속성이 보장되어야하는데 컴퓨터 시스템이라는게 여러가지 이유로 FAIL이 날 수 있다. 이 FAIL을 Crash라고 하고 Crash로 인해 일관성이 깨진 데이터를 복구 시키는걸 Recovery라고 한다. (사실 그냥 영어로 바꾼거긴하지만) 이 Recovery를 위한 알고리즘은 장애 발생...
Marching Cube 알고리즘 1. 개요 CT/MRI 스캔이나 부호 거리장 데이터와 같은 3차원 스칼라장에서 등위면의 다각형 메시(일반적으로 삼각형 메시)를 추출하는 데 사용되는 컴퓨터 그래픽 알고리즘이다. 2. 기본적인 아이디어 격자 무늬 판이 있다고 해보자. 어떤 모양을 Slice 하면 단면이 나온다. 이를 격자에 대치시키면 아래와 같다....
MVCC(Multi-Version Concurrency Control) 1. 개요 2 Phase Locking이나 Optimistic Concurrency Control과 같이 동시성 제어 프로토콜은 아니다. 되려 이는 여러버전을 유지하기 위해 동시에 트랜잭션이 실행되는 시스템 설계법에 가깝다. 각 데이터 항목의 여러버전을 유지함으로써 여러 트랜잭션...
Timestamp ordering 1. 개요 Lock 없이 Timestamp만을 가지고 직렬화를 판단하는 방식을 말한다. 여기서 Timestamp는 system clock이 될수도, 논리적카운터가 될수도 혹은 그 외의 방식으로 구현된 시간 순에 따라 생성되는 고유한 값이다 2. Basic Timestamp Ordering 각 트랜잭션의 Times...
Locking 1. 개요 공유 자원의 접근 순서나 한번에 접근하는 수를 제한하기 위한 방법이다. 운영체제에서 멀티 스레드간 자원 동기화할때도 자주 쓰는 방법이기 때문에 새로울건 없다. 기본적인 Lock 타입은 총 두 가지이다. S-Lock : Shared lock의 줄임말로 읽을때 걸어두는 Lock이다. X-Lock : Exclusiv...
메모리 컨트롤러와 스케줄링 1. DRAM Controller 개요 DRAM Controller의 구조는 아래와 같다. DRAM Controller의 각각의 컴포넌트에 대한 설명은 아래에서 추가적으로 설명하기로 하고 크게보면 DRAM Controller는 아래와 같은 역할을 한다. 1) DRAM의 올바른 동작 보장 캐피시터 특성상 일정 시간이 지...
메모리 구조 어떤 종류의 컴퓨터이든 간에 컴퓨터는 어떤 정보를 연산 한 뒤에 저장할 공간이 필요하다. 이를 메모리라고 한다. 현대 컴퓨터에서 메모리라고하면 주 기억장치인 DRAM을 대부분 말한다. 이번 포스팅에서는 DRAM과 SRAM 약간에 대해서 알아보도록 하겠다. 1. 개요 흔히들 메모리라고하면 크게 종류가 두 개이다. 바로 DRAM과 SRAM...
저전력 컴퓨터 시스템 1. 개요 이 부분은 임베디드 시스템에 많이 사용되는 부분이다. 특히 모바일 기기의 경우 배터리 유지 시간이 매우 큰 이슈인데, 배터리 유지 시간을 늘리기 위해서는 배터리 자체 용량을 늘리는 것도 방법이 되겠지만 파워 사용량 자체를 줄이는게 더 낫다. 특히 파워를 줄이면 그에 따라 열 발산도 줄어들게 되고 여러모로 이득이 많다...