몰랐던거/DB(6)
-
[Transaction] 트랜잭션과 트랜잭션 격리성 공부하기
트랜잭션이란? 트랜잭션은 DB의 상태 변화를 위해 수행되는 가장 작은 더 이상 쪼개질 수 없는 작업 단위입니다. 하나의 트랜잭션이 가진 작업들은 한 몸처럼 동작해야 하기 때문에 실패하면 전부 다 없던 작업으로 처리(RollBack)하고 성공하면 DB에 반영(Commit)합니다. 트랜잭션의 특성 트랜잭션은 아래의 4가지 특성을 가집니다. 원자성 (Atomicity) : 더 이상 쪼개지지 않는 최소 작업의 단위입니다. 일관성 (Consistency) : 일관된 DB에서 트랜잭션이 성공된 후에도 DB가 일관되어야 합니다. 트랜잭션의 결과로 DB가 모순되면 안됩니다. 격리성 (Isolation) : 실행 중인 트랜잭션의 중간결과를 다른 트랜잭션이 접근할 수 없습니다. 영속성 (Durability) : 트랜잭션이..
2023.04.11 -
[Lock] DB 락에 대해서 공부하기
DB Lock이란? DB는 여러 사용자들이 동시에 같은 데이터에 접근하는 경우 데이터의 무결성과 일관성을 지키기 위해서 락을 사용합니다. 락은 트랜잭션 처리의 순차성을 보장하기 위한 방법입니다. Lock의 범위 (Level) DB에는 Lock이 걸리는 범위를 설정할 수 있습니다. 모두 아래와 같습니다. 데이터 베이스 : 전체 DB에 락을 설정하고 거의 사용되지 않습니다. 주요 DB 업데이트에 사용됩니다. (DB 소프트웨어 버전 업그레이드) 파일 : 테이블, 로우 등의 실제 데이터가 쓰여지는 물리적인 저장소에 락을 설정하고 잘 사용되지 않습니다. 테이블 : 테이블에 락을 설정하고 주로 DDL 구문과 같이 전체 테이블에 영향을 주는 변경을 수행 시 유용합니다. 페이지와 블록 : 페이지와 블록에 락을 설정하고..
2023.04.11 -
인덱스 (index)
1. 인덱스란?2. 인덱스 종류3. 인덱스 생성 및 사용하기 1. 인덱스란?추가적인 쓰기 작업과 저장 공간을 활용하여 테이블 조회 속도를 향상시키기 위한 자료구조이다. 위와 같이 책 맨 앞이나 맨 뒤에 있는 색인처럼 모든 데이터를 조회하지 않게끔 데이터와 데이터의 위치를 포함한 자료구조를 만들어서 조회 속도를 향상시킨다. 장점테이블 조회 속도 향상 (WHERE, ORDER BY, JOIN)빠른 조회 응답 속도를 통한 전반적 시스템 부하 감소단점인덱스 관리를 위해 DB의 약 ..
2022.11.30 -
DBMS의 종류, DB 서버
DBMS의 종류에 대해서 알아보자. DBMS에는 다양한 종류가 있고 사용 용도나 제어하는 환경 등 조건에 맞게 고안된 것들이다. DBMS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있다. 계층형 데이터베이스 가장 오래된 DB이다. 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식을 가진다. 하드디스크, DVD 파일 시스템이 이러한 계층현 데이터베이스이다. 관계형 데이터베이스 관계 대수(relational algebra)라는 것에 착안하여 고안한 DB이다. 간단히 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스이다. 객체지향 데이터베이스 객체(object)라는 것을 중심으로 프로그래밍하는 언어를 객체지향 언어라고 부른다. 이처럼, 가능하면 객체 그대로를 DB 데이터로 저장하는 데이..
2022.08.31 -
데이터베이스의 개념
데이터베이스란 무엇일까? 데이터의 집합을 데이터베이스라고 한다. (데이터 : 컴퓨터 안에 기록되어 있는 숫자) 넓은 의미로는 컴퓨터 안에 기록된 모든 것이다. But, 일반적으로 통용되는 DB는 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 형태를 말함. DB는 어떤 시스템에서 사용될까?. 쇼핑 사이트에서도 주문 정보, 고객 정보를 담고 있는 DB를 사용할 것이다. 편의점에서도 물건을 사면 포스기에서 데이터가 DB로 전송될 것이다. 휴대폰의 전화번호부도 작은 DB라고 볼 수 있다. DB는 정말 다양한 시스템에서 사용되고 일상에서도 흔히 볼 수 있다. DB, DBMS DB는 앞서 말했듯이 저장장치 내에 정리되어 저장된 데이터의 집합이다. DBMS = Database Management ..
2022.08.31 -
DDL, DML, DCL 이란?
DDL, DML, DCL을 설명하기 앞서 먼저 SQL에 대해 알아보자. SQL이란 무엇일까? SQL은 관계형 데이터베이스 관리 시스템, RDBMS (Relational Database Management System)을 조작할 때 사용하는 언어. DBMS : 데이터베이스를 관리하는 소프트웨어. RDBMS : DBMS 중 관계형 데이터베이스를 관리하는 소프트웨어. 관계형 데이터베이스 : 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스. DDL, DML, DCL과 SQL은 어떤 관계가 있을까? DDL, DML, DCL은 SQL과 포함 관계이다. SQL 명령의 종류를 크게 DDL, DML, DCL로 나눌 수 있다. DML (Data Manipulation Language) : 데이터베이스에 새..
2022.08.25