Structured Query Language
의 약자로, 관계형 데이터베이스 관리 시스템(RDBMS)
의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어저장, 검색, 수정, 삭제
를 할 수 있다.정해진 데이터 스키마에 따라 테이블에 저장
된다.관계에 따라 여러 테이블에 분산
된다.레코드
로 저장되며, 각 테이블마다 정의된 구조(필드명
, 데이터 구조
)에 따라 저장된다.관계(Relation)
를 사용한다. 하나의 데이터
만을 관리할 수 있도록 해주어 정확도를 높여준다.ManyToManyField
를 생성했을 때를 생각하면 될 것 같다. 다대다 관계일 때 Django는 자동으로 관계 테이블
을 형성해주고, 해당 관계 테이블이 아닌 각각의 테이블에서는 데이터를 확인할 수 없었다.non SQL
로 전통적인 관계형 데이터베이스보다 덜 제한적인 일관성 모델
을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다.디자인의 단순화
, 수평적 확장성
, 세세한 통제
를 포함한다.단순 검색 및 추가 작업
을 위한 매우 최적화된 키 값 저장 공간으로, 빅데이터
와 실시간 웹 애플리케이션
의 상업적 이용에 널리 쓰인다. Not only SQL
로도 불린다.스키마
나 관계
가 없다.레코드
로 저장하는데, 비관계형 DB에서는 이를 문서(Document)
로 부르며 JSON(JavaScript Object Notation) 형식
으로 저장한다.JSON 형식
으로 데이터를 저장하지만, 내부에서는 속도, 효율성, 유연성의 장점이 있는 BSON(Binary JavaScript Object Notation)
으로 데이터를 저장, 사용한다.다른 구조의 데이터
를 같은 컬렉션에 추가할 수 있다. JOIN
이 존재하지 않는다. Collection
을 통해 데이터를 복제
하여 각 Collection의 일부분에 속하는 데이터를 산출한다.