728x90

CS/데이터베이스(DB) 6

[DB] NoSQL (+Redis)

NoSQL - 비관계형 데이터베이스 - 관계형 데이터 모델을 지양하며, 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며, 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소 NoSQL의 장점 RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능 비정형 데이터 구조 설계로 설계 비용 감소 Big Data 처리에 효과적 가변적인 구조로 데이터 저장이 가능 데이터 모델의 유연한 변화가 가능 NoSQL의 단점 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능 많은 인덱스를 사용하려면 충분한 메모리가 필요. 인덱스 구조가 메모리에 저장 데이터 일관성이 항상 보장되지 않음

[DB] clustered / non clustered index

[SQL] Clustered Index & Non-Clustered Index (velog.io) [SQL] Clustered Index & Non-Clustered Index 앞서 Index에 대해서 정리 했었지만, Clustered Index와 Non-Clustered Index를 자세히 다루지 않아 이번 시간에 자세히 두 Index의 차이를 정리해보려 한다.Index는 DB의 테이블에 데이터가 많을 때, 검색 속도 velog.io clustered Index : 책으로 비유하자면 페이지를 알고 있어서 바로 해당페이지를 펼치는 것과 같음. 데이터가 테이블에 삽입되는 순서에 상관없이 Index로 생성되어있는 컬럼을 기준으로 정렬되어 삽입됨. clustered Index :테이블 당 한개씩만 존재 가능함..

[DB] Union vs Union All (+JOIN)

UNION 과 UNION ALL 이란 (tistory.com) UNION 과 UNION ALL 이란 UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다. silverji.tistory.com UNION * 여러 쿼리문을 합쳐서 하나의 쿼리문으로 만들어주는 방법 * 중복된값을 제거하고 보여줌 * 중복된 값을 제거하는 연산이 추가로 수행되기 떄문에 UNION ALL 보다 속도 느림 UNION ALL * UNION과 동일 * but 중복된 값을 모두 보여줌 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.) 컬럼별로 데이터 타입이..

[DB] 정규화

[Database] 정규화(Normalization) 쉽게 이해하기 - MangKyu's Diary (tistory.com) [Database] 정규화(Normalization) 쉽게 이해하기 지난 포스팅에서 데이터베이스 정규화와 관련된 내용을 정리했었다. 하지만 해당 내용이 쉽게 이해되지 않는 것 같아서 정규화 관련 글을 풀어서 다시 한번 정리해보고자 한다. 1. 정규화(Normaliz mangkyu.tistory.com 정규화의 기본 목표: 테이블 간에 중복된 데이타를 허용하지 않는다는 것 무결성 유지할 수 있으며, DB의 저장용량 역시 줄일 수 있음. 이런 테이블을 분해하는 정규화 단계가 정의되어 있는데, 여기서 테이블을 어떻게 분해되는지에 따라 정규화 단계가 달라짐. 1. 제 1 정규화 테이블의 ..

[DB] 키(key)

[DataBase] 키(Key)의 개념 및 종류 (tistory.com) [DataBase] 키(Key)의 개념 및 종류 데이터 베이스 키(Key)의 개념 및 종류 키(Key)는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)입니다. * limkydev.tistory.com 1.후보키 * 릴레이션을 구성하는 속성들 중 튜플을 유일하게 식별할 수 있는 속성들의 부분집합 * 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야함. * 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함. ex) 릴레이션에서의 '학번' 이나 '주민번호' -> 기본키가 될 수 있는 키들을 후보키라고 함. 2.기본키 * 후보..

트랜잭션

"쪼갤 수 없는 업무 처리의 최소 단위" ex) 'A라는 사람이 B라는 사람에게 1000원을 지급, B가 그 돈을 받을 경우' 이는 더이상 작게 쪼갤 수 없는 하나의 트랜잭션임 A의 돈 지불 행위와 B의 돈 받는 행위는 별개로 분리될 수 없음 트랜잭션 처리가 정상적으로 완료될 경우 커밋을 하고, 오류가 발생할 경우 원래 상태대로 롤백해야 함. 목적 데이터베이스 서버에 여러 개의 클라이언트가 동시에 액세스하거나 , 응용프로그램이 갱신을 처리하는 과정에서 중단될 수 있는 경우 등 데이터 부정합을 방지하고자 할 때 사용 조건 ACID 1.원자성 (Atomicity) 하나의 트랜잭션이 더 이상 작게 쪼갤 수 없는 최소한의 업무 단위 트랜잭션이 데이터베이스에 모두 반영되던지, 아니면 전혀 반영되지 않아야 함 Al..

728x90