몽고디비
-
MongoDB Version up에서 발생한 추가 문제사항mongoDB 2022. 6. 6. 12:40
2022.03.09 - [mongoDB] - Nodejs에서 mongoDB, mongoose Version Upgrade Nodejs에서 mongoDB, mongoose Version Upgrade 이유 legacy system에서 mongoDB version 3.2.11을 replica set으로 사용중인데 현재 몽고는 version 5까지 나왔는데 더 늦게전에 version upgrade를 할 필요를 느꼈다. 방법 서치 mongoDB 공식 문서를 보니 v.. zzihyeon.tistory.com Dev Server에서는 mongo-message-queue module만 문제가 있었는데 prod서버에서 미처 고려하지 못한 문제를 발견하게 되었다. 1. Node.js mongoose에서 mongo gfs..
-
MongoDB - Data modeling (2)mongoDB 2022. 4. 16. 15:16
2022.04.14 - [mongoDB] - MongoDB - Data modeling (1) 에 이어서 이제 좀 더 심도 있게 알아보도록 하자 The Number of Collections 개발을 하다보면 하나의 collection에 data를 다 저장할지 아니면 세분화해서 여러 collection에 나누어 저장할지 고민해야 되는 상황이 올 수 있다. 예를 들어서 log 정보를 관리하고자 한다고 생각해 보자. { log: "prod", ts: ..., info: ...} { log: "dev", ts: ..., info: ... } { log: "debug", ts: ..., info: ...} 여기서 만약 전체 documents의 수가 적으면 그냥 collection하나에 type으로 document..
-
MongoDB - Data modeling (1)mongoDB 2022. 4. 14. 07:24
data modeling은 왜 필요할까? 무엇인가를 개발할 때 우리는 어플리케이션의 요구사항, 데이터베이스 엔진 성능 그리고 검색 패턴의 균형을 잘 맞춰야만 한다. 즉, 개발 도메인에 맞는 데이터 구조를 파악하고 이에 맞는 데이터베이스 엔진을 선택하고 또 이를 어떻게 사용할지 고려해야만 한다. 그럼 이제 mongoDB의 Data Modeling에 대해 알아보도록 하자. Flexible Schema mongoDB는 noSQL 데이터베이스로써 SQL( Data를 insert하기 전에 Table의 column 즉 Schema을 정해놔야 함)과 다르게 동일 collection의 document들의 schema가 동일할 필요가 없다. document의 특정 field를 삭제하거나 추가하려면 다른 작업이 필요없이 ..
-
MongoDB Time Series Collection - 3mongoDB 2022. 3. 25. 19:53
https://zzihyeon.tistory.com/47 MongoDB Time Series Collection - 2 MongoDB Time Series Collection - 1 :: 개발 일상 일지 (tistory.com) 에 이어서 작성하도록 하겠다. How to Create? mongoDB에서 time-series collection을 사용하는 방법은 매우 간단하다. createCollection.. zzihyeon.tistory.com 이제 이론을 어느정도 알았으니 실제로 확인해보자 Create Collection 이전 포스트에서 방법을 알았으니 실제로 create해보자 성공적으로 collection을 생성했으니 아래의 명령어로 timeseries로 생성되었는지 확인을 해보자 db.runCom..
-
MongoDB Time Series Collection - 2mongoDB 2022. 3. 25. 19:15
MongoDB Time Series Collection - 1 :: 개발 일상 일지 (tistory.com) 에 이어서 작성하도록 하겠다. How to Create? mongoDB에서 time-series collection을 사용하는 방법은 매우 간단하다. createCollection command를 사용할 때 timeseries field 즉, time에 대응하는 data field만 설정하면 된다. Create Collection - 검색 기록을 위해 searchHistory라는 timeseries collection을 생성한다. db.createCollection("searchHistory", { timeseries: { timeField: "ts", }, }); 여기서 설정하는 "ts"라는 이..
-
MongoDB Time Series Collection - 1mongoDB 2022. 3. 25. 17:02
목표 기존에 mongoDB는 TimeSeriesCollection을 지원하지 않다가 5.0 version에서 처음으로 등장하게 되었다. 이에 관련해서 공부를 해보려고 한다. 그리고 최종적으로는 개발하고자 하는 앱의 사용자 검색 history Data를 Time Series Data로 관리할 수 있는지 Feasibility를 보고 적용해보려고 한다. Time Series Data 시간 간격에따라 측정되는 Data이다. 그리고 시간 간격에 따라 지속적으로 Data가 들어오므로 빈도수가 높을 수 있다. 가장 친숙한 예를 들자면 평일에 자주 보는 주식 호가 data, 매수/매도 data가 있다. mongoDB는 기본적으로 Timeseries Data를 저장 및 처리하는데 효율적이지만 고성능 솔루션을 위해서는 M..