OSCON 2015 MongoDB in use 김인범 SK C&C
Tables 1. MongoDB? 2. MongoDB 3.x features 3. Tips for MongoDB 4.MongoDB Korea
I am... 김인범 (SK C&C) Cloud Computing Infra Service Team 1 MongoDB Korea R Korea
With MongoDB 커뮤니티활동 & 외부활동 & 저술활동
Table 1. MongoDB...?
MongoDB 첫질문? (before 2014) Mongol 사람들이만들었나요? MongoDB main office 가 Mongol 에있나요...? 제품완성당시의장소가 Mongol 인가요...? (Java 의탄생비화처럼...)
MongoDB 첫질문? (after 2014) MongoDB 활용하는곳이많은가요? MongoDB 성능은어떤가요? 도입하려하는데망설여져요.
What is MongoDB? humongous = 거대한 humongousdb
What is MongoDB? Document Oriented Database Replication / Sharding Multiple Transaction(CRUD) / Map-Reduce Latest Stable Version is 3.0.6 (September, 2015)
What is MongoDB? Document?
What is MongoDB? Replication / Sharding
Question?
Answer!
Answer!!!!!
Growing Up!
MongoDB 구조간단 review -1
MongoDB 구조간단 review -1
MongoDB 구조간단 review - 2 mongod - 데이터를저장, 관리 ( 복제정책적용가능 ) mongos - client 의요청받아환경설정서버의 partitioning 정보를참고해적절한데이터서버로요청을포워딩 Config Server - sharding 에대한환경설정서버 - partitioning 에대한정보를관리
기억할것! mongod - 데이터를저장 mongos - client 와 mongod 서버간라우터역할 Config Server - 메타정보관리
MongoDB Benefit Elements of MongoDB fit for Cloud & Big Data Environment Open Source ( 물론라이선스는있음, GNU AGPL v3.0) Easy Scalability(Scale out), Easy Install, Easy Use Schemaless High Availability
MongoDB use ( 해외 ) facebook, google, twitter MetLife, foursquare, NewYork Times, Forbes 이외에도 http://www.mongodb.com/who-uses-mongodb
해외사례요약하자면...
MongoDB use ( 국내 ) FIFA Online 3 DaumKakao My Agora LG U+ 그룹웨어, 패턴분석처리시스템 인터파크, 상품검색및채팅서비스시스템
MongoDB use ( 국내 )
직접해보시려면...
직접해보시려면 MongoDB Download link
귀찮으시죠..?
귀찮으시죠..? MongoDB Shell link http://try.mongodb.org/?_ga=1.232175391.1478816937.1399257850
귀찮으시죠..?
귀찮으시죠..?
...?
Try it out 이사라졌다 명령어테스트를할수있었던 Try it out 창이사라짐 MongoDB university로의유도를위한조치 MongoDB university의커리큘럼은훌륭한편
직접공부해보려면...
공부해보려면 MongoDB education link https://university.mongodb.com/
공부할수있는것들... MongoDB education link https://university.mongodb.com/
공부하다얻을수있는것...?
MongoDB 이럴때쓰지마세요! 고객이 Oracle이랑비교할때 (RDBMS와는태생이다름 ) 무료라는이야기듣고고객이들이댈때 재정적으로여유가있을때 License에대한이해가불충분한경우
MongoDB 이럴때쓰세요! 유연함과확장이필요할때 log data, SNS data 등을적재및활용 다양한 open source와연계할때 (ex. Hadoop, R, Spark) 개발주기가짧거나 prototype 형모델을제시할때 고객이 open source에대한이해가충분할때
Table 2. MongoDB 3.x features
Features 1. Wired Tiger Engine
Wired Tiger Engine 3.0 부터새롭게도입 mongodb 사용시엔진선택가능 (--storageengine= wiredtiger ) 디폴트설정시에는 MMAPv1 엔진사용 Wired Tiger Engine 은 64bit & mongodb 3.0 일때만사용가능
Features 2. Locking Level
Locking Level 2.6 DB level locking 3.0 default Collection level locking 3.0 wired tiger engine document level locking Locking issue 해결로 MongoDB의오랜숙원이해결됨
Features 3. Replica Set
Replica Set Replica set member 를 50 개까지사용가능 고가용성, 하지만개별레플리카셋자체의크기는커짐 각각의노드에서서로다른엔진사용가능. 하나의레플리카셋에서노드 A 는 MMAPv1, 노드 B 는 Wired Tiger Engine
Features etc. 그외특징들...
Extra Features 전체적인성능향상 (7x ~ 10x) 관리도구강화 (MMS Cloud Manager / OPS Manager) explain 기능향상, 보안메커니즘강화 (SCRAM-SHA-1 인증 )
Table 3. Tips for MongoDB
Tips 1. CPU 는무조건 64bit~! 메모리는 Maximum 구성 ~!
Tips 2. MongoDB의 release에따른연동시스템의버전관리가필요함. deprecated 된함수들이종종발생할수있으며, 호환성문제도발생가능
Tips 3. 다양한방식으로모니터링을시도하고, 각상황에맞는모니터링방식을 선택하여효과적인모니터링을하자.
Tips 4. auto sharding 에의존하기보다는 Hash key 를미리잘설정할것
Tips 5. MongoDB, 이제는 modelling 에신경쓰자.
Tips 6. MongoDB 만고집하기보다는 서비스상황에따라여러제품을 다양하게조합해보자.
Tips 7. 노드별로스토리지엔진을다양하게적용할수있다. 이는노드를용도별로구분하여사용하거나, BMT, PoC와같은상황에서유용하다.
Tips 8. Config server 는반드시물리적으로 분리되어구성되어야한다.
Tips 9. 저널링으로인한성능이문제라면, 저널의 write 간격을넓히자. ( -- journalcommitinterval)
Table 4. MongoDB Korea
MongoDB Korea https://www.facebook.com/groups/krmug/
MongoDB Korea 운영진 https://www.facebook.com/groups/krmug/
MongoDB Korea 2013 년 7 월 ~ 현재 ( total : 1500 명, active : 30~40 명 ) MongoDB 를비롯하여연관된다양한기술에대한자유로운형식의토론지향 비정기적인, 하지만어디에서도듣기힘든유용한실제사례공유
MongoDB Korea 자유롭게 MongoDB에대해서질문, 토론, 답변, 논쟁, 정보공유, 노하우공개 (^^), 술벙 (+_+) 등을할수있었으면좋겠습니다. - 페이스북그룹소개문발췌
감사합니다! inbum85@gmail.com http://revolutionist-inbum.tistory.com/