컴퓨터공학/데이터베이스(database)45 [Storage Device] Magnetic hard disk hard disk의 구조를 살펴보자. 데이터를 저장할 수 있는 자기적인 성질을 가진 것을 플래터라 한다. 플래터는 여러개의 트랙으로 나누고 트랙은 여러 개의 섹터로 나눈다. 실린더는 논리적인 개념인데 원통 모양이다. read/write head를 통해 read/write를 한다. head를 사용자가 원하는 위치에 찾아가기 위해서는 플래터를 회전시키고 arm을 움직여서 트랙을 맞춘다. 같은 수직에 위치한 트랙은 같은 실린더에 포함된다. disk controller hard disk와 cpu 를 연결하는 역할을 한다. disk controller = microprocessor + buffer memory + cache process os disk controller buffer disk disk contro.. 2020. 6. 5. [Storage Device]physical storage media 물리적인 저장 매체에 대해서 살펴보자. 관점에 따라 다음과 같다. speed cost reliability : volatile / non-volatile volatile storage 1. cache in cpu 2. main memory flash memory non-volatile read fast write slow erase very slow hard disk는 overwrite가 가능한 반면 flash는 불가능. flash는 erase하고 써야하는데 비용이 비싸서 out-of place를 한다. hard disk는 read, write 비용이 비슷함. 따라서, flash memory는 이런 특징에 맞게 최적화 되어 있다. write 단위는 page, erase 단위는 block block = m.. 2020. 6. 5. [Recovery]ARIES algorithm ARIES는 log-based recovery와 유사한 점이 많은 알고리즘이다. log-based algorithm을 리뷰해보자 우선 redo phase에서는 redo 작업과 undo-list를 만드는 작업을 하는 것이다. redo는 failure전에 했던 작업들을 다시 하는 것이다. 즉, repeating history라고도 한다. undo phase에서는 최대 checkpoint 까지 가면서 undo 작업을 한다. ARIES algorithm을 요약해보면 다음과 같다. checkpoint 당시에 dirty block table만을 stable storage에 저장한다. 그리고 버퍼의 update data block이나 log block을 그대로 둔다. 백그라운드에서 이 저장 작업을 한다. 이처럼 빠르.. 2020. 6. 5. [Recovery] Failure of Nonvolatile Storage disk는 stable storage인 log db와 non-stable storage 인 db 로 구분된다. memory = buffer disk = log용(stable) db용(non-stable) db 백업용(stable) stable storage를 추가적으로 두고 db disk 복사본을 저장해둔다. 덤프를 위해 트랜잭션을 중지하고 버퍼를 로그용 디스크와 db용 디스크에 업데이트 한다. db용 디스크의 카피를 추가한 stable storage에 저장한다. 이 때 stable storage에 표시를 남겨둔다. 이 작업을 dump라고 한다. dump한 것을 가지고 복구하게 되면 failure에 대해서도 consistency를 유지할 수 있게 된다. 2020. 6. 4. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음