- 전통적인 관계형 데이터베이스보다 데이터가 덜 고정되어 있는 언어를 이용하여 데이터를 저장한다.
- NoSQL이란 데이터를 읽을 때 schema에 따라 데이터를 읽어온다.
- 즉, NoSQL은 문서, 키 값, 와이드 칼럼, 그래프 등 SQL 보다 비교적 유연한 데이터를 저장하는데 쓰인다.
- 대표적인 NoSQL이란, mongoDB, casandra 등이 있다.
Schema란?
데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 정의한 구조이다.
스키마는 3층 구조로 되어 있다.
외부 스키마(External Schema): 외부 사용자들에게 보여줄 데이터의 구조를 정의
개념 스키마(Conceptual Schema): 데이터베이스에 데이터가 저장되는 데이터 간 관게, 타입, 조건 등의 정의
내부 스키마(Internal Schema): 데이터를 어떤 형태로 저장할 것인지를 정의
Key-Value 타입
Key(속성)-Value(속성에 연결된 데이터값) 형식의 데이터를 배열의 형태로 저장한다,
문서형 데이터베이스
데이터를 테이블(table)이 아닌 문서처럼 저장한다.
JSON과 유사한 형식의 데이터를 문서화하여 저장한다.
각각의 문서는 하나의 속성(Key)과 데이터를(Value)를 갖고 collection이라는 그룹으로 묶어 관리한다.
SQL에서는 테이블 NoSQL에서는 collection이다.
*Wide-Column 데이터베이스
열(column)에 대한 데이터를 집중적으로 관리한다.
하나의 행에 많은 열을 포함할 수 있어서 유연성이 높다.
규모가 큰 데이터 분석에 주로 사용된다.
*그래프 데이터베이스
자료구조 그래프와 비슷한 형식으로 데이터 간의 관계를 구성한다.
노드에 속성별로 데이터를 저장하고, 각 노드간 관계는 선으로 표현한다.