일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 직장인인강
- 해시태그 구현
- 패캠챌린지
- 패스트캠퍼스후기
- 줄바꿈 방지
- mongoose query
- event.keycode
- keyCode == 13
- 패스트캠퍼스 후기
- 직장인자기계발
- 직장인 자기계발
- useRef
- objectid
- 해시태그
- React
- 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지
- 한번에끝내는
- 패스트캠퍼스
- 리액트리덕스
- Object에 변수 지정
- keycode ==8
- 자동 높이 조절
- object
- Redux
- 한번에끝내는Node.js웹프로그래밍초격차패키지
- #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키
- 리액트
- #패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는Node.js웹프로그래밍초격차패키지
- react-redux
- 몽구스 쿼리
- Today
- Total
꾸준한프로그래밍
패스트캠퍼스 챌린지 9일차 - Nosql 정의, 설치 및 활용법 본문
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)
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'백엔드' 카테고리의 다른 글
패스트캠퍼스 챌린지 11일차 - 상태관리 리덕스 끝내기 (0) | 2021.09.16 |
---|---|
패스트캠퍼스 챌린지 10일차 - 웹소켓을 통한 실시간 인터렉션 구현 (0) | 2021.09.15 |
패스트캠퍼스 챌린지 8일차 - 리팩토링 및 Express / 사진 업로드까지 (0) | 2021.09.13 |
패스트캠퍼스 챌린지 7일차 - 리팩토링 및 Express (0) | 2021.09.12 |
패스트캠퍼스 챌린지 6일차 - 스트림과 노드 (0) | 2021.09.11 |