일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux
- 프로그래밍
- CSS
- 구글 킥스타트
- 리눅스
- google coding competition
- AI
- PYTHON
- OS
- 코딩 테스트
- 그래프
- 네트워크
- 알고리즘
- 순열
- 코딩테스트
- 프로그래머스
- 브루트포스
- 킥스타트
- 백준
- 파이썬
- 동적 프로그래밍
- DFS
- 동적프로그래밍
- kick start
- 코딩
- 운영체제
- BFS
- dp
- 딥러닝
- nlp
- Today
- Total
목록2020/11 (34)
오뚝이개발자
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..
JDBC, ODBC란? 프로그램(Application Program)이 DB 서버와 interact하기 위한 API() 사용하면 다음과 같은 작업을 할 수 있다. DB서버에 Connect DB서버에 SQL command 요청 특정 tuple 가져오기 ODBC(Open Database Connectivity) - works with C, C++, C# and Visual Basic JDBC(Java Database Connectivity) - works with Java Trigger란? DB modification의 side-effect로 system에 의해 자동으로 실행되는 statement trigger가 실행되는 condition과 실행될 때 할 action을 정해줘야 함 사용예시) section에..