발자취
#13 반정형데이터 (NoSQL, JSON) 본문
#01 NoSQL
- 기존의 RDBMS가 읽기 최적화인데 반해 쓰기 최적화된 시스템
- 현재의 NoSQL
- 읽기 최적화된 RDBMS와 쓰기 최적화된 NoSQL을 합쳐서 서로의 약점을 보완함
1. NoSQL 분류
(1) CAP 이론
- 일관성(Consistency): 여러 개의 클라이언트가 조회해도 데이터가 항상 일정
- 가용성(Availability): 노드가 장애가 발생해도 읽기/쓰기에는 문제 없는 성질
- 파티션 내성(Partition Tolerance): 네트워크가 분리되도 개별 서비스는 문제 없는 성질
→ 3가지를 모두 제공하는 시스템은 없다 -> 2개만 제공 (CA, AP, CP)
(2) 저장방식
- Key/Value Store
- Ordered Key/Value Store: 기본 키 정렬해서 저장
- Document Key/Value Store: Value 값이 문서임
- 컬럼기반 저장 방식: 기존의 줄(row) 단위 저장 방식이 아닌, 컬럼 기반 저장방식
- 컬럼단위로 조회/처리할 때 적합
#02 JSON
- Key/value Store
- RDBMS와의 주요 차이점
- 테이블 - 외래키 연결 구조가 아님 (조인도 안됨)
#02-2 JSON 실습

‘test’ 테이블을 만들고, JSON을 사용하여 ‘age’, ‘gender’, ‘department’ 값을 삽입했습니다.

profile 컬럼 안에 JSON 형태로 저장되어 있는 것을 확인할 수 있습니다.
json_extract 함수로 JSON 값을 조회할 수 있습니다. profile 컬럼에서 ‘department’ 키를 갖는 값을 찾아 조회했습니다.
'3-1 > 데이터베이스' 카테고리의 다른 글
| #15 JDBC 실습 (0) | 2023.08.12 |
|---|---|
| #14 비정형 데이터 (전문검색) (0) | 2023.08.12 |
| #12 역정규화, DML 실습 4 (0) | 2023.08.12 |
| #11 모델링2 (테이블 최적화, 정규형), 서브쿼리 (0) | 2023.08.12 |
| #10 DML 실습 3 (Group by, having, charset/collation) (0) | 2023.08.12 |