1. RDBS vs NoSQL
- RDBMS
① ACID ( 원자성, 일관성, 격리성, 지속성)
② 데이터 중복 X → 공유
③ FK(관계)
- 수직적 확장 : 컴퓨터 성능을 올리는것 → 한번 쓰기, 읽기, 성능 X, 읽기 일관성 우수
- 수평적 확장 : 컴퓨터 분산(동일한 컴퓨터를 복제) → N번 쓰기, 읽기 성능 O, 읽기 일관성이 좋지않다 (ACID 깨짐)
속도 보다 ACID가 훨씬 중요하다. 데이터가 100% 정확해야한다.
- NoSQL
* ACID가 별로 중요하지 않다.
→ 사용하는 목적 데이터가 100% 필요 없는 프로그램
* 데이터 중복 OK → 한방에 Select(읽기 미친속도로 하고 싶어서)
→ 공유 할 수도 안할 수도 있다.
* FK(관계) 할 수도 있고 안할수도 있다.
* MongoDB → 수평적 확장 (데이터가 중복되어서 느린 쓰기 속도를 커버 - 샤딩)
※ Redis
- 메모리 저장소 ( 세션 저장 할 때 많이 사용 )
Example)
남극 추운 곳 - 기계 설치 → 현재 온도 1초마다 실시간 전송 - NoSQL
남극 추운 곳 - 기계 설치 → 현재 온도 1초마다 이상기온 전송 - RDBMS
2. Mongo DB 기본 명령어 해보기
- 접속 사용자 조회 : show users;
- 다른 db는 db를 만들면 collection이 만들어지지만, mongo는 collection을 만들면 바로 db가 만들어진다.
- collsections 조회 : show collections;
- greendb 생성 후 데이터 저장
스키마가 없기때문에 데이터 저장 하면 컬렉션이 없을경우 자동으로 생성된다.
memory에 저장되어진다. (I/O를 하지 않기 때문에 Select가 엄청 빠르다)
* 만약 Data를 입력하자마자 종료되어서 하드디스크에 Data 저장이 되어지지 않았다?(명령어는 실행되어지지 않았다.)
→ 내용을 기억하는것이 아니라 입력한 명령어를 기억하고 있다.(하드디스크에 저장이 되지 않았으면 명령어를 자동 실행되어 하드디스크에 저장)
- "_id" 는 Primary Key 이며, 데이터 입력시 자동으로 입력되어 진다.(Hash값으로 되어져 있다. / 수동으로도 입력가능)
'DataBase > Mongo DB' 카테고리의 다른 글
Mongo DB 6강 - 배열 연산자 (고급) (0) | 2021.09.27 |
---|---|
Mongo DB 5강 - Update, Remove (0) | 2021.09.24 |
Mongo DB 4강 - Save, Find, 연산 (0) | 2021.09.23 |
Mongo DB 3강 - Spring Boot 연결 / CRUD (0) | 2021.09.23 |
Mongo DB 1강 - 설치 (0) | 2021.09.23 |