일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AI
- dp
- 딥러닝
- 동적프로그래밍
- 프로그래밍
- kick start
- nlp
- 동적 프로그래밍
- 운영체제
- 킥스타트
- 브루트포스
- 알고리즘
- PYTHON
- 코딩
- 그래프
- DFS
- google coding competition
- BFS
- 코딩 테스트
- 순열
- 코딩테스트
- 파이썬
- 네트워크
- 프로그래머스
- 백준
- OS
- 리눅스
- 구글 킥스타트
- linux
- CSS
- Today
- Total
목록CS 기초/DB (13)
오뚝이개발자
Recovery system이란? 트랜잭션 failure나 system crash 또는 disk failure 같은 것들이 실행 도중 일어났을 때 데이터 무결성을 보장하기 위한 일종의 복구 체계 Log-Based Recovery Log record 분석에 기반한 recovery mechanism. Immediate DB Modification 트랜잭션이 commit되기 전에 buffer나 disk로의 update를 허용하는 것 Recovery from failure Undo : write old value V1 to X -> going backwards log에 이나 가 없는 경우 Redo : write new value V2 to X -> going forward log에 이나 가 있는 경우 Check..
Lock이란? Data item에 대한 concurrent access를 control하기 위한 메커니즘 다음의 두 가지 모드가 있다. exclusive mode : r/w 모두 가능. lock-X 명령어로 사용 shared mode : r만 가능. lock-S 명령어로 사용 Lock based protocol 기본 다음과 같은 lock-compatibility가 있다. 쉽게 말해, 모든 트랜잭션은 shared lock을 hold할 수 있다. 다만, 어떤 트랜잭션이 exclusive lock을 갖고 있다면 그 어떤 트랜잭션도 어느 lock이든 hold하지 못한다. 아래는 lock based protocol을 사용하는 스케쥴의 예시이다. 좀 더 나아가서, 아래 예시를 보면 conflict, view ser..
트랜잭션이란? unit of program execution that accesses and possibly updates various data items 트랜잭션에 관한 중요한 이슈 2가지 HW나 SW failures에 대한 대응 multiple transation들의 concurrent execution 문제 DB 시스템이 data integrity를 보장하기 위해 트랜잭션이 갖추어야 할 조건 4가지(ACID) Atomicity : 한 트랙잭션 내의 모든 operation들의 결과는 모두 반영되거나 모두 반영되지 않거나 둘 중 하나(system failure 등으로 인한 partial execution은 반영되면 X) Consistency : 트랜잭션이 성공적으로 완료되면 DB 데이터의 일관성이 유..
DB에서 Indexing 왜 쓰는가? data access를 효율적으로 하기 위해(searching) 좀 더 구체적으로 설명하자면, index file을 위한 저장공간은 record file에 비해 비교적 작다. 비록 어떤 relation을 저장하는 데이터가 10개의 block에 걸쳐 저장되어 있다해도 index file은 1개 정도의 block에 저장 가능하다. 만약 이 같은 index를 이용하지 않으면 검색을 위해 10개의 block을 모두 찾아보아야 한다. Search key란? file내의 record를 찾기 위한 set of attribute index file은 search key와 pointer로 구성됨 Index를 크게 두 가지로 분류하면? Ordered index : index entry..
Hash file organization record를 위치시킬 bucket을 hash function을 통해 구한다. hash function : search key value(K)를 bucket address(B)로 매칭시켜주는 함수(h : K->B) 이상적인 hash function 서로 다른 search key value가 같은 bucket에 mapping될 수 있다. 하지만 이러한 collision이 많아지면 성능 저하로 이어진다. 이상적인 해시 함수의 조건은 다음과 같다. uniform - 모든 bucket에 uniform하게 record를 분포시키는 것(uniform distribution) random - 실제 file의 search key value의 분포에 무관하게 모든 bucket에 ..
휘발성에 따른 physical storage의 분류 volatile storage : power를 off하면 contents(data)를 잃는 것 non-volatile storage : power를 off해도 contents(data)가 남아있는 것(ex. secondary storage) Storage Hierarchy Magnetic disk sector track은 여러개의 sector로 구성된다. sector는 read/write가 이루어지는 최소 데이터의 단위 Hard disk에서 Main memory로 데이터를 가져오는 시간 Access time + Data transfer rate access time = seek time(해당 데이터가 있는 track을 찾는 시간) + rotational..
Decomposition relation에서 특정 속성의 값이 반복적으로 나타나는 경우(data redundancy) 해당 relation을 더 작은 schema로 쪼개는 것 Lossy decomposition 나뉘어진 2개의 relation을 하나로 합칠 때 원래의 테이블에서 데이터 손실이 발생하는 것 주로, 나뉘어진 relation에서 functional dependency가 없기 때문에 발생 First Normal Form 모든 attribute의 domain이 atomic하다면 relational schema R은 First Normal Form에 있다고 할 수 있다. Non-atomic value는 왜 안 좋은가? atomic하지 않기 때문에 data redundancy를 만들어낸다. 어찌보면 ..
ER 모델에서 Entity, Relationship이란? DB는 다음의 두가지로 구성될 수 있다. collection of entities relationship among entities ER 모델을 사용하면 "관계성"에 기반한 구조화로 인해 high-level 단계에서 좀 더 visualize하게 나타낼 수 있다. Entity : DB에 존재하며 다른 것들과 구별되는 object(쉽게 tuple(row)로 생각하면 된다.), entity는 attribute를 갖는다. 예컨대, people는 name와 address를 갖는다. EX) instructor=(ID, name, street, city, salary) Entity set : set of entity(table과 비슷하다 보면 된다.) Rela..