Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)

38,558 views

Published on

Published in: Technology
8 Comments
60 Likes
Statistics
Notes
No Downloads
Views
Total views
38,558
On SlideShare
0
From Embeds
0
Number of Embeds
25,052
Actions
Shares
0
Downloads
806
Comments
8
Likes
60
Embeds 0
No embeds

No notes for slide

Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)

  1. 1. Daum 내부빅 데이터 기술 활용 사례 윤석찬 다음커뮤니케이션 channy@daumcorp.com
  2. 2. 빅 데이터란? © @mdennis, datastax
  3. 3. 데이터 분석 산업의 변화 ©
  4. 4. 빅데이터 열풍(2012)… web2.0 (2006) Cloud(2009) 웹서비스 비교 빅데이터 1990년대 시기 2010년대 X86급 서버 장비 중형급 상용 유닉스 잠식 시장 DW Redhat 대표 회사 Cloudera 리눅스 토발즈 대표 영웅 더그 커팅 Linux 소프트웨어 Hadoop 인터넷 포털 혁신 주체 소셜네트워크 웹 스타트업 모바일 저렴한 웹서버 구축 변화 요인 저렴한 데이터 분석 빅데이터와 웹 서비스 비교도 © Channy’s Blog
  5. 5. Bigdata Stack? ©
  6. 6. Hadoop Kernel ©
  7. 7. Cloudera: Next Redhat? ©
  8. 8. Cloudera: Next Redhat? ©
  9. 9. Pattern Repeated: ©
  10. 10. Pattern Repeated: – Over 20,000 servers running Hadoop (2010) – Largest Hadoop cluster is 4000 servers, 16PB raw storage ©
  11. 11. Pattern Repeated: – 2000 servers, 24 PB raw storage, 100TB raw log/day (2010) ©
  12. 12. Pattern Repeated: ©
  13. 13. 도대체 국내에 빅 데이터가 있기나 한가요? 우리는 도대체 왜 해야 하나요?
  14. 14. 빅데이터는 상대적이다! © @mdennis, datastax
  15. 15. Daum의 Hadoop 이용 사례• 로그 분석 사례 – 전사 로그를 통한 통계 분석 – 광고 및 클릭 로그 분석을 통한 타켓팅 – 카페 로그 분석을 통한 사용자 카페 추천 – 검색 품질 랭킹 분석 및 개선 – 게임 서버 로그 분석 등• 데이터 분석 사례 클라우드 기반 – 다음 Top 토픽 분석 및 추천 서비스 Hadoop 테스트베드 – UCC 문서의 스팸 유저 필터링 구축 사례 – 사물 검색 이미지 역색인 – 자연어 처리 텍스트 분석 여기서 다루지 않는 것: – 모바일 광고 데이터별 매체 분석 등 NoSQL 이용 사례• 연구 개발 사례 – VisualRank: 이미지 유사성 매칭 분석 – SemSearch: 대용량 시맨틱 웹 검색 엔진 개발
  16. 16. 로그 분석 사례
  17. 17. Daum’s Number• 월 검색 쿼리수 1,017,410,000• 월 검색 UV 19,473,803• 월 Top 페이지 PV 2,074,688,580• 월 Top 페이지 UV 23,121,882• 월 Daum.net PV 13,745,663,643 KoreanClick 통계(2012.3) 실제 내부 통계는 더 크다!
  18. 18. (1) 전사 로그 분석 – Legacy before 2008 access.log 전사 서버 로그 수집 24시간 이후 분석 결과 제공
  19. 19. (1) 전사 로그분석 – before 2010 수집 분석 서비스
  20. 20. (1) 전사 로그분석 – After Hadoop수집분석서비스
  21. 21. (1) 전사 로그분석 – Tiara 시스템• 일 로그 사이즈 70TB → 전 처리 및 압축• Daum 서비스 내 발생하는 모든 트래픽을 수집하여 분석 및 리포팅 – 주요 분석 데이터: Pageview, Clickstream, User Analysis• 데이터 처리 스택 – Hadoop: 데이터 전처리 – Hive (UDF, M/R): SQL 기반 데이터 분석 – Pentaho Kettle (ETL): 데이터 저장 – Greenplum: 병렬 데이터베이스• 기존방식에 비해 데이터 처리 속도 향상 및 데이터 적재기간 증가
  22. 22. (1) 전사 로그분석 – 적용 결과• 더 빠른 분석 (10분 단위 실시간 로그 확인 가능) Hadoop 도입 전 Hadoop 도입 후 고객 분석 일 로그 분석• 더 쉬운 분석 (Hive) selelct serviceId, count(distinct uuid) from web_log where dt=20120101 group by serviceId
  23. 23. • 더 안정된 시스템 – 분산처리로 인한 작업 안정성 증가• 고려사항 – 추가 증설 시 Hadoop 세팅 및 애플리케이션 배포 이슈 – CPU/Memory intensive job을 해결하기 위한 클러스터 구성 및 관리 – 네트웍 부하로 인한 10g 구성 비용 증가 – 스케줄링에 따른 Job tracker를 통한 작업 분산의 어려움• Hadoop 기반 클라우드 컴퓨팅 스택의 확산 필요
  24. 24. (2) 광고 로그 분석 시스템• 광고 로그 및 통계 처리, 매체 토픽 분류 및 과거 로그 데이터 를 기반으로 광고 집행 타켓팅 분석• 광고 데이터 분석용 Hadoop 클러스터 구성 – 2.40GHz(듀얼 4코어)/ 메모리24GB: 서버 50여대 클러스터 구성 • input: 과거 집행(노출, 클릭) 로그 데이터 ( 필요에 따라 일, 주, 월 단위 로그 사용) • output 광고에 대한 사용자별 노출 내역 통계 처리 – 10분에서, 시간당, 일 단위로 다양한 데이터 산출
  25. 25. 데이터 분석 사례
  26. 26. (1) 다음 Top 토픽 분석• Top 화면에 제공할 주요 콘텐츠의 토픽 분석• Hadoop 기반의 머신러닝 도구인 mahout 이용
  27. 27. (2) UCC 문서 스팸 필터링• 문서 내부 단어 및 사용자 프로필을 기반한 스팸 필터링 Document Set Document Map Reduce Feature (User ID, Doc Features) (User ID, Doc Features List) Extraction Filtering with Map (User ID, User Profiles) Reduce User Profile (User ID, User Profiles) + + Spam Users Data Node Spam User Job Tracker DB + 2nd Name Node Data Node Data Node Document Name Node DB Data Node – 처리 성능 : 일 평균 600만개 문서 – 최소 10~5000여개의 문서를 스팸 등록한 50만개 아이디 찾음
  28. 28. (3) 사물 검색 데이터 색인• 대용량의 이미지 데이터를 최소한의 시간으로 분석하여 역색인과 검색에 필요한 데이터를 추출• 사물검색 대상 이미지의 특징을 분석 할 수 있는 시스템 구축 – 책/음악 앨범/영화 포스터 등 약 150만 개 – 각 이미지에서 특징점 추출(260GB) – 빠르고 안정적인 데이터 분석, 역색인 데이터 생성• 기존 방식 보다 1/10 정도 시간 단축
  29. 29. 연구 개발 사례
  30. 30. (1) 이미지 검색 매칭 분석• 이미지 특징의 매칭을 독립적인 Map/Reduce job로 병렬화 하여 이미지 추출• 작업 방식 – 유사도 그래프를 구성 – 모든 이미지에 대해 특징 매칭을 통한 유사도 기반 hyperlink graph를 구함 – Visual hyperlink graph에 대해 Map/Reduce 병렬처리를 통한 분석으 로 이미지 랭킹 부여• 메타 데이터가 아닌 이미지 자체의 특징에 따라 검색 결과 개선 가능
  31. 31. (2) 대용량 시맨틱 웹 검색 엔진 클라우드 기반 Hadoop 기반 데이터 처리 플랫폼 연구 과제 활용 구분 2009 2010 2011 RDF Crawler 프로토타입 구 고성능 RDF Crawler 문서 수집 - 현 구현 대상 문서 KBS 음악 DB+MusicBrainz Daum 영화/음악/인물 DB 의학 LinkedData (내부 텍스트 DB+LinkedData) (내부 RDB) (PubMed 등 28개 레포지터리) 처리 수량 1억건 5억건 96억건(RDF Triples) Map/Reduce Map/Reduce Map/Reduce전처리 방법 (Triples 변환, 자동링크 생성, Solr (Triples 변환) (Triples 변환, SPARQL AnswerSet) Index 생성)검색 인덱스 RDF Repository (Jena) 유사 RDF Repo. Solr RDF Index (SPARQL SubQuery 전처리) 음악 RDF 서비스 Daum 의미 검색 Daum 의학 전문 검색 서비스 데모 http://labs.daum.net/semantic http://labs.daum.net/medical
  32. 32.  관계 질의 기반 검색 UI 개발  대용량 RDF 생성 - 특정 분야별 추천 키워드 제공 - 고성능 RDF 크롤러 구현 - 문서 저장소에서 RDF 뷰어 제공 - Hadoop Map/Reduce 기반 데이터 전처리 - 건강 DB와 연계 - 96억 트리플 기반 검색 인덱스 –Document –N3 –건강 DB –Repository –Repository –Map/Reduce –Map/Reduce –Se3 Keywords –Se3 Indexer –Se3 StatisticsInternet –Se3 –Search –CrawlDB –Index –Search Service –Shard Master –Shard Slave Daum Cloud iCube
  33. 33. p.s. 분산 파일 시스템: Tenth• Tenth는 한메일, 카페 첨부 파일 등 대용량 파일을 저렴하게 저장하기 위한 분산 파일 시스템으로 2004년 부터 개발• 저장 파일 개수 500억개, 5페타 바이트 (2010) – 2006년 라이코스메일, 카페 도입 – 2007년 한메일 기가 용량 도입 – 2009년 동영상 업로드팜 도입 – 2010년 다음 클라우드 도입 Tenth 비교 HDFS 2004 개발 시작 2006 C++ 구현 언어 Java 첨부 파일을 저장하기 위해 하나 이용 목적 분산 시스템에서 파일 저장 의 스토리지 처럼 이용 가능 용도로 활용 다중 (MySQL이용) 네임 노드 싱글 1~4MB (fixed chunks) 파일 형태 64MB (fixed blocks) 미지원 디렉토리 구조 지원함
  34. 34. 사내 클라우드 플랫폼: 개발자에게 서버 한대씩! iCube • 사내 프라이빗클라우드 구축 Internet  실 서비스 구축 테스트 – 테스트 및 실 서비스 구축 테스트 용도 • 의학 검색 베타 서비스 구축 • 윈도우 메신저 서버 – CloudStack 커스트마이징 • 종료 예정 서비스  사내 테스트 베드 • Sandbox 플랫폼으로 활용 –Daum LDAP • 개발자용 랩 • 사내 Hadoop Sandbox – 사내 IaaS 테스트베드 – 사내 PaaS 테스트베드(CF) – 사내 Hadoop 테스트베드–CloudStack – 외부 OSS 커뮤니티 지원 –Manager –Instance –Storage –Nodes • 테스트베드 자원 활용 –Server –Server – 총 500여개의 가상 머신 할당 가능 –DB – 총 200여개 이용 중 (CPU 및 메모리 할 –Server 당율 각각 52% 및 76% 지원)  사내 프라이빗 클라우드 테스트 베드 구축 - 테스트서버 4 대 - 마스터2대/노드 7대/스토리지 2대
  35. 35. < Daum 사내 클라우드 테스트 베드 자원> < Daum 사내 클라우드 모니터링 시스템>
  36. 36. Lessons for Big Data• 기술 내재화가 중요 (No Vendors!) – 개발자들이 직접 Hadoop을 활용할 수 있는 환경 필요 – 오픈 소스의 적극 활용 및 개발 잉여력 제공• 데이터 분석 및 처리의 역할 파괴 (No Data Scientist!) – 개발자들이 직접 실시간 분석을 위한 Hive 활용 – 문서, 이미지 등 다양한 형태의 데이터 처리를 위한 토대 마련• Small Data를 활용 강화 (No Big Mistakes!) – Small Data라도 실시간으로 저렴하게 데이터를 처리하고, – 처리된 데이터를 더 빠르고 쉽게 분석하도록 하여, – 이를 비즈니스 의사결정에 바로 이용하는 것 – 이것이 바로 BigData 기술을 바른 활용임!
  37. 37. Daum의 빅데이터 기술 전략• 사내 기술 코디네이션 – 각 개발자가 Hadoop을 다양하게 활용할 아이디어 개발 및 실험 실행 – Hadoop을 테스트 해 볼 수 있는 클라우드 플랫폼 제공 – 실 서비스 투입 시 기존 운영팀으로 부터 노하우 전수 • 사내 세미나 및 교육 프로그램 운영 • Hadoop Expert를 중심으로 필요 시 노하우 제공• 개발자 데이터 접근성 향상 – 데이터 분석가가 아닌 개발자가 직접 데이터에 접근 – 데이터가 있는 곳에서 바로 분석 – 기획자와 비즈니스에서 바로 의사 결정 가능• 때로 콘트롤 타워가 진입 장벽과 아이디어 고갈을 가져온다! – 기술에 따라 어떤 접근을 할지 선택이 중요
  38. 38. 경청해주셔서 Q&A @channyun감사합니다!

×