본문 바로가기

카테고리 없음

관계형 DB vs 비관계형DB

반응형

관계형 DB

특징

  • 엄격한 데이터 스키마를 따라 행과 열의 구조를 가지는 테이블에 저장된다.
  • 관계를 통해서 연결된 여러 테이블에 분산/저장된다.

장점

  • 명확하게 정의된 스키마, 데이터 무결성이 보장된다.
    데이터의 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다.
  • 효율적으로 저장한다면 데이터의 중복이 없다.

단점

  • 스키마 수정이 어렵다.
  • 수평 확장이 어렵고, 수직 확장만이 가능하다. (수직확장 또한 한계가 있다)

 

비관계형 DB

특징

  • 스키마 / 관계가 없다.

장점

  • 스키마가 없기 때문에 유연성이 높다.
  • 데이터를 가져오는 속도가 빠르다.
  • 수직 및 수평 확장이 가능해서 데이터베이스가 애플리케이션에서 발생시키는 모든 읽기 / 쓰기 요청을 처리 할 수 있다.
  • 따라서 방대한 양의 데이터를 저장하는데 유리하다 !

단점

  • 데이터의 완전성이 덜 보장된다.

SQL vs NoSQL

SQL

MySQL, SQLite, Oracle ...

NoSQL

  1. Document DB데이터를 json document 형태로 저장한다.
  2. ex) mongoDB
  3. Graph DB페이스북의 DB인 Tao가 대표적인 예시이다. 
  1. 각각의 entity를 저장하고 이를 관계망으로 연결해서 주로 소셜 네트워킹에서 효율적으로 사용된다.
  2. Key-Value DB많은 양의 읽기/쓰기를 빠르게 지원해야할 때 유리하다.
  3. ex) CassandraDB : apple, netflix, instagram, uber에서 사용됨

 

    반응형