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