데이터 베이스 (NoSQL) ✍🏻
NoSQL Document 데이터 베이스
테이블이 아닌 문서처럼 저장하는 데이터 베이스
JSON유사 형식으로 데이터를 문서화 한다.
필드-값 (<field> : <value>)
의 형태로 가지고 있고, 컬렉션이라고 하는 그룹으로 묶어서 관리
MongoDB 데이터베이스는 NoSQL 도큐먼트 데이터베이스
도큐먼트(Document) : 필드 - 값쌍으로 저장된 데이터
값(Value) : 주어진 식별자와 연결된 데이터
컬렉션(Collection) : MongoDB의 도큐먼트로 구성된 저장소, 일반적으로 도큐먼트 간의 공통 필드가 있다. 데이터베이스 당 많은 컬렉션이 있고, 컬렉션 당 많은 도큐먼트가 있을 수 있다.
1. 비구조적인 대용량의 데이터를 저장하는 경우
2. 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우
3. 빠르게 서비스를 구축하고 데이터 구조를 자주 업데이트 하는 경우
{}
중괄호로 Document가 시작하고, 끝나야 한다(:)
으로 분리되어야 하며, 필드와 값을 포함하는 쌍은 쉼표(,)로 구분된다.("")
로 감싸야 한다.예시
{
"_id" : "12345",
"date" : IAMDate("2021-10-19T09:00:00Z"),
"listing_id" : "1038163":,
"reviewer_id" : "3600555",
"reviewer_name" : "kim",
"comments" : "Hellow Word!"
}
JSON 형식은 읽기 쉽고, 많은 개발자들이 사용하기 편리하여 데이터를 저장하는 좋은 방법 중 하나이다.
그러나 JSON 형태로 데이터를 저장할 때 단점도 존재한다.
텍스트 형식이기 때문에 읽기는 쉽지만, 파싱이 느리고 메모리 사용이 비효율적이다.
그리고 JSON은 기본 데이터 타입만 지원하기에 사용 할 수 있는 데이터 타입에 제약이 있다.
JSON의 단점을 해결하기 위한 방안으로 사용된 BSON
컴퓨터 언어에 가까운 이진법에 기반을 둔 표현법
JSON 보다 메모리 사용이 효율적이며 빠르고, 가볍고, 유연하다.
더 많은 데이터 타입을 사용할 수 있다.
MongoDB 내부에서는 속도, 효율성, 유연성의 장점인 BSON으로 데이터를 저장, 사용한다.