mongoDB Atlas를 가입+설치+세팅하고 Compass를 설치하는 내용에 대한 글이다
가입하고, 다운받고, 샘플데이터를 넣어서 확인하는 것 까지 진행해 보겠다.
일단 간단하게 mongoDB에 대해서 설명하고 넘어간다.
mongoDB
mongoDB는 document 지향적 데이터베이스이며,
NoSQL데이터베이스중 대표적인 예다.
이는 전통적인 관계형 데이터베이스보다 덜 제한적이며, 단순 검색 및 추가 작업에 최적화 되어있다.
데이터가 Relational하게 저장되지 않고, JSON형식으로 저장되어 확장성이 매우 좋다!
데이터가 저장된 모습을 보면 다음과 같이 JSON형태이다.
(실제로 저장될 때는 이를 Binary형태로 바꾸어 저장하므로, Bson타입이라고 부른다)
mongoDB에서는 전통적인 데이터베이스와는 다른 용어를 사용한다.
전통적 DB | Mongo DB |
Database | Database |
Table | Collection |
Row | Document |
Index | Index |
(DB) Server | mongod |
(DB) Client | mongo |
이제 본격적으로 작업환경을 세팅해보도록 한다.
MongoDB Atlas가입
아래 사이트에서 mongoDB Atlas
Sign up한다! (나는 구글아이디로 함)
Create Organizations
일단 가입하면 organizations를 만들어야 그 다음으로 넘어갈 수 있다
(여기서 헤맸음 ㅠ) 캡쳐를 못했다
나는 teamJ라는 이름으로 oragnizations를 만들었다.
Create Projects
위의 New Project버튼을 눌러 새로운 프로젝트를 생성한다 .
멤버추가는 나중에 해도 괜찮기 때문에 일단 진행해준다.
Create Cluster
클러스터를 생성한다.
일단 프리버전인 Shared Clusters로 생성해주었다.
클러스터하나당? 프로젝트 하나당? Sandbox는 1개만 생성이 가능하다.
클러스터 이름도 지정가능하다.
다음과 같이 클러스터가 생성된 것을 볼 수 있다.
Create Database user
사실 데베를 실제로 사용하기 위해서는 그냥 아래에 뜨는 것을 차례대로 따라가면된다.
MySQL을 사용해본 사람은 알겠지만, (나는 일단 php, mysql 사용해봄)
php코드를 짤 때 위에 데베 이름, 비밀번호 이런것들을 입력해야 mysql내 데이터베이스에 접속이 가능하다.
*참고 php + mysql
$conn = mysqli_connect(
'localhost',
'id',
'password',
'database');
$sql = "SELECT * FROM topic";
$result = mysqli_query($conn, $sql);
뭐 이런식으로 mysql과 connect 코드를 작성하는데...
mongoDB도 마찬가지로, 비밀번호를 지정하여 사용자를 받을 수 있다!
SECURITY → Database Access 에 들어가서 Add New Database User 를 클릭한다.
다음과 같이 화면이 뜨는데, 일단 비밀번호 방식을 이용하기로 한다
이제 아이디와 비밀번호를 입력해주는데
위의 칸이 아이디, 아래칸이 비밀번호 같은 것이다.
여기서 어이없지만 주의할 점 ! Autogenerate Secure Password 를 클릭하지 말자 ㅎㅎ..
어이가 없지만 난 대충 읽고 저거 누르면 비밀번호가 등록되는줄 알고 눌렀는데, 자동으로 어려운 비밀번호를 생성해주는 버튼이었다
그래서 비밀번호가 틀려서 접속을 계속 못했다 ^^ ... 영어를 잘읽어보자
User Previlieges는 권한을 얼마나 부여할지인데, 생성할 모든 데이터베이스에 대해 읽고 쓰는 기능이 필요하므로,
"Read and write to any database"를 선택해준다. -> 이거보다 상위를 선택해주면 데베 삭제도 가능하다
그다음 Add User 누르면 끝
Access IP list
이제 어느 IP에서 접속이 가능한지 보안에 신경쓸 차례인데,
일단은 테스트 단계라서 모든 아이피에 대하여 허용해주었다.
ALLOW ACCESS FROM ANYWHERE 을 누르면 모든 아이피에 대해 접속이 가능하도록 만들 수 있다
Sample Data넣기
이거는 건너 뛰어도 되는 단계인데, 데이터 베이스에 샘플로 데이터를 넣어볼지에 대한 내용이다.
나는 일단 데이터베이스와 플라스크를 연동하는게 목적이기 때문에
가진 데이터도 딱히 없고, 샘플데이터를 넣어서 확인용도로 사용하기로 했다.
클러스터로 이동하여, ... 부분을 클릭하고
load Sample Dataset을 클릭한다.
조금 오래걸리는데, 몇분이 지나면 다음과 같이 데이터가 생겨난 것을 Logical Size로 보여준다.
이제 마지막으로 이번 글 내내 생성한 Cluster를 어딘가와 연결하는 것이다.
플라스크와 같은 백엔드에 연결할 수도 있고, mongoDB Compass와 연결하여, 데이터베이스를 확인해볼 수도 있는데,
플라스크와는 다음 게시글에서 연결해보고 이번에는 일단 mongoDB Compass와 연결하도록한다.
MongoDB Compass 설치
맥에서의 설치는 너무 간단하기에 생략한다.
다음 링크에서 다운받을 수 있고,
https://www.mongodb.com/ko-kr/products/compass
모두가 알다시피 드래그하면 된다.
켜면 이렇게 나온다. 여기서 부터 시작!
또는 이 방법으로 설치가 가능하다. (밑에서 계속)
mongoDB Compass와 conect
다시 여기로 돌아온다.
여기를 클릭한다.
맨 아래에
Connect using MongoDB Compass 를 클릭해준다.
이와같은 창이 뜬다
이미 있다고 골라주면 되는데, 아까 위에서 말했듯 없으면 없다고 선택하고 설치 후 하면된다
버전을 골라주고, 근데 아마 들어가서 그냥 깔았으면 최신버전일 것
mongodb+src://<id>:<password>@<clustername>...으로 이루어져있다.
이제 이걸 그냥 복사해서
이 부분에 복사한 후에 <password>부분만 지우고, 자신이 "Create database user"파트에서 지정해준 비밀번호를 입력해주고
Connect를 눌러주면된다.
이렇게 데이터베이스 목록을 볼 수 있는데,
위의 3개를 제외한 나머지 sample...부터 8개가 아까 위에서 샘플로 넣어준 데이터이다.
왼쪽을 보면, 데이터베이스가 있고
눌러보면 밑에 폴더같은 모양으로 뜨는 것이 보이는데, 이게 collection이다.
눌러서 확인해보면, 다음과 같이 몽고디비는 데이터가 relation형식이 아닌, json형식으로 저장되어 있는 모습을 확인할 수 있다!
다음은 플라스크 서버에서 확인하는 방법에 대해 쓰겠다
'Backend > Flask' 카테고리의 다른 글
[Flask] 개발환경 구축 (0) | 2021.07.04 |
---|