NoSQL과 RDBMS의 장단점


RDBMS의 장점


  • DB 수준에서의 ACID 트랜잭션을 사용하여 개발 방식이 쉽다.
  • VIEW를 사용한 컬럼과 ROW에 대한 세밀한 보안 설정은 인가받지 않은 사용자들로부터의 조회나 변경을 막는다.
  • 대부분의 SQL 코드는 오픈 소스를 포함한 다른 SQL 데이터베이스로 포팅이 가능하다.
  • 타입형 컬럼이나 제약들을 사용해서 데이터베이스에 정보를 추가하기 전에 유효성 검사를 하여 데이터 품질을 향상시킨다.
  • 개발자들은 ER 설계와 SQL에 친숙하다.


NoSQL 데이터 베이스의 장점


  • 테스트 데이터 조회가 ER모델링이 완료되기 전에 드롭 앤 드랍 도구를 사용해서 가능하다.
  • 클러스터에 추가된 새로운 프로세서 노드 형태로 수평확장이 가능하다.
  • 객체-관계형 매핑 레이어를 필요로 하지 않는다.
  • 다양한 가변성 있는 데이터 저장이 쉽다.

RDBMS의 단점


  • 객체-관계형 매핑 레이어가 복잡해질 수 있음
  • ER모델링이 테스팅(개발)전에 완료되어야 하며 개발이 느려질 수 있다.
  • RDBMS 시스템은 조인이 필요한 경우 확장성을 제약한다.
  • 전체 문서에 대한 검색은 별도의 도구가 필요하다.
  • 테이블에 다양한 가변성 있는 데이터를 저장하기 어렵다.


NoSQL 데이터 베이스의 단점


  • ACID 트랜잭션은 데이터베이스 수준의 문서 내에서만 작도앟ㄴ다.
  • 문서 저장은 세밀한 보안을 제공하지 않는다.
  • NoSQL 시스템은 많은 개발자들에게 새로운 시스템이며 교육 또는 새로운 공부가 필요하다.
  • 문서 저장은 NoSQL마다 자체의 표준화되지 않는 쿼리 언어를 사용하며 이식성이 좋지 않다.

이윤재

이윤재
주니어 개발자 이윤재입니다. 공부한 내용을 바탕으로 기술하는 블로그 입니다.

JAVA8 - Lambda - stream api

Java8 lambda stream에 대하여 Continue reading

JAVA8 - Lambda란?

Published on July 29, 2019

CAP 이론

Published on June 22, 2019