학교 공부/데이터베이스

    동시성 제어 방식 (Concurrency control) : Lock-based protocols

    1. 동시성 제어 방식 (Concurrency control) : Lock-based protocols 이 방식을 제어 프로토콜 중 이 방식이 성능이 좋아서 가장 많이 쓴다 concurrent access를 제어하는 메카니즘으로, locking protocol에 맞는 가능한 스케쥴 중 일부분만 사용하게 제한하는 것이다. lock-based protocol에는 2가지 lock mode가 있는데, exclusive mode (X lock, write lock) , shared mode (S lock, read lock)이 있고, 다음과 같은 lock compatibility를 갖는다. 이 방식에서 Transaction은 lock에 대한 request가 수용되었을 때 진행된다(lock을 받고 진행됨). 또한 ..

    DynamicSQL와 StaticSQL의 차이

    Static SQL이란, 어떻게 데이터베이스에 접근할지가 미리 정의되는 형태의 SQL으로, SQL 구문이 정적으로 컴파일 시점에 정의되기 때문에 precompile시 Syntax, Sematics체크가 가능하다. Dynamic SQL이란, 런타임에서 사용자의 입력 값에 따라 동적으로 SQL 구문을 생성하여 실행하는 방식의 SQL로, 동적으로 처리하기 위해 문자열 변수를 활용하고 런타임 시 구문이 확정된다는 특징을 가지고 있다. Static SQL과 달리 런타임 시에 사용자로부터 SQL문의 일부 혹은 전체를 입력 받아 실행할 수 있기 때문에 precompile시 Syntax, Sematics체크가 불가능하고 바인드 변수를 사용할 수 있다는 특징을 가지고 있다. 각 방식은 서로 다른 장단점을 가지고 있다. ..

    오라클의 조인 타입 / 표준 조인과 비표준 조인의 차이점

    0. 조인의 정의 및 개요 조인은 두 개 이상의 테이블을 합치는 테이블 단위 연산으로 표준 조인과 비표준 조인으로 크게 나뉜다. 표준 조인은 서로 다른 DBMS를 통일하고자 ANSI/ISO에서 제정한 표준 SQL의 조인으로 Inner join과 Left join과 Right join과 Full joind이 표준 조인이 존재한다. 이외의 조인은 비표준 조인이다. 각 조인마다 특성이 다르기 때문에 이에 대해서 정리해보고자 한다. 1. 조인의 종류 1. Equi-joins (등가 조인) // 비표준 조인 조인 조건에 “=”연산을 포함하는 조인으로, 조건이 정확히 일치하는 행들을 연결하는 조인이다. Cartesian Product를 통해 만들어진 릴레이션 중 실제 있는 것만 필터링한 것과 같다. 2. Self ..

    1.트랜잭션의 4대 특징, ACID

    0. 트랜잭션이란? / 트랜잭션의 4대 특징 ACID란? 트랜잭션이란 DBMS (DB) 에서 데이터에 대한 하나의 논리적 실행단계를 의미한다. 여기서 트랜잭션의 4대 특징이란 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질으로, ACID (Atomicity[원자성] / Consistency[일관성] / Isolation[고립성] / Durability[지속성])로 표현된다. 은행과 같이 트랜잭션의 수행이 안전하게 수행됨을 보장해야 하는 시스템에 주로 사용되며, 각 특성들은 다음과 같은 의미를 갖는다. 1. Atomicity(원자성) 원자성은 마치 원자와 같이 데이터 베이스 연산들이 나눌 수도, 줄일 수 없는 하나의 유닛으로써 취급됨을 의미하는데, 모든 연산이 완전하게 적용되거나 아무것도 적용되지 ..

    DB 인덱스와 Join

    1. 인덱스(index)란? 검색을 빠르게 하기 위해 사용되는 개념 이는 번호라기 보다는 빠른 검색을 위한 보조(추가) 자료구조이다. 이와 같이 인덱스 파일만 별도로 구성하고 데이터 파일을 참조하는 형태로 구성된다. 이 인덱스는 고정된 자료구조가 아닌, CUD가 발생되면 인덱스가 재구성 된다. -> 속도 하락으로 이어짐 2. 약점 인덱스를 위해 추가 공간이 사용될 수 있다. 인덱스 생성, 수정에 오버해드가 발생할 수 있다. CUD의 속도가 하락될 수 있다. 이 인덱스를 사용하면 검색이 빠르지만 연속적인 범위를 읽기가 어렵다. 이 range search시에는 보조 인덱스 (double / linked list)로 보완할 수 있다 약점으로는 데이터의 추가 패턴에 따라 트리 모양에 skrew가 생길 수 있다...

    RDBMS의 연산과 키

    1. 관계 대수(관계형 데이터의 연산)의 종류 1. selection : 조건에 맞는 레코드 선택 2. projection : 특정 컬럼만 출력 3. union : 합집합 4. difference (MYSQL 지원 X) : 차집합 5. intersection(MYSQL 지원 X) : 교집합 seuoffomula.tistory.com/10 [데이터베이스] 관계 대수 [관계 대수] * (셀렉션, Selection) - 릴레이션의 투플을 추출하기 위한 연산 - 형식 : (R은 릴레이션) * (프로젝션, Projection) - 릴레이션의 속성을 추출하기 위한 연산 - 형식 : (R은 릴레이션) * 합집 seuoffomula.tistory.com 현재 RDBMS를 배우는 단계에선 구체적으로 배울 필요보다는 어떠..