[DB] SQL과 NoSQL

kjihye0340·2021년 5월 14일
0

db

목록 보기
3/4

SQL

관계형 데이터베이스의 데이터를 관리
ex) MySQL, Oracle

  • 엄격한 데이터 저장 구조(스키마)를 원칙으로 하기 때문에 스키마에 맞지 않는 데이터는 저장할 수 없음
  • 데이터 사이의 관계를 지정하기 쉬움(Join)
  • 수직적 확장만 가능
    • 수직적 확장 : 데이터베이스 서버의 성능을 향상
      ex) 하드웨어 업그레이드, CPU 업그레이드

NoSQL

비관계형 데이터베이스의 데이터를 관리
ex) mongoDB, Redis

  • 데이터베이스 내에서 서로 다른 구조의 데이터 추가 가능
  • 하나의 collection(SQL에서 table)에 관련 데이터를 모두 작성
  • 중복된 데이터가 발생할 수 있음
  • 수직/수평적 확장 가능
    • 수평적 확장 : 더 많은 서버가 추가되고 데이터베이스가 전체적으로 분산됨 -> 하나의 데이터베이스가 여러 호스트에서 작동

SQL의 장단점

장점

  • 명확하게 정의된 스키마, 데이터 무결성 보장
  • 관계는 각 데이터 중복 없이 한번만 저장됨

단점

  • 상대적으로 덜 유연, 수정하기 힘듦
  • 관계를 맺고 있기 때문에 Join문이 복잡해질 수 있음
  • 수평적 확장이 어려움

NoSQL의 장단점

장점

  • 스키마가 없기 때문에 유연함
  • 애플리케이션이 필요로 하는 형식으로 저장되어서 데이터를 읽어오는 속도가 빠름
  • 수평적 확장 가능

단점

  • 데이터 구조 결정을 하지 못하고 미루게 될 수 있음
  • 데이터 중복 -> 수정을 해야 하는 경우 모든 collection에서 수행

출처
https://mjmjmj98.tistory.com/43
https://siyoon210.tistory.com/130

관심 있을 만한 포스트

0개의 댓글