[CS / DataBase] Drop truncate Delete 차이
·
Computer Science
DELETE, TRUNCATE, DROP 명령어는 모두 삭제하는 명령어이지만 차이점이 있다. DELETE WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 데이터를 삭제하더라도 데이터가 담겨있던 용량은 줄어들지않는다 DELETE된 데이터는 COMMIT 명령어를 사용하기 전이라면, ROLLBACK 명령어를 통해 되돌릴 수 있음 TRUNCATE 전체 데이터를 한번에 삭제하는 방식 최초 생성되었을 당시의 Storage만 남기고, 데이터가 남겨있던 Storage는 Release 된다. 자동 COMMIT이 되는 명령어이기 때문에, 이미 지운 데이터는 되돌릴 수 없다. DROP 테이블 자체를 완전히 날려버리는 방식 테이블 자체가 모두 지워지며, 해당 테이블에 생성되어 있던 모든 인덱스도..
[CS / DataBase] 파티셔닝(Partitioning)과 샤딩(Sharding)
·
Computer Science
파티셔닝이란? 테이블(table)을 '파티션(partition)'이라는 작은 단위로 나누어 관리하는 기법 데이터베이스를 분산 처리하여 성능이 저하되는 것을 방지하고 관리를 보다 수월하게 함 장점 가용성(Availability) : 물리적인 노드 분리에 따라 전체 DB 내의 데이터 손상 가능성이 줄어들고, 데이터 가용성이 향상됨 관리 용이성(Manageability) : 큰 테이블을 제거하여 관리를 쉽게할 수 있다 성능(Perfomance) : 특정 DML과 Query 성능을 향상시키며 대용량 데이터 write 환경에서 효율적이다. 단점 테이블 간 join 비용 증가 파티션 제약 : 테이블과 인덱스를 별도로 파티션 할 수 없다. 수직 파티셔닝(Vertical Partitioning) 컬럼을 나눠 새로운 테..
[CS / DataBase] 트리거(Trigger)
·
Computer Science
트리거란? 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램 이벤트는 전체 트랜잭션 대상과 각 행에 의해 발생되는 경우 모두를 포함할 수 있으며 테이블과 뷰(View), DB 작업을 대상으로 정의 할 수 있다. 트리거의 목적 특정 테이블에 대한 데이터 변경을 시작점으로 설정하고, 그와 관련된 작업을 자동적을 수행하기 위해 트리거를 사용한다. 일반적으로 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는데 활용한다 참고 [DB] 트리거(Trigger) 트리거(Trigger) 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램입니다...
[CS / DataBase] 트랜잭션(Transaction)
·
Computer Science
트랜잭션이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산 즉, 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것 특징 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위 하나의 트랜잭션은 Commit되거나 Rollback 된다 트랜잭션의 특징(ACID) Atomicity(원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전형 반영되지 않아야한다. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수해되지 않고 어느하나라도 오류가 발생하면..
[CS / DataBase] 데이터베이스 인덱스(Index)
·
Computer Science
인덱스(Index)란? 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조 테이블의 특정 컬럼에 인덱스를 생성하면, 해달 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 컬럼의 값(Key) - 물리적 주소(Value) 인덱스 관리 DBMS는 Index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색 할 수 있다 인덱스가 적용된 컬럼에서 INSERT, UPDATE, DELETE가 수행된다면 각각 다음과 같은 연산을 추가적으로 해주어야 함 => 오버헤드 발생 INSERT : 새로운 데이터에 대한 인덱스를 추가함 DELETE : 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업을 진행함 UPDATE : 기존의 인덱스를 사용하지 않음 처리하고, 갱신된 ..
[CS / DataBase] 데이터베이스 무결성
·
Computer Science
데이터 무결성 데이터의 정확성, 일관성, 유효성이 유지되는 것 정확성 : 중복이나 누락이 없는 상태 일관성 : 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태 데이터 무결성 제약조건 개체 무결성(Entity Integrity) 모든 테이블이 기본 키(Primary Key)로 선택된 필드(Column)를 가져야 한다. 기본 키는 테이블 내에서 오직 하나의 값만 존재해야함 기본 키에는 NULL값이 올 수 없음 참조 무결성(Referential Integrity) 관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것 => 외래 키 제약이라고도 함 외래 키(Foreign Key)의 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해..
마볼링
'CS' 태그의 글 목록 (3 Page)