RDBMS와 NoSQL

1. RDBMS, 관계형 데이터베이스

말 그대로 관계형 데이터베이스 관리 시스템입니다.
정해져있는 데이터 스키마에 따라 데이터베이스 테이블에 저장되며,
관계를 통한 테이블간 연결을 통해 사용됩니다.
이 때문에 RDBMS는 데이터 관리를 효율적으로 하기위해 구조화가 굉장히 중요합니다.

데이터의 완전성이 무엇보다 중요한 상황에 사용시 적합합니다.
ex) SNS 와 같이 User, Feed, Comment 등 다양한 데이터가 있고 그 관계가 있을때

1) 장점

2) 단점

3) 주요 제품

2. NoSQL, 비관계형 데이터베이스

관계형 데이터베이스와 반대되는 방식으로 데이터베이스를 관리합니다.
데이터 간의 관계를 정의하지 않기 때문에 자유롭게 데이터를 관리할 수 있습니다.
RDBMS의 테이블과 같은 개념으로 컬렉션이라는 형태로 데이터를 관리합니다.
주로 비정형 데이터 작업이 많은 경우, 자주 접근하지만 자주 업데이트 되지 않는 데이터에 적합하다.
데이터의 저장 및 검색에 특화된 메커니즘을 제공하며 응답속도나 처리효율이 뛰어나다.

1) 장점

2) 단점

3) 주요 제품

  1. key / value
    • 휘발성 / 영속성 (Memchached, Tokyo Tyrant, Flare, Roma, Redis)
  2. Document
    • 스키마 정의 없음 (MongoDB, CouchDB)
  3. Big Table(Column 형)DB
    • 뛰어난 확장성, 검색에 유리 (Hbase, Casandara, Hypertable)