NoSQL 데이터베이스
noSQL 은 RDB와 다르게, 테이블(스키마)의 존재가 없어 사용 자체가 간편한 데이터 베이스이다.
- noSQL 장점
- 대부분 json으로 동작 ⇒ 중간에 뚝 끊을 수 있다. 그렇기 때문에 서버를 늘리면 반으로 잘라서 다른 서버에 옮기기 쉽다.
- SQL 문법이 존재하지 않는다 (대충 데이터 덩어리 만들어서 주면 넣어줌)
- 값 입력 작업이 RDB보다 빠르다.
- 수평 확장에 용이하다. ⇒ 서버를 구매한다. (참고로 수직확장이란 cpu를 늘리는 식이다.)
- noSQL 단점
- pk, fk 같은 기능이 없다 (중복 관리, 데이터 무결성 등 보장하지 않는다)
- 값 수정, 삭제 과정이 매우 느림
- noSQL 쓰임
- 데이터 구조가 수시로 바뀌는 작업에 쓰인다. ex) 게임 가방 인벤토리 - RDB로 하면 30개로 만들어야한다.
- 수정과 삭제는 거의 없고, 삽입과 읽기가 많은 작업 ex) Logging - 기록을 남기는 것
- 서버 수평 확장이 다분하게 일어나는 작업 ex) 빅데이터 - 서버가 천 만개가 넘어가면 서버사서 json을 끊고 넣어주고
mongo DB
- NoSQL 데이터베이스의 한 종류이다.
- 사용 형태
MongoDB Atlas ( 클라우드 서비스 )
MongoDB Client Server ( 자체 설치 서비스 )
- 데이터 구조
- Database - ex) RDB의 데이터베이스
- Collection - ex) RDB의 테이블
- Document - ex) RDB의 row ( json 데이터가 들어간다 )
- Index - ex) Document에 있는 한 데이터의 key
- Field - ex) Document에 있는 한 데이터의 Value
우분투에 mongodb설치
wget -qO - [https://www.mongodb.org/static/pgp/server-5.0.asc](https://www.mongodb.org/static/pgp/server-5.0.asc) | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] [https://repo.mongodb.org/apt/ubuntu](https://repo.mongodb.org/apt/ubuntu) focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt update
sudo apt install mongodb-org
// 데이터 서버 start
sudo systemctl start mongod
// 데이터 서버 켜져있는지 확인
sudo systemctl status mongod
// 서버 자동으로 껐다가 키도록 도와줌 자동으로 앞으로 설정됨
sudo systemctl enable mongod
mongosh
mongodb 명령어
- 기본 명령어
// 현재 접속중인 데이터베이스
db
// 데이터가 있으면 데이터베이스들 다 보여줌
show dbs
// 없으면 만들어주고 있으면 변경 됨
use 데이터베이스
// 데이터베이스 삭제
db.dropDatabase()
- insert
insert 하나만 할때

insert 종류가 많을 때

- find

조건 검색
ex) 비밀번호 1234 출력

ex) 비밀번호 1234중 id만 출력

- update
updateMany - 전체다 수정
updateOne - 위에서 부터 찾아서 첫 번째만 수정
앞 조건과 뒤 바꿀 값 → 해당 index=key가 없으면 추가 해줌

$unset은 해당 index 삭제
$로 할 수 있는 것 ⇒ 옵션으로 다양한 것을 할 수 있다.

- delete
deleteOne - 하나만 할때
deleteMany - 종류가 많을 때

728x90
'웹 > 백엔드 서버' 카테고리의 다른 글
| SSL 프로토콜 & SSL 설치 (0) | 2022.04.26 |
|---|---|
| node.js에 postgresql설치 및 설명 (0) | 2022.04.19 |
| DNS ( Domain name system ) (0) | 2022.04.19 |
| API 최적화 & API의 명세서 (0) | 2022.04.19 |
| node.js에 mariaDB로 게시판과 게시글페이지 만들기 (0) | 2022.04.18 |
댓글