※때에 따라서 해당 웹 페이지의 인터페이스 디자인이 조금씩 변하므로,
조회하시는 시간과 본 포스트 작성의 시간적 격차가 있는 경우
해당 설명과 상이한 부분이 있을 수 있습니다!
반갑습니다
저번 포스트에서는 함께 MongoDB Atlas 회원가입 및 무료등급 클러스터 생성까지 알아보았습니다 ^^
오늘은 서비스 이용에 있어서 간단하게나마 구조를 조금 살펴보려고 합니다!
먼저 몽고DB 공식 페이지에 접속해주세요
계속 다른 페이지로 연결되는 경우도 있어서, 편의를 위해 링크 첨부하겠습니다 ^^!
그리고 화면 우측 상단의 "등록" 버튼을 눌러주세요!
그럼 상기 이미지와 같이 로그인 화면으로 넘어갈 수 있습니다!
회원이 아닌 경우 Sign Up을 눌러서 회원가입을 해주시면 되겠고,
연동 이메일 또는 계정으로 가입하신 경우에는 Google 및 GitHub 버튼을 클릭해주시면 되겠습니다!
연동 이메일(계정) 외 직접 가입하신 분들은 Email Address 입력해주시고 Next 버튼 눌러주시면 되겠습니다 ^.^!
지난 포스트에서 두어번 본 그 익숙한 콘솔 화면으로 이동하셨을겁니다 ^^
콘솔 화면의 좌측 상단을 살피시면,
구글 계정으로 가입하신 경우, 이름's Org 년-월-일 식으로
Organization Name이 자동으로 설정되어 있는걸 보실 수 있습니다!
해당하는 부분을 누르니 Organization Name을 검색할 수 있는 검색창이 나옵니다 ^^
그리고 그 바로 밑에 보시면 현재 설정되어 있는 Project Name이 표기되는데요
저 같은 경우에는 "Project 0"으로 설정되어 있네요 아마 이게 default 값인가봅니다 ^.^
보시면 New Project 버튼이 있죠?
본인의 계정에 하위 목록으로 여러 Project를 둘 수 있습니다 ^^!
이미지에서는 약간 가려져있는데, 현재 열람중인 프로젝트 이름 옆에 Data Services가 있고,
그 바로 밑에 " 이름's Org 년-월-일 > 현재 프로젝트 이름 "으로 표시가 되어 있습니다
여기서 본인 Organization Name을 누르시면 Organization 페이지로 넘어가는데요!
이렇게 Organization 페이지에서 여러가지 메뉴 탭들을 통해서 정보들을 열람할 수 있는데요
Projects 페이지에서는 현재 생성되어 있는 프로젝트가 무엇무엇이 있는지,
그 프로젝트에 생성되어 있는 Cluster가 몇 개인지, 사용자가 몇 명인지, 알람이 몇 개가 있는지 확인 가능합니다 ^^
여기서 Settings 탭을 선택해보겠습니다!
그럼 상기 이미지와 같은 페이지로 이동하는데요
해당 Organization ID, Name, Created On 등 여러 정보가 표기됩니다!
좌측 상단의 Organizaion Name 옆의 설정 아이콘을 눌러도 바로 이 페이지로 이동할 수 있습니다 ^.^
정리 해보자면,
제일 먼저 가입한 계정마다의 고유 Organization ID가 있습니다
그리고 그 하위 목록으로 여러 Projects를 생성할 수 있는데요!
저 같은 경우에는 "Project 0"이라는 이름으로 프로젝트 하나가 생성되어 있었죠^^
그리고 각 프로젝트의 하위 목록으로 Clusters가 존재합니다
미리 간단하게 말씀드리자면,
Organization ID → Projects → Clusters → Database → Collections → Documents 순서입니다 ^.^
이 중에서 Clusters까지 살펴보았네요 ^^
이제 다시 Project 0을 클릭해서 콘솔 화면으로 이동해보겠습니다!
저는 해당 무료 등급 클러스터의 이름을 "project-server"라는 이름으로 지정했었습니다 ^.^
현재 Data Size가 134.45MB라고 사용중인 메모리 양도 표기가 되네요
저는 아직 어떤 데이터도 집어넣은 적이 없는데 무엇 때문에 사용 중인 용량이 있는 걸까요?
"Browse collections"를 클릭해서 한 번 살펴보겠습니다 ^^
해당 프로젝트의 상세 정보화면입니다!
그 중에서 가장 중요한 Collections 탭이 선택되어 있어 해당 관련 정보가 화면에 출력되어 있는데요 ^^
[Organization] → [Project] → [Cluster] → [Database] → [Collection] → [Document] → [Field] → [Value] | |||||||
ORGANIZATION NAME |
PROJECT | CLUSTER | DATABASE | COLLECTION | DOCUMENT | FIELD : VALUE | |
User's Org 2024-07-14 | Project 0 | project -server |
sample _mflix |
comments | document1 | field1 : value1 | |
field2 : value2 | |||||||
... : ... | |||||||
document2 | … : … | ||||||
document3 | … : … | ||||||
… | |||||||
embedded _movies |
… | ||||||
movies | … | ||||||
sessions | … | ||||||
theaters | … | ||||||
users | … | ||||||
database1 | … | ||||||
database2 | … | ||||||
… | … | ||||||
cluster A | database A | collection A | |||||
cluster B | … | … | |||||
… | … | … | |||||
Project 1 | Cluster 1 | … | … | ||||
… | … | ||||||
Cluster 2 | … | ||||||
Cluster 3 | … | ||||||
… | |||||||
Project 2 | … | ||||||
… |
이해를 돕기 위해 조잡하게나마 표를 한 번 만들어봤습니다 ^.^;;
클러스터 생성시에 default로 들어간 데이터들을 살펴보겠는데요!
현재 저의 Organization에는 Project 0라는 하위 프로젝트가 있고,
이 프로젝트 안에 project-server라는 이름의 클러스터가 있고,
이 클러스터 안에는 sample_mflix라는 데이터베이스가 생성되어 있습니다 ^^!
그리고 이 데이터베이스 안에 총 6개의 컬렉션이 생성 되어 있는데요
첨부한 상기 이미지에서는 컬렉션들 중 comments라는 이름의 컬렉션의 상세 정보가 나타나있습니다!
comments라는 컬렉션에는 41,079개의 도큐먼트가 포함되어 있네요
그리고 각 도큐먼트에는 공통적으로
"id", "name", "email", "movie_id", "text", "date"라는 이름의 field들이 존재하고
이 필드들에 각각 해당하는 value들이 매핑되어있네요 ^.^!!
샘플데이터인 sample_mflix 데이터베이스의 comments 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 41,079개네요!
샘플데이터인 sample_mflix 데이터베이스의 embedded_movies 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 3,483개네요!
샘플데이터인 sample_mflix 데이터베이스의 movies 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 21,349개네요!
샘플데이터인 sample_mflix 데이터베이스의 sessions 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 1개네요!
샘플데이터인 sample_mflix 데이터베이스의 theaters 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 1,564개네요!
샘플데이터인 sample_mflix 데이터베이스의 users 컬렉션에 들어있는 데이터 정보들입니다 ^^!
이 컬렉션의 총 도큐먼트 수는 185개네요!
이렇게 좀 살펴보니,
스토리지 용량 512MB 제한의 무료 등급 클러스터에
생성 직후 용량이 왜 136MB씩이나 사용 중 상태였는지 이제 알겠네요 ^^
이상으로 MongoDB의 구조에 대해서 조금 살펴보았는데요 ^^
같은 NoSQL이더라도 그 구조에 따라서 또 구분이 가능하죠
일단 Graph 모델 / Aggregate-oriented 모델로 구분이 가능하고,
이 Aggregate-oriented 모델은 다시 세 가지 정도로 구분 가능한데,
대표적으로 ①Key-value 형식 제품은 AWS의 DynamoDB 등,
②Documents 형식 제품은 Firebase의 Firestore 또는 MongoDB 등,
③Column-Family 형식 제품은 Cassandra 등이 있죠 ^.^
참 이런 저런 개념과 기술과 제품들을 접하다보면
정말 똑똑한 사람들이 많다는걸 느낍니다 ^.^;;
이번 포스트도 읽어주셔서 감사드리고, 다음 포스트에는 Python 코드를 통해서
MongoDB의 기본적인 CRUD를 살펴보도록 하겠습니다
드넓은 개발의 세계를 항해하시는 모든 분들 늘 건승하시고 행복하시기 바랍니다 ^.^!
'MongoDB > MongoDB Atlas 이용방법' 카테고리의 다른 글
MongoDB Atlas 클러스터 생성하기 (0) | 2024.07.14 |
---|