우선 SQL과 NoSQL의 가장 큰 차이점은 SQL은 관계형이고 NoSQL은 비관계형이다.
SQL은 쿼리언어를 사용하고 정의된 스키마가 있다. SQL은 쿼리 언어들 중 가장 인기있는 언이이다. 하지만 SQL은 제한적이라서 쿼리를 작성하기 전에 정의된 스키마를 사용해 구조를 결정해야 한다. 또한 테이블 기반이다.
이런식으로 테이블 형식기반인데 테이블 안에 고객의 정보를 입력하고 싶으면 customer라는 틀안에 이름, 아이디, 전화번호, 주소 등 입력한다.
NoSQL은 구조를 정의하지 않고 문서를 생성할 수 있다.
이런식으로 json 형식으로 데이터를 추가한다.
또한 각각의 문서들은 고유한 구조를 가지고 있다. 또한 테이블 사이에 특별히 명시된 제약이나 규칙들이 없다.
아래는 NoSQL의 데이터 모델의 예시이다.
문서, 그래프, 키/값, 와이드컬럼 모델의 형식이다.
SQL의 데이터베이스 시스템에는
MySQL
Oracle
Microsoft SQL Server
PostgreSQL
등이 있고,
NoSQL의 데이터 베이스 시스템에는
MongoDB
라는 가장 인기있는 데이터베이스가 있다.