전체 글
-
[DB] Serializablilty데이터베이스 2021. 4. 24. 16:03
Serializability 여러 트랜잭션을 병렬로 동시에 처리하면서도 순차적으로 수행한것과 같은 결과를 냄 Correct 조건 Conflict serializable View serializable Nonserializable Execution 의 조건 Dirty read Lost update Unrepeatable read Schedule 어떤 스케쥴이 correct 하면 이는 serializable 함 여러 트랜잭션들을 동시에 수행하기 위해서는 그 순서를 스케쥴링해야하는데 스케쥴은 다음 조건을 만족 스케쥴은 트랜잭션의 모든 연산들을 포함하고 있어야함 스케쥴의 연산 순서는 트랜잭션 내에서의 연산 순서와 동일해야함 스케쥴 내 트랜잭션이 성공적으로 마무리되면 commit statement를, 실패했다면 ..
-
[DB] 트랜잭션데이터베이스 2021. 4. 24. 14:35
트랜잭션 트랜잭션은 데이터베이스가 데이터를 읽거나 쓰는 최소 단위 트랜잭션 관리의 주요 이슈 하드웨어 / 소프트웨어 / 트랜잭션 실패 여러 트랜잭션을 동시에 실행 할 수 있는 동시성 향상 ACID 트랜잭션은 ACID 를 지녀야한다. Atomicity - 원자성 : All or not. 즉 하나의 트랜잭션 내부의 연산들은 모두 성공하거나 모두 실패해야함 Consistency - 일관성 : 명시적 / 묵시적 integrity consistency 를 모두 만족시켜야함 명시적 consistency : PK(Primary Key), FK(Foreign Key), UK(Unique Key) 등 명시적으로 정의된 규칙 묵시적 consistency : 데이터의 흐름상 자연스럽게 형성되는 규칙. 예) A -> B 송금..
-
[DB] ER 다이어그램 / Ternary relationship데이터베이스 2020. 12. 15. 22:34
Ternary Relationship Ternary relationship 에는 화살표가 두 개 이상 존재할 수 없음 화살표가 2개 이상인 경우에는 두 가지 이상의 해석이 생길 수 있기 때문임 여러 해석이 가능 A와 B가 1:1 맵핑되고, 그것과 C가 Many 의 관계를 가지는 경우 A 혹은 B가 C와 1:N 관계로 맵핑되고, 나머지 하나가 1:1 로 다시 맵핑되는 경우 따라서 이런 혼란을 피하기 위해 화살표는 하나로 제한됨
-
[OS] NVM / RAID 구조운영체제 2020. 12. 12. 17:34
디스크 고장 Disk write 도중에 전원이 나가면 consistency 가 깨짐. 버퍼는 휘발성이라 cpu는 버퍼에 쓴 순간 디스크에 썼다고 생각하지만 고장으로 인해 디스크에 써지지 못한 상황 → 비휘발성 버퍼(journaling file system)을 추가 NVM (Nonvolatile Memory Device) SSD 나 USB 드라이브가 NVM 의 일환이며 seek time 이 일정하기에 FCFS 스케쥴링을 사용함 Merging 기법 : 요청 중 비슷한 공간에 있는 애들을 합쳐서 한 번에 요청 NAND 반도체 특성 상 Write 할 때마다 기능이 열화되므로 wear leveling 기법이 사용됨 DWPD(Drive Writes Per Day) : 제품에 명시된 보증기간을 사용하기 위한 하루 권..
-
[OS] 디스크 스케쥴링운영체제 2020. 12. 12. 17:32
디스크 스케쥴링 사용자는 버퍼에 write 를 한 뒤 disk 에 write 했다고 생각한 뒤 작업을 이어감 → 버퍼 → 디스크 큐 → 디스크 디스크 큐에 쌓인 데이터를 어떤 순서로 디스크에 write 할지를 결정하는 것이 디스크 스케쥴링 디스크 스케쥴링을 하는 이유는 seek time 을 줄이기 위해서 → SSD 는 seek time 이 일정해서 스케쥴링이 의미가 없음 FCFS(First Come First Serve) 스케쥴링 디스크 요청이 오는 순서대로 그대로 접근하는 방법 SSTF(Shortes Seek Time First) 스케쥴링 가장 가까운 애 순서대로 스케쥴링하는 방법 CPU 스케쥴링 기법 중 SJF 와 비슷하지만 다른 점은 SJF 는 프로세스의 수행 시간을 예측해야했지만 SSTF 는 이미..
-
[OS] Mass Storage (HDD, SSD)운영체제 2020. 12. 12. 17:32
Mass Storage (HDD, SSD) 마그네틱 디스크(hdd) 는 데이터를 읽고 쓸 때 걸리는 시간들이 있음 Transfer time : 데이터를 읽기 시작하여 끝까지 다 읽어들이는 데까지 걸린 시간 (읽어야하는 데이터 총 크기에 비례) Positionting time(Random-access time) = Seek time + Rotation time Seek time : 디스크 헤더가 데이터가 위치한 트랙으로 이동하기까지 걸리는 시간 Rotation time : 헤더를 데이터가 위치한 섹터로 위치시키기 위해 Platter 가 회전하는 시간 따라서 총 데이터 접근 시간 = Seek time + Rotation time + Transfer time = Positioning time + Transfe..