csv 파일을 특정 컬렉션에 import 할 때 필드의 데이터 타입이 원하지 않게 들어가는 경우가 있습니다.예를 들어 123 값을 숫자가 타입이 아니라 문자열 데이터로 넣어야 하는데 별도 지정이 없으면 숫자로 들어가는 경우가 있습니다.csv 파일에서 필드의 구분은 ","로 할 뿐 각각의 데이터가 문자열인지 숫자인지 구분이 안되기 때문에아래와 같이 두가지 방법으로 이것을 해결할 수 있습니다. 첫번째 방법csv 파일 첫번째 줄에 필드명과 데이터 타입을 아래와 같이 넣어 주면 됩니다.---------------------- a.csv ----------------------------------member_no.string(), name.string()1234,홍길동------------------------..
if~ 문과 같은 조건문을 MongoDB에서는 아래과 같이 사용하실 수 있습니다.{ $cond: { if: , then: , else: } }또는{ $cond: [ , , ] } 위 구문처럼 $cond 오퍼레이터를 사용하면 else if 를 사용할 수 없습니다.else if 처럼 다중 비교문이 필요하다면 $switch 오퍼레이터를 사용해야 합니다.{ $switch: { branches: [ { case: , then: }, { case: , then: }, ... ], default: }}$cond와 $switch는 aggregate stage에서 $group, $project 모두에서 사용할 수 있습니다.
몽고디비로 빅데이터 분석시스템을 아직까지 구축 중에 있습니다.한정적인 자원으로 수행하다 보니 생각보다 더딥니다.프로젝트 막바지에 다다르니 "설계"의 중요성이 새삼 다시 되새겨 졌습니다.NoSQL이지만 데이터모델링이 잘 되어야 쌓아둔 데이터를 쉽게 활용할 수 있고,몽고디비 버전마다 조금씩 다른 특성을 최대한 파악하고 시작해야 삽질을 최대한 피할 수 있습니다.다른 NoSQL제품에 비해 몽고디비가 완성도가 높아 그나마 비교적 프로젝트를 진행할 수 있었습니다.끝으로 몽고디비에 관심이 있으신 분은 유튜브에서 아래 영상을 보시면 많은 도움이 되니 꼭 보시길 추천 드립니다.https://youtu.be/EE8ZTQxa0AM
소스코드 받을 수 있는 곳 = https://www.mongodb.com/download-center#previous 몽고디비는 오픈소스 NoSQL 제품입니다.상용버전인 "Enterprise Server"는 소스가 공개되어 있지 않지만, 무료 버전인 "Community Sever"의 소스는 공개되어 있습니다.몽고디비는 버전 넘버링에서 두번째 숫자가 짝수이면 안정버전, 홀수이면 개발버전입니다.바이너리 파일로는 3.7.x가 있는데, 개발버전이라 소스는 안정버전인 3.6.x가 공개가 되어있습니다.3.x 버전을 사용하시려면 3.6.x 버전으로 내려 받으시면 됩니다.C++언어로 작성이 되었네요.현재 가장 최신 버전인 4.0.1 버전과 회사에서 사용중인 3.6.x에서 가장 최신인 3.6.7 버전을 다운로드 받았습니..
URL = https://www.percona.com/blog/2016/08/12/tuning-linux-for-mongodb/ MongoDB를 가장 많이 설치하는 OS는 리눅스 입니다.샤드클러스터 및 레플리카셋을 구성해서 고가용성을 확보하는 것도 중요하지만,그에 앞서 우선 MongoDB가 최상의 상태로 동작할 수 있도록 리눅스시스템 설정 값을 튜닝해서 먼저 적용해 주어야 합니다.실제 프로젝트를 진행하다 보니 설정 값의 차이로 인해서 성능이 극과 극을 달리는 경우가 있었습니다.대다수의 NoSQL 제품이 기술지원 및 컨설팅 받기가 쉽지 않기 때문에 많은 기술적 검토와 POC가 이루어져야성공적으로 도입해서 사용할 수 있습니다.
몽고디비를 기반으로 대용량데이터 처리 프로젝트를 수행하면서 많은 도움을 받은 책입니다.몽고디비 관련된 서적이 거의 없기도 하지만, 이책 외에는 모두 오래된 책이어서 최신 버전의 몽고디비와내용이 맞지 않은 부분이 많이 있어서 실제로 도움이 되지 않았습니다.이책은 사막의 오아시스처럼 저에게 다가왔습니다.몽고디비를 기반으로 개발이나 DBA를 수행하고 계시다면 무조건 사서 보세요. 필독입니다. ^^ PS) 샤드클러스터/레플리카셋 설정파일에 대한 예제가 자세히 나왔으면 금상첨화일 듯 싶습니다.
01-01. 함수 생성db.system.js.save({ _id: "getYmd" ,value: function(offset) { var dateObj = new Date(); dateObj.setDate( dateObj.getDate() + offset); return dateObj.getFullYear() + lpad(dateObj.getMonth()+1, '0', 2) + lpad(dateObj.getDate(), '0', 2) ; }}) 01-02. 함수 로딩 db.loadServerScripts(); 01-03. 함수 실행getYmd(0) => '20180611'getYmd(-1) => '20180610'getYmd(1) => '20180612' ps) lpad() 함수는 이전 글을 참조 바랍니..
- Total
- Today
- Yesterday
- 로니카 BCS
- 브리다 정수기
- GKRS
- 홈 오피스
- 솔리드 쿨론
- 고체 향수
- 남설 팔찌
- 빈센트 반 고흐
- 카카오 에드
- 화분벌레
- Pixel Pals
- 코라나 19
- 루미큐브 종류
- 매직 트랙패드2
- node.js
- Life Chair
- yugabyteDB
- Sybase IQ
- 파나소닉 비데 DL-EH10KWS
- JMW 헤어드라이기기
- 증권정보포털
- 별이 빚나는 밤
- 배당급
- 별잉 빛나는 밤
- weka
- 톡토기
- 르세라핌
- 오미크론
- VARIDESK
- 유가바이트디비
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |