NoSQL vs SQL

진성·2022년 5월 24일
0

NoSQL 과 SQL 을 알기전에 먼저 DB(DataBase)에 대해 먼저 알아야 한다.

DB(DataBase)

DB란 의미 그대로 데이터를 저장해두는 공간이다.
이 DB에 데이터를 저장하는 방식은 크게 두가지가 존재하는데, 그것이 SQL 과 NoSQL 방식이다.

SQL

SQL은(Structured Query Language)의 약자로 구조화된 쿼리 언어 라는 의미다.
그렇기에 DB 자체를 나타내는 것이 아닌 저장하는 방식 즉, 상호 작용하는데 사용하는 방식이다.
SQL 방식은 데이터를 엑셀과 같은 표(Table) 형태로 저장을 하는 방식이고 각 행을 row라고 부르게 된다.
SQL은 관계형 데이터베이스라고 부르는데, 이것이 의미하는 것은 SQL 방식은 표와 관계성을 부여할 수 있는 것이다.
이러한 특성으로 데이터들을 여러개의 테이블에 나누어서, 데이터들의 중복을 피할 수 있게 된다.
대표적인 관계형 데이터베이스로는 Oracle, MySQL, Postgre가 있다.
이런 SQL의 언어를 모두 사용하지 않고 조금 더 편하게 해주는 라이브러리(툴)가 존재한다.
이것은 ORM(Object Relation Mapping)이라는 것으로 대표으로는 sequalize, typeorm, prisma 존재한다.

NoSQL

NoSQL은 SQL과 반대되는 접근방식을 따르기 때문에 지어진 이름으로 비관계형 데이터베이스이다.

NoSQL 방식에서는 SQL의 table을 colletion이라고 부르고 row를 documents라고 부른다.
여기서 documents는 하나의 문서라고 생각하면 되고 colletion은 그 문서를 모아놓은 문서봉투라고 생각하면 된다.

NoSQL에 문서는 JSON 데이터와 비슷한 형태를 가지게 된다.

이러한 NoSQL 방식은 데이터가 중복되기 때문에 불안정한 측면이 있지만, 그럼에도 커다란 장점은 복잡하고 조금 느린 조인을 사용할 필요가 없다.

대표적인 NoSQL방식 데이터베이스로는 MongoDB와 FireBase가 있다.

NoSQL 또한 SQL 과 마찬가지고 언어를 맵핑해주는 라이브러리(툴)이 존재한다.
이것을 ODM(Object Document Mapping)이라고 부르면, 대표적으로 mongoose가 존재한다.

출처 : siyoon210

profile
풀스택 진행중...

0개의 댓글