SQL vs NoSQL

훈이·2022년 10월 24일
0
post-custom-banner

데이터베이스에는 SQL 과 NoSQL이 있는데 먼저 SQL에 대해 알아보자

SQL

SQL은 관계형 데이터베이스라고 부른다. 관계형 데이터베이스의 대표적인 종류로는 MySQL,Oracle,SQLite,MariaDB,PostgreSQL가 있다.

  • 관계형 데이터베이스는 행(row)과 열(column)로 구성되어 있는 테이블에 데이터를 저장한다.
  • 열(column)에는 속성에 대한 정보를 저장하고, 행(row)에는 각 열의 데이터 형식에 맞는 데이터가 저장된다.
  • 관계형 데이터베이스에서는 테이블의 구조와 데이터 타입 등을 미리 정의하며, 정의된 내용에 맞는 형태의 데이터만 삽입할 수 있다.

SQL의 장점

  • 스키마가 명확하게 정의되어 있으며, 데이터의 무결성을 보장한다.
  • 관계는 각 데이터를 중복없이 한번만 저장한다.

SQL의 단점

  • 데이터 스키마를 사전에 계획하고 알려야 하므로 덜 유연하다.
  • 관계를 맺고 있으므로 조인문이 많은 복잡한 쿼리가 만들어질 수 있다.
  • 대체로 수직적 확장만 가능하다.

NoSQL

NoSQL은 비관계형 데이터베이스라고 부르며, 대표적인 종류로는 MongoDB,Redis 등등이 있다.

  • 관계형 데이터베이스와 달리 데이터 간의 관계를 정의하지 않는다.
  • 대용량의 데이터를 저장할 수 있다.
  • 분산형 구조이다.
  • 고정되지 않은 테이블 스키마를 가진다.

NoSQL의 장점

  • 스키마가 없기 때문에 언제든지 저장된 데이터를 조정하고 새로운 필드가 추가 가능하다.
  • 데이터는 애플리케이션이 필요로 하는 형식으로 저장되기 때문에 데이터 읽어오는 속도가 빠르다.
  • 수직 및 수평 확장이 가능해서 애플리케이션이 발생시키는 모든 읽기,쓰기 요청 처리가 가능하다.

NoSQL의 단점

  • 유연하기 때문에 오히려 데이터 구조 결정을 미루게 될 수 있다.
  • 데이터 중복을 계속 업데이트 해야한다.
  • 데이터가 여러 컬렉션에 중복되어 있어서 수정 시 모든 컬렉션에서 수정 해야한다.

참고한 사이트 :
https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/
https://code-lab1.tistory.com/53

profile
백엔드 개발자가 되자!
post-custom-banner

0개의 댓글