CS/데이터베이스

[CS/Database] NoSQL / RDBMS와 NoSQL의 차이

dbfl9911 2025. 2. 17. 12:56
반응형


 

 

• RDBMS와 NoSQL의 차이 

 

 

- RDBMS는 모든 데이터를 2차원 테이블 형태로 표현합니다. 

  • 장점 : 스키마에 맞춰 데이터를 관리하기 때문에 데이터의 정합성을 보장할 수 있습니다. 
  • 단점 : 시스템이 커질수록 쿼리가 복잡해지고, 성능이 저하되며 서버의 성능을 높이는 방식으로만 확장할 수 있고, 서버를 여러대 추가하는 방식은 어렵습니다. 
📓스키마 / 데이터의 정합성
· 스키마 : 데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
· 데이터의 정합성 : 어떤 데이터들이 값이 서로 일치하는 상태를 의미

 

- NoSQL(Not Only SQL) 은 RDBMS와 반대로 데이터간의 관계를 정의하지 않고, 스키마가 없어 좀 더 자유롭게 데이터를 관리할 수 있으며, 컬렉션이라는 형태로 데이터를 관리합니다. 

  • 장점 : 스키마 없이 Key-Value 형태로 데이터를 관리해 자유롭게 데이터를 관리할 수 있습니다. 
  • 데이터 분산이 용이하여 성능을 높일 때 더 좋은 서버를 추가하는 방법 뿐만 아니라 여러 대의 서버를 연결해서 확장하는 것도 가능합니다. 
  • 단점 : 데이터 중복이 발생할 수 있고, 중복된 데이터가 변경될 경우 수정을 모든 컬렉션에서 수행해야 합니다. 
  • 스키마가 존재하지 않기에 명확한 데이터 구조를 보장하지 않아 데이터 구조 결정이 어려울 수 있습니다. 

 

 

 


 

 

• RDBMS와 NoSQL은 어느 경우에 적합?

  • RDBMS는 데이터 구조가 명확하고, 변경될 여지가 없으며 스키마가 중요한 경우 사용하는 것이 좋습니다. 
  • 또한, 중복된 데이터가 없어(데이터 무결성) 변경이 용이하기 때문에 관계를 맺고 있는 데이터가 자주 변경이 이루어지는 시스템에 적합합니다. 
📓 데이터의 무결성
데이터의 정확성, 일관성, 유효성이 유지되는 것

 

  • NoSQL은 정확한 데이터 구조를 알 수 없고, 데이터가 변경/확장될 수 있는 경우 사용하는 것이 좋습니다. 
  • 또한, 단점에서도 명확하듯 데이터 중복이 발생할 수 있으며 중복된 데이터가 변경될 시 모든 컬렉션에서 수정해야 하기 때문에 업데이트가 많이 이루어지지 않는 시스템이 좋습니다. 
  • NoSQL은 여러 대의 서버를 추가해 확장할 수 있는 특징이 있어, 대량의 데이터를 저장하고 관리해야 하는 시스템에 적합합니다. 

 

 

 

 


 

* 위 글은 아래 문서를 참고해 작성했습니다. 

https://dev-coco.tistory.com/158

 

신입 개발자 기술면접 질문 정리 - 데이터베이스

💡 데이터베이스의 특징에 대해 설명해주세요. 실시간 접근성(Real-Time Accessibility) : 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 하며, 지속적인 변화(Continuous Evloution) :

dev-coco.tistory.com


review 1회독 2회독 3회독 4회독 5회독
check ✅(2/24)        

 

반응형