본문 바로가기
공부/데이터베이스

NoSQL DB와 RDB의 차이점

by 촌쥐 2021. 8. 26.
한줄 정리 : NoSQL DB는 SQL만 사용하는 DB가 아니라는 것입니다.

 

사실 극단적으로 말씀드리면 위의 한줄이 모든 차이점입니다.

NoSQL DB와 RDB(SQL)의 차이점은 따지면 많은 차이점을 찾을 수도 있습니다. 

하지만 그렇게 하지 않는 이유는 NoSQL이라는 정의 자체가 애매하기 때문입니다.

실제 NoSQL이 주변분께 무엇이냐고 물어보신다면 대체로 비관계형 DB, 혹은 SQL만을 사용하지 않는 DB 라는

대답이 대부분일 것입니다. 만약 이 대답이 아니라면 정말 길고 긴 설명을 해야할지도 모르기에...

저도 DB 공부를 시작한지는 얼마 되지 않았기에 일반적인 차이점들만 집고 넘어가도록 하겠습니다.

 

일반적으로 RDB는 관계형 테이블의 형태로 저장을 하지만 NoSQL DB는 테이블뿐만 아니라 여러 형태로 저장을 합니다.

이에 관해서는 https://rural-mouse.tistory.com/38?category=781440 예전에 쓴글을 읽어보시면 될 것 같습니다.

 

NoSQL 저장 유형별 간단 정리

NoSQL은 특정한 DB를 말하는 게 아니라 RDB와 달리 데이터 액세스에 SQL만 사용하지 않는 DB들을 일컫는 단어입니다. 따라서 정확한 정의도 없으며 NoSQL을 분류하는 기준도 사람에 따라 모두 다 다릅

rural-mouse.tistory.com

이 저장방식의 다양성에 의해서 NoSQL은 RDB에서 적용되는 ACID나 정의나 제약조건을 정해주는 스키마가 존재하지 

않을 수가 있습니다. 물론 꼭 없는 것이 아니라 필요한 경우 따로 만들기도 하는 것으로 알고 있습니다.

 

NoSQL을 쓰는 중유한 이유가 또 있는데 이는 성능과 확장성 때문입니다.

일반적인 RDB는 확장성이 낮으므로 데이터가 단기간에 급격히 늘어날 경우 NoSQL DB에 비해 확장이 어렵습니다.

이는 RDB는 H/W를 더 좋은 성능으로 바꿔주는 Scale Up 형태의 업그레이드이기 때문에 Scale Out을 목적으로 

만들어진 NoSQL에 비하면 상당히 많은 기간과 비용이 듭니다. 이는 빅데이터를 다루는 시스템에서는 굉장히 

중요하기도 합니다. 확장성은 곧 성능이기도 하기 때문이죠. 다만 이론과 실제는 항상 다른 법이기 때문에

직접 사용하는 데이터의 결에 따라 올바른 DB을 선택해주는 것이 중요하겠습니다.

 

 

시간이 남는다면 아래의 참조한 글들도 읽어보시는 것을 추천합니다.


참조

https://www.slideshare.net/WooYeongChoe1/slidshare-mongodbmysqlcrud

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lowy&logNo=220616833900 

https://www.samsungsds.com/kr/insights/1232564_4627.html

 

언제라도 글에 틀린 점이 있다면 댓글로 남겨주시면 감사하겠습니다.

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

[SQLD] 데이터 모델링이란?  (0) 2021.08.10

댓글