전체 글
-
[개념] MongoDB 알고 사용하기 - 데이터 모델링STOVE DEVCAMP 3기/알림 서비스 2023. 3. 10. 02:13
개요 하나의 MongoDB 인스턴스는 여러 개의 데이터베이스(scheme)를 가질 수 있고, 각 데이터베이스는 다시 여러 개의 컬렉션을 가진다. 데이터베이스와 컬렉션 1) 네임스페이스 MongoDB에서 데이터베이스 이름과 컬렉션의 이름 조합을 '네임스페이스'라고 한다. WiredTiger 스토리지 엔진에서는 별도의 네임스페이스 파일을 사용하지 않기 때문에 MMAPv1 스토리지 엔진과 달리 최대로 생성할 수 있는 컬렉션이나 인덱스의 개수에 제약이 없다. 2) 데이터베이스 WiredTiger 스토리지 엔진은 MySQL과 동등한 수준인 도큐먼트(레코드) 수준의 잠금을 제공한다. 3) 컬렉션 샤딩 관점 MongoDB는 내부적으로 이미 샤딩 기능을 가지고 있기 때문에 컬렉션 단위의 샤딩은 별도로 크게 고려하지 않..
-
[개념] MongoDB 알고 사용하기STOVE DEVCAMP 3기/알림 서비스 2023. 3. 10. 02:12
💡 참고 Real MongoDB 📌 MongoDB vs. RDBMS(MySQL) MongoDB RDBMS(MySQL) 데이터베이스 (database) 데이터베이스 (database) 컬렉션 (collection) 테이블 (table) 도큐먼트 (document) 레코드 (record or row) 필드 (field) 컬럼 (column) 인덱스 (index) 인덱스 (index) 쿼리의 결과로 cursor 반환 쿼리의 결과로 record 반환 쿼리의 결과로 "커서(Cursor)" 반환 MongoDB는 쿼리 결과로 커서를 반환하는데, 커서를 통해 실제 도큐먼트(레코드)를 가져올 수 있다. MongoDB에서 쿼리의 결과로 커서를 반환하는 이유는 쿼리의 결과를 클라이언트 서버의 메모리에 모두 담아두지 않아도 ..
-
[알림 서비스] 전체 구성 설계STOVE DEVCAMP 3기/알림 서비스 2023. 3. 10. 01:57
📌 요구사항모바일 푸시 알림만 지원함 (SMS, 이메일 알림 X)연성 실시간 시스템임알림은 가능한 빨리 전달되어야 하지만 시스템에 높은 부하가 걸렸을 때 약간의 지연은 무방함약간의 지연은 무방하지만 어떤 상황에서도 알림이 소실되면 안됨 → 데이터 손실 방지를 보장해줘야 함iOS, 안드로이드 단말 모두 지원함알림으로 전송할 모든 이벤트는 클라이언트에서 만들어 냄디바이스별 푸시 알림 ON/OFF 설정 가능함하루에 1000건(100명의 사용자 x 10건의 알림)의 모바일 푸시 알림을 보낼 수 있어야 함사용자별 알림 목록 조회가 가능함현재까지 받은 알림 전체 다 볼 수 있는 건가?비즈니스 요구사항이므로 팀원들과 함께 정할 필요 있음ex) 30일 치의 알림만 보여주기단건 알림과 다중 알림 모두 가능함다중 알림 ..
-
FastText 기반 카테고리 분류 모델 만들고 배포하기Project/DEVOOK 2022. 5. 17. 20:12
📌 머신러닝 워크 플로우 위의 워크 플로우를 바탕으로 데이터 수집 → 데이터 점검 및 탐색 → 텍스트 전처리 및 토큰화 → 데이터셋 구성(학습용, 검증용) → 지도 학습을 통한 분류기 생성(모델링 및 훈련, 평가) → 카테고리 분류 머신러닝 모델 API화 순서로 진행하였다. 📌 개발 환경 요약 Google Colab, PyCharm, AWS EC2, Docker 📌 1. 데이터 점검 및 탐색 구글 코랩 환경설정 및 사용법 https://theorydb.github.io/dev/2019/08/23/dev-ml-colab/ 수집한 데이터 점검 및 탐색 예시 ### 자연어 처리를 위한 NLTK와 KoNLPY 설치 import nltk # import all the resources for Natural Lan..