RDB

RDB는 Relation DataBase의 약자이다. RDB를 만든 핵심 개념이 관계형 대수학이다. 자료를 관계형 대수학 개념으로 묶고 이를 바탕으로 테이블을 만든다. 뿐만 아니라 SQL문법역시 관계형 대수학을 기반으로 한다. 그리하여 "관계형"데이터베이스 라는 이름을 얻었다.

데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조(스키마)가 있다. 데이터를 저장할때 스키마를 준수하지 않은 레코드는 저장할 수 없다.

 

NOSQL

Nosql은 RDB의 확장성이슈를 해결하기 위해 나온 데이터베이스 모델이다. 

스키마가 없기때문에 RDB보다 자유롭게 데이터를 관리할 수 있다.

NoSQL 에서는 Document에 데이터가 저장된다. 여기서 Document는 RDB의 레코드이며 테이블은 Collection이라는 형태로 데이터를 관리한다.

 

위와같은 데이터가 있다면 RDB는 필요한 정보만 따로 빼서 각각의 테이블에 저장해야 하지만 NoSQL의 경우 위 데이터를 통째로 저장할 수 있는 차이점이 있다.

RDB의 경우 성능상 이슈가 있을경우 Scale-Up을 통해 업그레이드를 할수밖에 없지만 NoSql의 경우 데이터 모델 자체가 독립적으로 설계되어있어 데이터를 여러 서버에 분산 시키는 Scale-Out을 통해 개선이 가능하다. 물론 RDB도 샤딩을 통해 충분히 Scale-Out할 수 있지만 어플리케이션 레벨에서 모든 샤딩을 제어해야 한다 (어떤 데이터를 요청하면 어느 클러스터에서 처리해라) 그러나 NoSql은 자체적으로 지원하기 때문에 복잡한 제어가 필요하지 않다.

'데이터베이스' 카테고리의 다른 글

Index  (0) 2021.05.18
Transaction  (0) 2021.05.17

+ Recent posts