DBMS란? 🤷♂️
(Database management System)
-> 데이터베이스 내 데이터에 접근하도록 도와주는 시스템
-> 크게 질의처리기와 저장시스템으로 이루어져 있다.
-> 사용자가 입력한 SQL을 해석해주고 데이터를 접근하게 해준다 ex) mysql ,oracle, mongoDB 👍
트랜잭션의 특징 ACID 👀
A: 원자성, 한 트랜잭션 내 실행한 작업은 모두 성공하거나, 실패해야 한다.
C: 일관성, 트랜잭션의 작업 처리 결과는 항상 일관성이 있어야 한다.
I : 격리성 , 동시에 실행된 트랜잭션을 서로에게 영향을 미치면 안된다.
D : 지속성, 트랜잭션이 한번 성공해서 반영되면 영구적으로 유지되야 한다.
NOSQL
-> Not Only SQL의 약자이다.
-> SQL 과는 다르게 스키마(데이터 삽입 규칙)이 없다.
-> 대량의 분산 데이터를 저장하는데 특화되어 있다.
-> ex) mongoDB 😀
파티셔닝
-> 테이블을 컬럼 단위로 나누어 관리하는 기법
-> vertical 파티셔닝 (파티셔닝) 과 ,horizontal 파티셔닝 (샤딩) 이 있다.
-> update 나 insert 시 분산되어 성능이 향상된다.
-> 데이터 조회 시 필요에 따라 조인 비용이 들어간다, index를 별도로 파티셔닝 할 수 없다.
샤딩
-> 테이블을 컬럼 단위로 나누어 관리하는 기법
-> shared key 를 어떻게 정의하냐에 따라 데이터 효율이 달라진다.
-> -> Hash Sharding : ex) database id를 % 4 하여 0,1,2,3 으로 데이터를 분산 저장
-> -> Dynamic Sharding : ex) table를 하나 만들어서 id range를 정하여 0~50, 51~100 등으로 나누어서 관리
👏👏
'개발 관련 부가 지식 > 기타' 카테고리의 다른 글
웹 url 동작 과정, 쿠키와 세션, Rest api (0) | 2023.01.21 |
---|---|
자료구조 기초 정리 (0) | 2023.01.18 |
인코딩, Charset, base64, 아스키 용어 정리 (0) | 2023.01.13 |
도커, 간단한 명령어 정리 중 (0) | 2023.01.06 |
jwt 토큰 정의 및 구조 (간단히) (1) | 2023.01.02 |