RDBMS와 NoSQL의 차이

비관계형 타입 데이터 베이스란,

관계형 데이터베이스는 데이터들을 저장하기 전에 어디에
어떻게 저장할 것인지를 정의하는 반면
비관계형 데이터베이스는 데이터들을 저장하기 전에 정의 할 필요가 없다.
MongoDB, Redis, Cassandra 등이 가장 대표적인 NoSQL 데이터 베이스이다.


➿ SQL(RDBMS)

  • 장점
    • 관계형 데이터베이스는 데이터를 더 효율적으로 그리고 체계적으로 저장할 수 있고 관리 할 수 있다.
    • 미리 저장하는 데이터들의 구조(테이블 스키마)를 정의 함으로 데이터의 완전성이 보장할 수 있다.
    • 트랜잭션(transaction)
    • 정형화된 데이터들 그리고 데이터의 완전성이 중요한 데이터들을 저장하는데 유리하다.
    • ex) 전자상거래 정보. 은행 계좌 정보, 거래 정보 등등.
  • 단점
    • 테이블을 미리 정의해야 하므로 테이블 구조 변화 등에 덜 유연한다.
    • 확장성이 쉽지 않다.
    • 테이블 구조가 미리 정의 되어 있어 단순히 서버를 늘리는것 만으로 확장하기가 쉽지 않고 서버의 성능 자체도 높여야 한다.
    • 서버를 늘려서 분산 저장 하는것도 쉽지 않다.
    • Scale up (서버의 성능을 높이는것)으로 확장성이 됨.

➰ NoSQL(비관계 데이터베이스)

  • 장점
    • 테이터 구조를 미리 정의하지 않아도 되므로 저장하는 데이터의 구조 변화에 유연하다.
    • 확장하기가 비교적 쉽다. 그냥 서버 수를 늘리면 됨(scale out)
    • 확장하기가 쉽고 테이터의 구조도 유연하다 보니 방대한 양의 데이터를 저장하는데 유리하다.
    • 주로 비정형화 데이터 그리고 완전성이 상대적으로 덜 유리한 데이터를 저장하는데 유리하다.
    • ex) 로그 데이터
  • 단점
    • 데이터의 완전성이 덜 보장된다.
    • 트랜잭션이 안되거나 비교적 불안정하다.

profile
Backend Developer

0개의 댓글