DATABASE

    스키마(Schema)

    스키마 스키마라는 단어는 형태 , 모양 , 모양 또는 계획 을 의미 하는 그리스어 skhēma 에서 유래했다. 스키마는 심리학에서 정보 범주와 정보 간의 관계를 구성하는 조직화된 사고 또는 행동 패턴을 설명하는 데 사용된다. 정의 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것을 의미한다. 데이터베이스에서 데이터 저장을 나타내는 추상적인 디자인을 의미한다. 특징 데이터 사전(= 시스템 카탈로그)에 저장 데이터베이스에 저장되어 있는 모든 데이터 개체들에 대한 정보를 유지, 관리하는 시스템 MySQL 에서는 information_schema 가 데이터 사전을 의미 MySQL 서버 내에 존재하는 DB 의 메타 정보(테이블, 칼럼, 인덱스 등의 스키마 정보)를 모아둔 곳이다. 대부분 읽기전용으로 제공되는..

    인덱스와 힌트

    Index 와 Hint 데이터베이스 I/O 디스크가 느린 이유 데이터를 읽기 위해서는 헤드를 움직여 데이터가 저장된 위치(트랙)를 찾아야 한다. 이때 소요되는 시간을 탐색 시간(seek time)이라고 한다. 그 후 원하는 정보가 있는 섹터가 다가올 때까지 기다리는데 이때의 시간을 회전 대기 시간(rotational latency time)이라고 한다. 헤드 : 상단 이미지에서 디스크 오른쪽에 있는 회색 꺾쇠의 디스크와 닿는 부분 트랙 : 디스크(플래터)의 한 면에서 중심으로부터 같은 거리에 있는 섹터들의 집합 섹터 : 데이터 저장/판독의 물리적 단위 데이터베이스의 I/O 처리 작업은 이렇게 물리적인 작업을 거치기 때문에 시간이 많이 소모된다. 순차 I/O vs 랜덤 I/O 순차 I/O 물리적으로 인접한..

    트랜잭션이란?

    트랜잭션(Transacation) 정의 트랜잭션이란 데이터베이스의 상태를 변화시키는 하나의 논리적인 작업 단위라고 할 수 있으며, 트랜잭션에는 여러개의 연산이 수행될 수 있다. 특징 하나의 트랜잭션은 Commit 되거나 Rollback 된다. 트랜잭션을 사용하는 이유 트랜잭션은 하나의 논리적인 작업의 단위이기 때문에, 여러개의 작업을 하나의 논리적인 단위로 묶어서 반영과 복구를 조정할 수 있기 위해 사용한다. 따라서, 데이터의 부정합이 일어났을 경우 롤백을 하여 데이터의 부정합을 방지할 수 있다. Ex. A 계좌에서 출금 -> B 계좌로 입금 하는 것을 하나의 논리적인 작업의 단위로 묶어서 반영과 복구를 조정할 수 있다. ACID 트랜잭션의 성질에는 ACID 가 있다. Atomicity(원자성) 트랜잭션..