| 5일차 교육 | 
1. 아키텍쳐 튜닝
 - replicaSet clusters 영역과 Functional area 영역은 반드시 분리하라
 - 하나의 인스턴스 보다 샤트 클러스터를 적절히 활용하라
 - 슬레이브 데이이터베이스에는 백업과 레포츠활동을 중지하라
 - 하나의 머신에는 하나의 몽고 인스턴스만 활성화하라
2. 하드웨어 튜님
 - ssd 권장
 - mapped cache area 크기가 2GB인 경우 적정 메모리의 크기는 약 10GB 이다.
 - CPU는 다중CPU 환경에서 구축하라.
 - 분산처리가 가능하게 하라.
3. 인스턴스 튜닝
 - 인덱스의 타입과 갯수는 적절히 하라
 - 최적화된 READ/WRITE가 가능하도록 쿼리를 작성하라
 - 인접성이 높아질수 있도록 설계하고 저장하라.
4. mongoperf 
 - 디스트 I/O 성능을 측정하는 유틸
(실습)
 1) 텍스트파일 생성후 아래와 같이 작성
   {nThreads:16, fileSizeMB:1000, mmf:false, r:true, w:true}     => mmf : memory mapped file
 2) mongoperf > perf.txt   => 실행
 3) 로그확인. 스레드 16개로 READ/WRITE를 수행
5. 백업과 복구
 - 셧다운&파일 백업 - 리스토어
 - fsyncLock/fsyncUnLock&backup - CopyDatabase/CloneDatabase
 - Snapshot Backup - Recovery
 - MongoDump - MongoRestore
 - MongoExport - MongoImport
 - Master/Slave, Replica Backup(OpLog) - Replica Set, Recovery(OpLog)
 - 백업 및 복구단위 - 전체, db별, 컬렉션별 백업
 - 각 컬렉션을 bson으로 백업
 1) mongoDump & mongorestore
 (실습)
  mongodump --db test --collection employees --out c:\mongodb\bin\dump   => --out 옵션을 안주면 bin아래 dump폴더가 디폴트
  mongorestore c:\mongodb\bin\dump --objcheck --drop
   - 유의사항
     dump중 사용자의 CRUD를 놓칠수 있으므로 낮시간에는 --oplog를 넣어준다.
 2) BsonDump
   - 백업 파일 분석.
 3) mongoImport & mongoExport
   - json타입, csv타입, tsv타입(탭구분)
 4) copyDatabase & cloneDatabase
  (실습)
  db.copyDatabase("test", "test2", "localhost")
  - 클론의 경우 다른 서버에서 같은 이름의 db명에서 실행해야함
 5) MongoStat & MongoTop
  - 실시간 모니터링 유틸리티
  - MongoStat - 서버의 모든 액션을 모니터링
  - MongoTop - 모든 컬렉션에서 발생하는 액션을 모니터링
 6) Web monitoring
  - 서버 구동시 --rest 옵션을 주고, http://localhost:28017/ 로 접근
 7) 로그 수집
  - 서버 구동시 옵션 추가 => --logpath c:\mongodb\logs\log_20130426.txt
 8) 그 외
  - db.serverStatus()
  - db.stats()
  - db.currentOp()
  - db._adminCommand("connPoolStats")
5. 하둡연동
 (실습) 책보고 실습하기
6. Flume, Fluentd (http://fluentd.org)
 - 로그를 json형태로 수집해주는 로그 수집기.
 
 
댓글 없음:
댓글 쓰기