[TIL] MongoDB

동화·2023년 4월 29일
0

TIL

목록 보기
21/21
post-thumbnail

데이터베이스 💿

알다시피 웹사이트 내 유저 이름, 글 등 유저의 데이터를 영구적으로 안전하게 저장하고 싶으면 Database에 저장한다

Database에 종류는 여러가지가 있는데, 그 중 관계형, 비관계형 데이터베이스가 있다.



관계형 데이터베이스

관계형 데이터베이스는 데이터를 엑셀처럼 표에 저장한다.

데이터 입출력시 SQL이라는 언어를 사용해야 하고 미리 스키마 정의(표만들기)도 해야 하고 데이터 중복저장을 피하기 위해 정규화해야 하고 ...
여러가지 귀찮은 점들을 신경써야 한다.

주로 안정적인 데이터저장과 운영이 필요한 곳에서 쓰면 좋다.


## 비관계형 데이터베이스

비관계형 데이터베이스는 자료를 조금 더 자유로운 형식으로 저장할 수 있고
SQL 언어, 스키마 정의(표 만들기), 정규화 이런게 대부분 필요가 없다.
분산처리를 기본적으로 잘해서 주로 SNS 서비스처럼 많은 데이터 입출력이 필요할 때도 강점을 보인다.

MongoDB

그 중에 비관계형 데이터베이스인 MongoDB를 공부해보려고 한다.

데이터를 자바스크립트 object자료형과 똑같은 모양으로 저장할 수 있어서 편리하고
mongodb.com 들어가면 500mb 정도 용량의 DB 무료 호스팅도 받을 수 있다.


MongoDB의 데이터 저장 방식

  • collection 을 하나 만들어서 그 안에 document를 만들어서
    데이터를 기록하는 식으로 데이터들을 저장
    비유하자면 collection은 폴더, document는 파일
{ 데이터이름1 :1, 데이터이름2 :2 ... } 

document에 데이터를 기록할 때는 자바스크립트 object 자료형과 똑같이 저장하면 된다.

Database Access

여기서 역할을 atlas admin으로 설정해야 그 아이디로 DB 접속시 뭐든 다 할 수 있다


Network Access


데이터베이스 접속할 수 있는 IP를 미리 정의해놓는 일종의 보안장치로, 0.0.0.0/0 을 추가한다.
실제 서비스 출시때는 신뢰할 수 있는 IP만 추가해두면 된다.

0개의 댓글