일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애플 디벨로퍼 아카데미 21주차 회고
- 숭실대
- 데이터베이스
- ObservableObject
- apple developer academy 후기
- swift문법
- SWIFT
- 앱 비교 프로젝트
- ObservedObject
- 애플 디벨로퍼 아카데미 후기
- useReducer
- OS
- 애플 디벨로퍼 아카데미
- StateObject
- sqoop
- 소프트웨어분석및설계
- Swift 문법
- react
- global soop
- iOS 개발 오류
- Swift 디자인패턴
- Apple Developer Academy @ POSTECH
- 제앱소
- 치지직
- 네이버 치지직
- 운영체제
- 애플 아카데미 후기
- 데이터베이스 공부
- Swift 기능
- 네이버 부스트캠프
- Today
- Total
목록대학 전공 공부/데이터베이스2 (8)
사과하는 제라스
색인이란...? : 데이터에 접근을 할 때 속도를 높이기 위한 도구. ex.책 뒤의 pg에 대한 태그 - : index 레코드 -> 이게 모이면 index 화일. - 인덱스의 2종류: 1. Ordered index : search-key가 정렬되어 있는 index. 2. Hash index : search-key가 정렬되어 있지 않고 hash 함수를 통해 구분하는 index. 색인의 평가요소 5가지 1. 접근 타입 지원 : Exact match query(속성의 특정 값과 일치하는 터플을 검색하는 일치 질의 형태) VS. Range query(속성이 일정 범위에 속하는 터플을 검색하는 범위 질의 형태) 2. 접근 시간 3. 삽입 시간 4. 삭제 시간 5. 공간 오버헤드 Ordered Index(정렬 색인..
2.1. 반대로 생성할 수 없다고 가정하자. T0->Tm->...Tn->T0로 사이클이 존재한다고 가정하자. 일단 2PL의 정의에 의해 Ti
3.1. undo-list에 있는 '트랜잭션에 대한 로그 레코드'는 왜 backward로 실행되고 redo-list는 forward로 실행되나? 데이터가 1->2, 2->3으로 총 2번 변경되었다고 가정하자. 이때, undo를 정방향으로 하면... 2->1 , 3->2를 진행하여 결국 1이 아닌 2라는 잘못된 값이 나온다. redo도 마찬가지로 역방향으로 하면... 2->3, 1->2를 진행하여 3이 아닌 2라는 잘못된 값이 나온다. 그래서 복구 시 undo는 역방향으로, redo는 정방향으로 진행한다. 3.2. (a) 모든 저장 기기는 HW로 만들어져 있고 이 HW는 전자, 전기적 장치 장애에 취약하기에 stable storage는 실현될 수 없다. (b) DB 시스템은 데이터를 여러 저장소에 동시에 ..
1장 1.1. ACID란? Atomicity(원자성)는 all or nothing으로 트랜잭션을 구성하는 모든 연산이 수행되거나 어느 연산도 수행이 되지 않는 것. Consistency(일치성)는 트랜잭션의 시작과 끝에서 DB의 상태와 제약사항이 같아야 하는 것. Isolation(고립성)은 여러 트랜잭션이 동시 수행 중에 있어도 각 트랜잭션들은 다른 것들과 분리되어 서로의 상태를 알 수 없는 상태로 실행되어야 하는 것. Durability(지속성)은 commit된 트랜잭션의 결과는 시스템 장애가 발생하여도 DB 상태에 반영되어야 하는 것. 1.2. UNIX 파일 시스템 관련한 문제 a. 파일의 생성 및 삭제, (파일에 데이터를 쓰는) 과정 step1. 파일 시스템에서는 파일 생성 시 파일에 저장소가 할..
DBMS는 데이터를 저장 및 관리를 하기에 이를 저장해둘 데이터 저장 장치에 대한 지식을 갖춰야 함. 4.1. 물리적 저장 매체 - 물리적 저장 매체는 1) 데이터 접근 속도, 2) 데이터 저장 비용, 3) 신뢰성 4)휘발성(volatile) 여부 등으로 분류함. 캐시 메모리 VS 메인 메모리 캐시 메모리 - 가장 빠른 형태의 메모리이고 가장 비쌈. - CPU 안에 위치함. - volatile 메인 메모리 - volatile - 전체의 DB를 저장하기엔 아직도 비싸기에 용량이 작고 모든 DB가 올라가지는 않음. - 데이터 접근 속도는 나노초 단위이고 10-100 나노초 정도의 빠른 속도로 접근함. 플래시 메모리 - non-volatile - Read하는 건 메인 메모리만큼 속도가 빠르지만, Write하는..
3.1. 장애 및 복구 DBMS가 처리하는 장애는 3가지가 있음. 1) Transaction Failure : 트랜잭션 자체의 내부 논리 오류, 사용자의 명시적인 요구, 시스템 내부 결정에 의하여 발생 가능. ex) deadlock -> victim이 abort됨. 2) System Failure(=Crash) : 휘발성 기억 장치인 메인 메모리에 문제가 발생하여 내용이 사라지는 것. ex) 정전, OS 오류, HW 결함 3) Disk Failure : HW 및 SW 결함으로 인해 디스크 내용이 사라지는 현상. 장애는 언제 어디서든 다양한 형태로 발생할 수 있기에 시스템은 트랜잭션의 ACID성질 지원을 위해 복구 기법이 필요함. Recovery Algorithms : 복구 알고리즘은 DB의 일치성(C)과..
현재까지 나와있는 동시성 제어 방법 중 Locking이 가장 효율적인 방법이기에 현재 가장 많은 DBMS에서 쓰인다. ∴ Locking 방법만 찾아볼 거임. 2.1. 록 기반 규약(Lock-based Protocols) Lock: 데이터 아이템에 대한 동시성 접근을 다루기 위한 메커니즘. Locking Protocol: 모든 트랜잭션이 Lock을 Requesting, releasing 을 할 때 따르는 규약들. -> 이 프로토콜을 씀으로서 가능한 스케쥴 세트를 제한함. 데이터 아이템은 두가지 방식으로 Lock 될 수 있음. 1) Exclusive mode(=Write Lock): 데이터 아이템은 Read/Write 가능(Write가 필수는 아님), 주로 lock-X instruction 사용, 다른 Lo..
1.1 트랜잭션 개념 트랜잭션(Transaction): 하나의 논리적 작업을 수행하는 DB 연산의 순서로, 여러개의 작업을 하나로 묶은 실행 유닛. 트랜잭션 관리 1) HW, SW, Transaction 등 다양한 시스템의 장애를 극복하는 회복 기능(Recoverability) 2) 다수개의 트랜잭션을 동시에 수행 시 발생하는 문제점을 해결하는 동시성 제어 기능(Concurrent Execution) -> 이 두가지 이슈의 관점에서 접근한다. 트랜잭션의 ACID 성질 Atomicity(원자성) : all-or-nothing으로, 트랜잭션을 구성하는 연산은 모두 수행되거나 어느 연산도 수행되지 않아야 한다.(연산의 일부만 수행되는 것은 불가능) 예시) 계좌이체를 할 때 1. A 계좌에서 10만원을 출금을 ..