꾸준한프로그래밍

패스트캠퍼스 챌린지 9일차 - Nosql 정의, 설치 및 활용법 본문

백엔드

패스트캠퍼스 챌린지 9일차 - Nosql 정의, 설치 및 활용법

꾸준이 2021. 9. 14. 23:46

0. 공부 인증

공부 시작 : 22 : 15

공부 종료 : 23 : 18

 

 

이모집에서 강의를 듣느라 정신이 없다(그래도 돈은 받아야 하지 않겠는가!!)

원래같으면 그냥 놀고 먹기 바빴겠지만 이런 챌린지를 하니 공부 시간 확보는 덤으로 따라온다. 공부 습관 갖기에 참 좋은거 같다.

그리고 회원가입 시스템을 만들며 몽고DB에 대한 심층적인 공부가 필요하던 찰나였는데 정말 잘됐다.

 

그럼, 오늘의 노트도 시작해야겠다(시간이 얼마 안남았으니 빨리빨리,,)

 

1. NoSQL의 뜻

스키마 없이 데이터를 표현하는 일련의 데이터 베이스들//

Not Only SQL (오직 관계형베이스인건 아니다 라는 뜻으로도 쓰인다고 함)

 

특징 - 정해진 스키마(틀)가 없음

- 데이터베이스 종류에 따라 그 특성이 매우 다름(관계형 데이터베이스는 어느정도는 유형이 비슷함)

 

장점 - 높은 수평 확장성

- 초기 개발 용이함

- 스키마 설계가 유연함

 

수직확장 : 한 인스턴트를 키우는거라 확장이 제한적임

수평확장 : 더 많은 인스턴스 만들어서 더 큰 로드 감당 => 많은 부하도 감당할수 있음

 

단점 - 표준이 없다. 배우는거마다 다 다를 수 있다. 데이터의 일관성이 없다.

 

가장 큰 단점은 배우는거마다 다 다른 점이 아닐까 싶다. mysql은 하나로 모든 관계형 DB를 대충 퉁쳐버릴 수 있다고 한다. 흠... mysql을 공부해야 하나?

 

 

2. NoSQL 의 종류

- key-value 형태( 가장 기본적은 NoSQL DB)

- Document-based >> 각 레코드가 하나의 문서가 됨 (위의 key-value에 비해서는 데이터가 일관성 있음)

- graph-based >> node(객체)와 edge(관계), 그리고 property(객체 속성)으로 이루어짐 / 관계기반 문제(실시간추천 등 유리)

 

부디 내가 쓸 NoSQL은 key-value 형태밖에 없기를 바라본다...

 

3. MongoDB atlas 설치

- 용량 별로 안쓸거기 때문에 free계정으로!

- 계정 만든 후 Clusters 탭 -> CONNECT 클릭 -> Add Your Current IP Address -> 유저정보 설정 >Connect application > 주어진 코드에 내 유저정보를 잘 끼워맞추면 됨

- 이후에 npm install mongodb 로 vscode에 설치후 위 설명대로 설정 끝(동영상 보면 더 자세히 나와있다)

 

 

 

4. MongoDB  사용

await users.deleteMany( {})

await users.insertMany([])

await users.updateOne({})

const cursor = users.find({})

await users.deleteOne({})

등등의 함수들이 있다 위에부터 삭제, 삽입, 업데이트 , 찾기(read이겠지?) ==> 기본적인 CRUD 완성했다.

 

자주 쓰며 이런 커맨드들은 외울수 있도록 해야겠다. 쓸일 있을때마다 하나하나 찾아보는건 너무 귀찮다....

 

 

환급 챌린지 (9/30)

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr