2. TIP 7: 미리 만들 수 있는 것은 만들어 놓자.
• Insert 비용 보다 Update 비용이 싸다.
– 공간 할당이 필요가 없으므로
• 어디에 쓸 것이냐?
– 통계 페이지 처럼 시간마다 같은 크기에 값만 바뀌는 경우
• 그런데 적은 용량이면 insert나 update가 큰 차이가 없을듯…
4. TIP 8: 가능하면 공간을 미리 할당하라.
• Tip 7과 같은 내용
• 미리 만들어두고 당장 안쓰는 정보는 $unset 해 두자.
5. TIP 9: 데이터를 내장할 때 식별자 없이 검색하려면
배열에 저장하라.
• 식별자
abilities.str
Abilities.con
식별자를 쓴다는 것은 이름
을 안다는 것!
6. TIP 9: 데이터를 내장할 때 식별자 없이 검색하려면
배열에 저장하라.
MongoDB 의 특징이
Schemaless 하므로 다
양한 아이템을 넣을 수 있
다.
하지만 damage가 20이
넘는 것만 검색하려면?
7. TIP 9: 데이터를 내장할 때 식별자 없이 검색하려면
배열에 저장하라.
배열로 만들어서 검색
8. TIP 10: 문서가 자급자족할 수 있도록 설계하라.
• MongoDB는 똑똑하지 않다.
9. TIP 10: 문서가 자급자족할 수 있도록 설계하라.
• MongoDB는 똑똑하지 않다.
10. TIP 10: 문서가 자급자족할 수 있도록 설계하라.
• findAndModify를 이용한 Locking을 이용한 방법
11. TIP 11: 자바스크립트보다는 제한자를 사용하라
• $where는 강력하다.
• 그러나 느리다!
– 제한자의 경우 BSON으로 전달 후 데이터도 BSON 이므로 파싱 없이 처리
– $where 조건의 경우 모든 데이터를 자바스크립트 객체로 생성하고 자바스크
립트를 실행해야 함
14. TIP 13: 데이터 무결성 문제에 대처하는 코드를 작성하라.
• 데이터 일관성을 어플리케이션에서 유지
• Cron 등의 주기적 작업이 필요
– Consistency Fixer
– Pre-Populater
– Aggregator
• 다른 유용한 Script
– Schema checker
– Backup Job