반응형
1. RDBMS
- Relational DataBase Management System
- 관계형 데이터베이스 시스템
- 트랜잭션 처리가 가능함
- MySQL, Oracle, MS-SQL
2. NoSQL
- 대용량의 데이터를 분산 처리하는 데이터베이스 시스템
- 오토 샤딩 (Auto Sharding) 기능으로 분산처리가 가능함
- Mongo DB, AWS DynamoDB, Firebase Firestore
3. RDB 와 NoSQL의 차이점을 설명하세요.
- RDB는 스키마를 미리 정의해 줘야 합니다.
- 그래서 테이블 생성문을 사용해서 스키마를 정의합니다.
- NoSQL은 스키마 프리(free) 입니다. 따라서 미리 테이블 생성 할 필요가 없습니다.
- 두번째로, NoSQL은 오토 샤딩 기능이 있어서, 대용량의 데이터를 자동으로 분산 처리합니다.
- RDB는 비슷한 기능으로, 클러스터링이 있지만, 설정이 복잡합니다.
- 마지막으로, RDB는 트랜잭션 (Transaction) 처리가 가능하여, 중요한 데이터를 저장하는데 사용합니다.
- 하지만 NoSQL은 트랜잭션이 보장되지 않기 때문에, 데이터의 양과 속도가 중요할때 사용합니다.
4. 세가지 관점에서의 RDBMS와 NoSQL
- 스키마
- 오토 샤딩
- 트랜잭션
5. 트랜잭션 처리 예
- 트랜잭션을 시작하고, 세이브포인트 a를 설정했다.
- 그리고 나서 인서트문으로 데이터 1개를 넣어줬다.
- 세이브포인트 b를 설정하고, 샐러리를 900에서 1000으로 업데이트 했다.
- 이 상태에서, b 로 롤백하면,
- b 이후에 수행된 SQL 문은, 전부 취소된다.
- 따라서 b 이후에 수행한, 업데이트문은 취소되므로, 샐러리는 900으로 돌아간다.
- 이상태에서, a 로 롤백하면
- a 이후에 수행한, 인서트문도 취소된다.
- 따라서 테이블에는 아무것도 들어가 있지 않은 상태로 된다.
IT 취업 이직 전문 교육 이력서 기술면접 NoSQL vs RDBMS
반응형