728x90
구분 | SQL | NoSQL |
처리데이터 | 정형 데이터 | 정형, 비정형, 반정형 |
대용량 데이터 | 대용량 처리시 성능 저하 | 대용량 데이터 처리 지원 |
스키마 | 미리 정해진 스키마가 있다 | 스키마가 없거나 변경이 자유로움 |
트랜젝션 | 트랜젝션을 통해 일관성 유지 보장 | 트랜젝션을 완전히 지원하지 않아 일관성 유지가 힘들다 |
검색기능 | join등의 어렵고 복잡한 검색이 가능 | 단순한 데이터 검색 가능 |
확장성 | 클러스터랑 환경에 비적합 | 클러스터링에 적합 |
라이센스 | 고가의 라이센스 비용 | 오픈소스 |
대표적 사례 | oracle, MySQL, MS SQL | 카산드라, 몽고DB |
장, 단점 | 복잡한 질의 가능, 트랜젝션을 통해 일관성 유지 대량의 비정형 데이터 처리시 비효율적 |
대랴의 비정형 데이터 처리에 용이, 질의 속도 빠름 정해진 스키마가 없어 편리하지만 일관성 유지 힘듬 |
NoSQL 특징
- key-value 쌍으로 저장
- 이미지 동영상 등 어떠한 형태도 저장 가능
- 질의 속도가 빠르다
- 키를 통한 값 전체 검색은 가능하나, 값의 일부 검색이나 내용을 통한 검색은 할 수 없다
DynamoDB 구성
- 다른 DB 시스템과 마찬가지로 데이터를 테이블에 저장한다
- 각각의 데이터는 항목과 속성으로 이루어진다
- 각 개별 데이터를 항목이라고 하고, 항목이 가지고 있는 key-value 형태의 데이터를 속성이라 한다
- 파티션 키 : 테이블에 무조건 하나만 존재해야 하는 값으로 테이블에 있는 아이템을 어디에 나눌지 정하는 키
- 정렬 키 : 정렬할 때 사용하는 키
- 글로벌 보조 인덱스(GSI) : 테이블을 만든 후 추가할 수 있으며, 현재 테이블과 동기화 해 동일한 테이블 작성 가능
- 로컬 세컨더리 인덱스(LSI) : 대체 정렬 키로 쿼리, 스캔 시 사용, 데이터를 생성하는 시점에만 만들 수 있다
728x90
'study > TIL🐥' 카테고리의 다른 글
[Git] 잘못 올라간 파일/폴더 지우기 (0) | 2021.06.08 |
---|---|
[MacOS] Python3 설치 및 fastapi 설치 (0) | 2021.05.25 |
[javascript] 하나의 form 안에 두개 이상의 submit이 있는 경우 (0) | 2021.04.26 |
OAuth2란? (0) | 2021.04.26 |
Data lake란? (0) | 2021.03.30 |