# CHAPTER 4 데이터베이스 - SQL vs NoSQL

금성·2022년 12월 14일
0

CS 전공지식 노트

목록 보기
14/19

SECTION 4 - SQL vs NoSQL

  • 데이터베이스의 종류

  • 데이터베이스(DBMS)

    두가지로 분류할 수 있음

    • 관계형 데이터베이스 = SQL DB
    • 나머지 = NoSQL DB

SQL DB

데이터를 행과 열이 있는 표 형태로 저장 ex) 엑셀과 유사

스키마 (Schema)라는 틀에 맞춰서 저장이 됨

  • 장점
    • 명확하게 정의된 스키마, 데이터 무결성 보장
    • 데이터는 중복없이 한번만 저장
  • 단점
    • 덜 유연함, 스키마를 사전에 계획 ( 나중에 수정하기 힘듬 )
    • 관계를 맺고 있기 때문에 조인문이 많은 복잡한 쿼리가 만들어질 수 있음
    • 대체로 수직적 확장만 가능

NoSQL DB

관계형 데이터베이스도 한계점을 노출하게 되었으며 이로 인해 새로운 데이터베이스인 NoSQL이 탄생

스키마도 없고 관계도 없음!!

NoSQL : SQL DB가 아닌 모든 DB라는 의미

대표적인 NoSQL DB 종류

  • key - value DB

  • Document DB

  • Graph DB

  • 장점

    • 스키마가 없어서 유연함. 새로운 필드 추가 가능
    • 데이터 읽어오는 속도가 빠름
    • 수직 및 수평 확장 가능
  • 단점

    • 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
    • 데이터 중복을 계속 업데이트 해야 함
    • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행 해야함
  • 상황에 맞게 DB를 사용하는 것이 중요

    • SQL DB 사용이 더 좋을 때
      • 관계를 맺고 있는 데이터가 자주 변경되는 애플리케이션의 경우
      • 변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우
    • NoSQL DB 사용이 더 좋을 때
      • 정확한 데이터 구조를 알 수 없거나 변경/확장 될 수 있는 경우
      • 읽기를 자주 하지만, 데이터 변경은 자주 없는 경우
      • DB를 수평으로 확장해야 하는 경우 (막대한 양의 데이터)
profile
내일부터 공부 해야지

0개의 댓글