본문 바로가기

CS/DataBase7

[Database] MVCC 란? 0. 한 문단 요약1. MVCC(Multi-Version Concurrency Control)는 데이터베이스에서 동시성을 효율적으로 관리하고, 트랜잭션 격리 수준과 데이터 일관성을 보장하기 위한 기술2. 데이터를 여러 버전으로 저장하여 읽기 작업과 쓰기 작업이 동시에 수행가능3. 이를 통해 잠금 경합 문제를 줄이고, 성능과 데이터 일관성을 동시에 확보 1. 동시성 제어란?먼저 MVCC(다중 버전 동시성 제어)를 알기 위해선 "다중 버전"을 제외한 "동시성 제어"에 대해 명확히 알 필요가 있습니다. 동시성 제어 : 데이터베이스 관리 시스템(DBMS)에서 여러 사용자가 동시에 데이터에 접근하거나 트랜잭션을 수행할 때 발생할 수 있는 문제를 해결하고, 데이터의 일관성과 무결성을 유지하기 위한 기술입니다. 데이.. 2024. 11. 23.
[DB] 제 3 정규화 vs BCNF 제3 정규화 : 제2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것 즉, 기본키 이외의 다른 컬럼이 기본키 외 다른 컬럼을 결정할 수 없도록 하는 것 BCNF 정규화 : 제3 정규화(일반 칼럼이 다른 일반 칼럼에 영향을 주면 안된다)를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록(일반 칼럼이 기본키에 영향을 주면 안된다) 테이블을 분해하는 것 → 일반 칼럼이 어떠한 칼럼에도 영향을 주면 안된다(일반 칼럼이 결정자가 되면 안된다) 2023. 5. 29.
관계대수에서 assignment 과 rename의 차이? 관계대수에서 assignment 연산과 rename 연산은 모두 튜플 릴레이션에서 사용되는 연산자입니다. 그러나 그들 간에는 중요한 차이점이 있습니다. 할당 연산 (Assignment operation) : 이 연산자는 주어진 릴레이션을 새로운 이름으로 복사하는 것입니다. 이 새로운 이름은 다른 쿼리에서 참조될 수 있습니다. 이 연산자는 릴레이션에 대한 참조를 만듭니다. 이름 바꾸기 연산 (Rename operation) : 이 연산자는 릴레이션의 열 이름을 바꾸는 것입니다. 이 연산자는 특정 열 이름을 새로운 이름으로 대체합니다. 이 연산자는 릴레이션의 내용을 변경하지 않습니다. 따라서, 할당 연산은 릴레이션 자체를 새로운 이름으로 복사하여 새로운 릴레이션을 생성하고, 이름 바꾸기 연산은 릴레이션의 열.. 2023. 3. 14.
SQL 함수 1. 목적 데이터 값을 계산하거나 조작 (단일 행 함수) 행의 그룹에 대해 계산하거나 요약 (그룹 함수) 열의 데이터 타입을 변환 단일 행 함수 : 한 번에 하나의 데이터를 처리하는 함수 그룹 함수 : 여러 건의 데이터를 동시에 처리하여 해당 그룹에 해당하는 결과를 반환 해당 열에 있는 데이터를 모아 결괏값을 출력 2. 단일 행 함수 데이터 타입의 종류 저장 데이터 데이터 타입 설명 문자 CHAR(n) n 크기만큼 고정 길이의 문자 타입을 저장 문자 VARCHAR2(n) n 크기만큼 가변 길이의 문자 타입을 저장 숫자 NUMBER(p,s) 숫자 타입을 저장 (p: 정수 자릿수, s : 소수 자릿수) 날짜 DATE 날짜 타입을 저장 단일 행 함수의 종류 종류 설명 문자 타입 함수 문자를 입력받아 문자와 숫.. 2023. 3. 14.