IT 기술 용어

RDBMS vs NoSQL

macro 2020. 10. 5. 11:37
반응형

1. RDBMS 

 

  • Relational DataBase Management System
  • 관계형 데이터베이스 시스템
  • 트랜잭션 처리가 가능함
  • MySQL, Oracle, MS-SQL

2. NoSQL

 

  • 대용량의 데이터를 분산 처리하는 데이터베이스 시스템
  • 오토 샤딩 (Auto Sharding) 기능으로 분산처리가 가능함
  • Mongo DB, AWS DynamoDB, Firebase Firestore



3. RDB 와 NoSQL의 차이점을 설명하세요.

 

  • RDB는 스키마를 미리 정의해 줘야 합니다. 
  • 그래서 테이블 생성문을 사용해서 스키마를 정의합니다.

 기술면접  RDBMS NoSQL

 

  • NoSQL은 스키마 프리(free) 입니다. 따라서 미리 테이블 생성 할 필요가 없습니다.
  • 두번째로, NoSQL은 오토 샤딩 기능이 있어서, 대용량의 데이터를 자동으로 분산 처리합니다.
  • RDB는 비슷한 기능으로, 클러스터링이 있지만, 설정이 복잡합니다.

 

 기술면접 RDBMS NoSQL

 

  • 마지막으로, RDB는 트랜잭션 (Transaction) 처리가 가능하여, 중요한 데이터를 저장하는데 사용합니다.
  • 하지만 NoSQL은 트랜잭션이 보장되지 않기 때문에, 데이터의 양과 속도가 중요할때 사용합니다.

 기술면접 DB 트랜잭션 transaction




4. 세가지 관점에서의 RDBMS와 NoSQL

 

  • 스키마
  • 오토 샤딩
  • 트랜잭션

 기술면접  RDBMS NoSQL 장단점

 

 

 

 

5. 트랜잭션 처리 예

 

  • 트랜잭션을 시작하고, 세이브포인트 a를 설정했다.
  • 그리고 나서 인서트문으로 데이터 1개를 넣어줬다.

 

 기술면접  RDBMS DB 트랜잭션

 

  • 세이브포인트 b를 설정하고, 샐러리를 900에서 1000으로 업데이트 했다.

 기술면접  RDBMS DB 트랜잭션

 

  • 이 상태에서, b 로 롤백하면, 
  • b 이후에 수행된 SQL 문은, 전부 취소된다. 
  • 따라서 b 이후에 수행한, 업데이트문은 취소되므로, 샐러리는 900으로 돌아간다.

 기술면접  RDBMS DB 트랜잭션

 

  • 이상태에서, a 로 롤백하면
  • a 이후에 수행한, 인서트문도 취소된다. 
  • 따라서 테이블에는 아무것도 들어가 있지 않은 상태로 된다.

 기술면접  RDBMS DB 트랜잭션

 

 

 

 

 

 기술면접 NoSQL vs RDBMS

 

 

반응형