13회차 데이터베이스 | DB 트랜잭션, 트랜잭션 격리 수준 관련 질문 정리
24.02.16 (금) 질문 내용 정리 트랜잭션 개념과 특징에 대해서 설명하시오. 트랜잭션 병행 처리 했을 때 발생하는 문제와 방지하기 위한 방법에 대해 설명하시오. 갱신손실 → 락킹 제어기법을 사용 Non-Repeatable Read 는 발생하지 않지만, Phantom Read는 발생하는 경우는? 그리고 각각 설명하세요. Non-Repeatable Read : 트랜잭션 내에서 같은 쿼리를 두번 실행 했는데 내용이 다른거 Phantom Read : 같은 쿼리를 두 번 실행했는데 다른 트랜잭션의 삽입 삭제로 결과가 다르게 나타나는 현상 트랜잭션 동작과정(hdd, buffer) : 물리적인 메모리 상의 동작 과정을 설명하시오. 데드락에 대해 설명, 데드락을 해결하기 위한 방법 3가지(낙관적 동시성 제어)에 ..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 16.
13회차 데이터베이스 | DB 트랜잭션, 트랜잭션 격리수준 관련 내용 정리
DB 트랙잭션과 트랙잭션 특성 4가지, DB 트랜잭션 격리수준 DB 트랜잭션 | Transaction 1) 트랜잭션 개념 (1) 트랜잭션 DBMS에서 데이터 다루는 논리적 작업 단위 여러 쿼리를 논리적으로 하나의 작업으로 묶어주는 것 DB에서 데이터 다루다가 장애 일어난 경우 → 데이터 복구 작업의 단위 DB에서 여러 트랜잭션이 동시에 같은 데이터 다룰 경우 → 동시 접근 작업들 분리하는 단위 (2) 트랜잭션 제어어 | TCL (Transaction Control Language) start transation : 트랜잭션 시작 SET TRANSACTION NAME commit : 트랜잭션 종료 COMMIT rollback : 트랜잭션 무효화 ROLLBACK {TO } //트랜잭션 전체 or 까지 무효화..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 15.
12회차 데이터베이스 | DB 인덱스(B-Tree, B+Tree, 해쉬테이블), DB 튜닝, DB 다중화 질문 정리
24.02.13 (화) 질문 내용 공유 인덱스에 대해 설명해주세요 RDBMS 에서 Hashtable 이 아닌 B+Tree 를 사용하는 이유 클러스터드 인덱스와 넌클러스터드 인덱스 비교 인덱스를 사용했을 때 유리한 경우 리플리케이션과 클러스터링 비교 DB 튜닝이 무엇인지, 각 단계 설명 관련 질문 정리 ✅ 왜 보편적으로 레드 블랙 트리 대신 B-Tree 자료 구조를 DB 인덱스로 사용하는가? RedBlack-Tree는 무조건 하나의 노드에 하나의 데이터 요소만을 저장하므로 어떠한 요소를 탐색하든 참조 포인터 접근이 필수적이다. 반면, B-Tree는 하나의 노드에 여러 개의 데이터를 저장하므로 각 노드의 데이터 요소를 탐색할 때 참조 포인터 접근 없이 배열의 성질을 이용하여 빠르게 탐색이 가능하다. 결론적으..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 13.
12회차 데이터베이스 | DB 인덱스(B-Tree, B+Tree, 해쉬테이블), DB 튜닝, DB 다중화, 내용 정리
DB 인덱스 인덱스 거는이유 인덱스에 왜 해쉬 보다 B Tree를 쓰는지? DB 튜닝 DB 다중화 (클러스터링, 리플리케이션) DB 인덱스 ⬛ DB 인덱스 1) DB 인덱스 개념 원하는 데이터를 빨리 찾기 위해 튜플(행)의 키 값에 대한 물리적 위치 기록해둔 자료구조 주로 테이블의 컬럼을 인덱스로 설정한다. cf. 인덱스가 없는 경우, 테이블의 모든 행을 FUll-Scan하게 된다. (FTS) : Full Table Scan 특정 값 탐색을 위해 모든 데이터, 테이블을 순차 탐색하며 대상을 검색한다면 시간이 오래 걸린다. O(N) → DB 데이터 조회 성능 향상 → ‘인덱스’는 데이터와 데이터 위치를 포함한 자료구조를 생성하여 데이터 탐색 시 빠른 조회를 돕는다. 2) DB 인덱스 관리 (DB 인덱스 관..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 12.
11회차 데이터베이스 | 정규화와 역정규화 관련 질문 내용 정리
24.02.06 화 나온 질문 공유정규화 개념, 장단점 설명정규화 : 데이터 일관성, 데이터 중복 최소화를 위해 한 릴레이션이 하나의 의미만 갖도록 릴레이션을 분해하는 과정장점: 데이터베이스에 조작 시 이상현상 문제 해결단점: 릴레이션의 분해로 인해 릴레이션 간의 조인 연산 많아져 질의 응답 시간 느려질 수 있음이상현상 설명이상현상 : 데이터 중복으로 인한 부작용을 말하는데, SELECT시에는 문제가 없어도 데이터 조작 (삽입/삭제/수정) 시 문제가 발생하는 것을 의미한다.1) 삽입 이상 : 튜플 삽입 시 특정 속성에 NULL입력해야 하는 현상2) 삭제 이상 : 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄 삭제 현상3) 수정 이상 : 튜플 수정 시 중복된 데이터의 일부만 수정되어 데이터 일관성 훼손되는..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 7.
11회차 데이터베이스 | 정규화와 역정규화 관련 내용 정리
DB 정규화, 비정규화(역정규화) 01. 이상현상 | Anomaly 1. 이상현상의 개념 잘못 설계된 테이블에 데이터 질의 (SELECT) 할 때는 문제가 없는데, 그 외의 데이터 조작 (삽입, 삭제, 수정)을 하면 문제가 발생하는 것을 ‘이상 현상’이라고 말한다. 이상현상이란, 테이블에 튜플 1) 삽입 시 부득이하게 NULL값 입력되거나 2) 삭제 시 연쇄 삭제 현상 발생하거나 3) 수정 시 데이터 일관성 훼손되는 현상 삽입 이상 : 튜플 삽입 시 특정 속성에 해당하는 값이 없어서 NULL 입력해야 하는 현상 삭제 이상 : 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 수정 이상 : 튜플 수정 시 중복된 데이터의 일부만 수정되어 데이터 일관성 훼손되는 현상 2. 이상현상의 예시 한 ..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 5.
10회차 데이터베이스 | 데이터베이스 개요 및 쿼리 관련 질문 정리
24.02.02 (금) 나온 질문 내용 정리데이터베이스 무결성무결성 : 데이터베이스 안에서 유일성을 지키기 위해 할 조건조건개체 무결성 : 릴레이션 내 PK를 구성하는 속성은 NULL값과 중복값을 가질 수 없다.참조 무결성 : FK 값은 NULL이거나 참조테이블의 PK값이어야 한다. 키 무결성 : 한 릴레이션에 하나 이상의 키가 존재해야한다.도메인 무결성 : 속성의 값이 도메인에 속해야한다.RDBMS vs NoSQL 비교하시오.1) NoSQL : 스키마 X. 비정형 데이터. Scale out 가능 - 장점 : 스키마가 없이 Key-Value 형태로 데이터를 자유롭게 관리 O. scale-up + scale-out 가능 - 단점 : 데이터 중복 O. 중복된 데이터 변경 시 수정을 모든 컬렉션에 대해 수행...
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 2.
10회차 데이터베이스 | 데이터베이스 개요 및 쿼리 내용 정리
데이터 베이스 기본 개념 쿼리 데이터 베이스 기본 개념 1) 데이터베이스 (DB) 개념 일정한 규칙으로 구조화되어 저장된 데이터의 모음 [ 데이터베이스의 특징 ] (4) 1) 실시간 접근성 실시간 처리에 대한 응답 가능 2) 지속적인 변화 데이터베이스 상태가 동적이다.즉, 새 데이터 삽입/삭제/갱신 등 항상 최신의 데이터를 유지한다. 3) 동시 공유 다수의 사용자가 동시에 같은 내용의 데이터 이용 가능 4) 내용에 따른 참조 데이터베이스에 있는 데이터 참조 시 사용자가 요구하는 데이터 내용 기준 찾음 2) 데이터베이스의 종류 (1) 관계형 데이터베이스 | RDBMS : 모든 데이터를 2차원 테이블 형태 (행과 열)로 데이터 저장하는 데이터 베이스 : 테이블 형태로 데이터 관리 : SQL 언어 사용하여 데..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 2.