문서지향(document-oriented) 저장소를 제공하는 NoSQL 데이터베이스 시스템
특징)-> 데이터들은 Document라고 불리며 이들의 집합을 Collection 이라고 한다. 스키마 제약없이 자유로움. BSON형태로 저장되며 RDMS에서 지원하지 않는 형태로 저장가능. 따라서 한 문서에 더 이해하기 쉬운 형태로 정보를 저장할 수 있다.
우선 SQL과 NoSQL의 가장 큰 차이점은 SQL은 관계형이고 NoSQL은 비관계형이다.
SQL은 쿼리언어를 사용하고 정의된 스키마가 있다. SQL은 쿼리 언어들 중 가장 인기있는 언이이다. 하지만 SQL은 제한적이라서 쿼리를 작성하기 전에 정의된 스키마를 사용해 구조를 결정해야 한다. 또한 테이블 기반이다.
이런식으로 테이블 형식기반인데 테이블 안에 고객의 정보를 입력하고 싶으면 customer라는 틀안에 이름, 아이디, 전화번호, 주소 등 입력한다.
NoSQL은 구조를 정의하지 않고 문서를 생성할 수 있다.
이런식으로 json 형식으로 데이터를 추가한다.
또한 각각의 문서들은 고유한 구조를 가지고 있다. 또한 테이블 사이에 특별히 명시된 제약이나 규칙들이 없다.
아래는 NoSQL의 데이터 모델의 예시이다.
문서, 그래프, 키/값, 와이드컬럼 모델의 형식이다.
SQL의 데이터베이스 시스템에는 MySQL, Oracle, Microsoft SQL Server, PostgreSQL 등이 있고 NoSQL의 데이터 베이스 시스템에는 MongoDB 라는 가장 인기있는 데이터베이스가 있다.
여러 컨테이너를 실행시키는 도커 애플리케이션이 정의를 하기 위한 툴