JChan
로그인
JChan
로그인
20.10.21 [DB, SQL, NoSQL]
박종찬
·
2020년 10월 21일
팔로우
0
TIL
0
TIL
목록 보기
39/89
데이터베이스란?
컴퓨터 안에 데이터들을 한 곳에 저장 및 관리를 하는 집합체를 말한다.
이는
중복성
을 제거, 자료를
구조화시켜 처리
할 수 있도록 관리된다.
트랜잭션
여러 작업들을 하나로 묶은 단위
트랜잭션이 필요한 이유
믹스커피를 만들 때 설탕, 프림, 인스턴트 커피 3개가 있어야한다. 그런데 인스턴트 커피를 넣는 기계가 고장나서 설탕, 프림만 들어간 믹스커피가 만들어진다면? 난리난다. 이를 방지하기 위해서 트랜젝션이
데이터의 유효성
을 보장한다.
ACID
데이터의 유효성
을 보장하기 위한 트랜잭션의 특징들의 앞 글자만 따온 것
원자성
모든 작업을 반영(Commit)하거나 모두 롤백(Rollback)
일관성
int 컬럼에 varchar가 저장되지 않도록 보장
고립성
트랜잭션 수행 시 다른 트랜잭션의 작업이 간섭할 수 없도록 보장
영구성
한 번 Commit된 트랜잭션의 내용은 영원히 적용
SQL(Structured Query Language)
DB에 저장된 데이터와 통신할 수 있도록 만든 쿼리 언어다.
엄격한 데이터 스키마에 따라 테이블에 저장이 된다. 이 말은 원자성과 흡사하다.
관계
를 이용해 여러 개의 테이블로 분산 및 연결시킬 수 있다.
데이터 스키마가 사전에 계획되어야 하며 유연하지가 않다.
Join으로 인해 복잡한 쿼리가 만들어질 수 있다.
NoSQL(Non-SQL)
SQL과 반대로 스키마와 관계가 없다.
JSON과 비슷한 형태
데이터 구조가 불확실할 수 있다.
데이터가 여러 컬렉션에 중복되어 있다면 모든 컬렉션에
Update
해야 한다.
SQL vs NoSQL
관계를 맺고 있는 데이터가 자주 변경될 경우 -- SQL
Read > Update -- NoSQL
막대한 양의 데이터를 다뤄야할 경우 -- NoSQL
박종찬
반가워요! 사람을 도우는 웹 개발자로 성장하기! :)
팔로우
이전 포스트
20.10.19 [React Route]
다음 포스트
20.10.26 [Design Pattern, MVC]
0개의 댓글
댓글 작성