Database - 4. SQL과 NoSQL 편

Perdy·2023년 8월 16일
0

CS

목록 보기
13/20

SQL

정해진 데이터 스키마에 따라 테이블에 저장되고, 관계를 정의하고 그 관계를 통해 여러 테이블에 분산됩니다. 정해진 스키마에 맞지 않다면 데이터를 추가할 수 없습니다.

따라서, 데이터의 무결성을 보장할 수 있으며 각 테이터를 중복없이 저장할 수 있습니다. 다만, 관계가 정의되어있기 때문에 퀴리가 복잡해질 수 있다는 단점이 있습니다.

NoSQL

복잡하고 큰 데이터들이 나타나면서 부각되기 시작하였으며, 데이터-테이블 간의 관계를 정의하지 않습니다. 따라서, 정해진 스키마가 없기 때문에 데이터를 자유롭게 저장할 수 있습니다. key 값만 가지고 데이터에 대해 입출력을 수행할 수 있습니다.

관계를 정의하지 않기 때문에 조인이 필요가 없으며, 데이터가 중복되기 때문에 불안정한 측면이 있습니다.

데이터가 프로그램이 필요하는 형식으로 저장되어서, 읽는 속도가 빠릅니다.

예시로는 MongoDB와 redis 등이 있습니다.

SQL과 NoSQL

데이터가 자주 변경되는 경우에는 SQL DB를 사용하는 것이 더 효율적입니다. NoSQL에서는 여러 컬렉션을 모두 수정해야해서 비효율적이기 때문입니다.
또한, 명확한 스키마가 사용자와 데이터에에게 중요한 경우에 사용하면 좋습니다.

정확한 데이터 구조를 알 수 없거나 확장, 변경의 여지가 있는 경우에는 NoSQL를 사용하는 것이 더 좋습니다. 또한, NoSQL은 읽는 속도가 빠르기 때문에, 데이터를 자주 읽지만 변경이 없는 경우에도 유리합니다.
그리고 큰 데이터를 다뤄야하는 경우에도 NoSQL이 유리합니다.

profile
영원한 뉴비. 꾸준히 한다면 언젠가는 높은 곳에 도달할지도?

0개의 댓글