DB 아키텍처 관련해서 문의 드립니다.
168
작성한 질문수 1
좋은 강의 해 주셔서 감사합니다. 짧은 시간안에 nosql 이해하는데 많은 도움이 되었습니다.
업무에 적용해봤으면 하는게 있어 문의 드립니다.
아래와 같이 예를 들어보면,
매일 한번씩 배우 평점데이터를 수집하여 1년치 평점 변화를 분석 하고자합니다.
수집되는 배우가 10만명정도되고 한번 수집되는 데이터의 양이 document max size를 초과한다면, 이런 시계열(?) 데이터들은 어떻게 적재를 하는게 맞는건지 문의 드립니다.
{ 배우이름: 조우진, 평점: 4, 수집날짜: 2021-07-17 }
제가 생각한 방안은 이렇습니다.
1) 한명의 배우는 하나의 Document만 생성. 변경되는 데이터는 배열로 추가. ( 찾아보니 Document max size가 16mb라서.. 데이터가 늘어날수록 제약이 있네요. 한번 수집되는 데이터가 1mb라면 16일만 수집이 되겠네요)
2) 매번 수집되는 배우의 정보를 새로운 Document에 추가. ( 동일한 배우의 여러 Document가 생길경우 비효율적으로 보입니다. 10만명의 배우라면.. 매일 10만개의 document가 생기겠네요..)
3) Collection을 배우별로 분리??
어떻게 구현은 되겠으나, DB 운영경험이 없어.. 성능이나 이런 부분에 대해 감이 없네요 ^^;
구성 방향이나 공부해야할 부분에 대해 조언좀 부탁드립니다.
감사합니다!!
답변 1
0
안녕하세요.
mongodb 는 데이터 사이즈가 방대할 경우, 이를 각 서버에 분리해서, 저장하고, 관리하는 기법을 추가로 제공하고 있습니다. 샤드라고 하는데요. 이 부분은 중급 이상의 기술이 필요한 부분이고요. 관리 기술이 좀 다르고, 복잡하다라고 이해해주시면 좋을 것 같습니다. 이 부분은 다음과 같은 링크에서도 참고하시면서, 익혀보실 수 있지만, 조금 많은 경험이 필요해서, 아직 많은 경험이 없으시다면, 추천드리지는 않습니다.
https://andole98.github.io/etc/mongo-shard-conf/
이외에는 말씀하신대로, 우선은 collection 을 특정 단위별로 분리한다든지 해보실 수 있을 것 같습니다. 어떤 단위로 분리할 것이냐는 어떤 정답이 있는 것은 아니라서, 적절히 시도해보시는 것을 추천드립니다.
감사합니다.
nosql -> sql 비교
0
45
1
studio 3t 설치시 문의
0
57
1
Compass
0
64
1
강의 자료 1,2,7단원만 뜨고 압축 아무리 풀어도 나오지 않는데
0
78
1
강의9분 조건연산자 관련 질문입니다
0
76
1
MONGODB_FUNCODING_V1_2 강의자료 에러
0
109
2
애플실리콘(M1) 몽고DB 최초 설치 후 실행 시 에러 Error: Permission denied
0
226
1
db.movies.aggregate() 질문
0
159
1
아나콘다 설치가 어려운데 아나콘다가 꼭 필요 할까요 ?
0
333
1
어그리게이션 프레임웍 질문
0
172
1
studio - 3T에서 Connection오류
0
460
2
db에 이미지 데이터 저장
1
1494
1
stduio 3t 설치 완료후 처음 실행하고 Login진행 시키면 웹 화면에서 계속 멈춰있습니다 더이상 진행도 안됩니다.
1
293
1
몽고DB 비교 문법 출력이 안 됩니다.
0
357
1
아나콘다에서 주피터 노트북이 없습니다
0
478
1
껏다 켜보니 funcoding 데이터베이스가 안보입니다 ㅠ
0
241
1
nosql 섹션3. 몽고DB 데이터 수정하기부분 질문
0
263
1
강의자료가 다 들어 있지 않은 것 같아요.
0
558
3
재귀적 크롤링을 위한 링크 가져오기 8:20
0
324
1
cmd에서 mongod
0
354
1
다른 강의 수강자분들께 도움될까 싶어 남깁니다.(linux mongodb 실행관련)
0
439
1
강의 자료 문서는 제공이 안되나요?
0
452
1
putty 접속 후 몽고db 스타트를 꼭 해야하나요?
0
426
1
안녕하세요 터미널 창에서 이상한 화면 질문드립니다!
0
498
1





