Daum 빅데이터기술활용사례 Channy Yun Daum Communications Corp. channy@daumcorp.com
per User 2004 2006 2012
250,000 200,000 150,000 100,000 50,000 0 0 3 6 9 12 15 18 21 24
x2 Dual Backup Zipped
Search Query 1,017,410,000 Unique Visitor(UV) 19,473,803 Top Page View(PV) 2,074,688,580 Top Page UV 23,121,882 Daum.net PV 13,745,663,643 Per Month. KoreanClick (2012.3)
What s Big data? @mdennis, datastax
NoSQL - Realtime
New Buzz 웹 2.0 비교빅데이터 1990년대 시기 2010년대 X86급 서버장비 중형급 상용유닉스 잠식시장 DW Redhat 대표회사 Cloudera 리눅스토발즈대표영웅더그커팅 Linux 소프트웨어 Hadoop 인터넷포털웹스타트업 혁신주체 소셜네트워크모바일 저렴한웹서버구축변화요인저렴한데이터분석 http://channy.creation.net/blog/882 Channy s Blog
데이터분석산업의변화
Bigdata Stack?
Hadoop Kernel
Hadoop Platform : Today
Pattern Repeated:
BigData Stack 비관계형 (Non-releational) 관계형 (Relational) 실시간 Storm Dremel 분석도구 Hadoop Horton Cloudera MapR BiqQuery 시각화 D3 Pentaho Teradata IBM InfoSphere Aster HP Vertica EMC SAP Hana Oracle Greenplum SAP Oracle IBMDB2 SQLServer 운영도구 NoSQL NewSQL 키 / 값 Redis Membrain BerkeleyDB 문서기반 CouchDB MongoDB Data as a Service AppEngine Amazon RDS SimpleDB SQL Azure Drizzle MySQL Cluster NimbusDB CouchBase Cassandra 빅테이블 HyperTable Hbase 그래프 FlockDB Neo4j ScaleBase VoltDB Inforchimps. 2012
도대체국내에빅데이터가 있기나한가요? 우리는도대체왜해야하나요?
빅데이터는상대적이다!
@mdennis, datastax
Daum 의빅데이터이용사례 로그분석사례 전사로그를통한통계분석 검색품질랭킹분석및개선 광고및클릭로그분석을통한타켓팅 카페로그분석을통한사용자카페추천 게임서버로그분석등 데이터분석사례 다음 Top 토픽분석및추천서비스 UCC 문서의스팸유저필터링 사물검색이미지역색인 자연어처리텍스트분석 모바일광고데이터별매체분석등 서비스적용 (MongoDB/ 카산드라 ) My 아고라 검색광고노출시스템 최근방문카페저장 사내캐시서버 (Redis) 사내 Git 저장소 (Redis) 데이터처리 (Hbase) 검색엔진색인문서저장 서버모니터링데이터저장 로그인로그저장 카페방문로그저장 연구개발사례 VisualRank: 이미지유사성매칭분석 SemSearch: 대용량시맨틱웹검색엔진개발
활용사례
(1) 전사로그분석 access.log 전사서버로그수집 24 시간이후분석결과제공
before 2009 수집 분석 서비스
After Hadoop 수집 분석 서비스
Tiara 시스템 Daum 서비스내발생하는모든트래픽을수집하여분석및리포팅 주요분석데이터 : Pageview, Clickstream, User Analysis 데이터처리스택 Hadoop: 데이터전처리 Hive: SQL 기반데이터분석 Pentaho Kettle (ETL): 데이터저장 Greenplum: 병렬데이터베이스 기존방식에비해데이터처리속도향상및데이터적재기간증가
UnZipped Total Logsize
Hadoop 도입전 Hadoop 도입후 고객분석 일로그분석 10 분단위분석가능작년 6 월 1 일부터로그적재중주분석은 10 분, 월분석은 20 분내외소요
selelct serviceid, count(distinct uuid) from web_log where dt='20120101' and hr='10' and mi= 10' group by serviceid, mi
(2) 검색품질및랭킹개선 분석용 Hadoop 클러스터구성 2.40GHz( 듀얼 4 코어 )/ 메모리 16GB: 서버 100 여대클러스터구성 키워드 - 섹션, 키워드 - 문서 - 세션, 세션 - 키워드, 세션 - 문서등의데이터수집을통해랭킹반영 ( 반기크기 -40TB) 주요분석작업 만족스러운검색경험을랭킹에반영함 검색스팸인덱스 : 검색에서사용자가스팸에대한클릭율분석 나쁜블로거필터링 : Kohonen s SOM 으로분석 (R 이용 ) 많이본글분석 Hadoop 에서분석엔진까지 2 시간이내
(3) 다음 Top 토픽분석 Top 화면에제공할콘텐츠의토픽분석 Hadoop 기반의머신러닝도구인 mahout 이용
Hadoop 의장단점 장점 : 빠르고저렴하게데이터분석가능 데이터를바라보는관점의차이 ( 저렴한처리비용 ) 샘플링이필요없음 ( 대용량처리가능 ) 운영비용이적음 ( 인프라운영이관리가능 ) 분석도구나프로그래밍언어에독립적임 다양한지원도구 ( 오픈소스지원 ) 단점 : 프로그래밍방식의변화및내재화비용 설정및운영상의내재화작업이필요 개념의변화가필요 (Map/Reduce 방식으로사고전환 ) Hadoop 은계속개선중인프로젝트임 ( 벤더배포판사용필요 ) 아직구현되지않은부분이많음 ( 과거버전에대한호환성이낮은편 ) 장애에대한대비필요 ( 메모리및네트웍관련 )
활용사례
(1) 마이아고라 마이아고라는? 토론, 청원, 즐보드등아고라의모든글을모아서제공 총데이터 6 천만건 (2012.1) 문제점 짧은시간에너무많은데이터가추가되고있음 해결방법 데이터입력시간이훨씬짧은 NoSQL 솔루션도입 Select Insert Update Delete MySQL 355sec 250sec 317sec 310sec MongoDB 294sec 60sec 153sec 123sec <1 백만건 MySQL 과 MongoDB 데이터처리실험결과 >
MongoDB 의장점 문서기반의콘텐츠데이터저장에유리 개발자친화적인 (RDB) 기반 SQL을그대로사용할수있음 MySQL과비슷한데이터백업및복구구조 Replication: 안전성과높은가용성 Auto-sharding : 분산확장 (scale-out) 기능 주요튜닝사항 장애시쉽지않은데이터복구 데이터가없어지더라도크게상관 (?) 없는데이터에활용 활용함수에따라성능에차이가날수있음 count() vs. cursor.size() update() vs. update($set)
(2) 검색광고최적화 다음통합검색쿼리 : 6 천만 / 일 외부매체포함유입쿼리 1.4억 광고용 Read Query: 20억 / 일 광고용 Total Query: 25억 / 일 Ad@m 등계속쿼리가증가 데이터증가에따른한계점 Oracle 에서불가능하다! MySQL 에서메모리엔진기반으로운영 검색어 - 광고목록 은단순한시스템 카산드라선정이유 검색엔진의데이터구조와유사 기타 NoSQL 의일반적장점을그대로채용가능
카산드라의장점 메모리가우선이며 Read/Write 뿐 ( 업데이트가없음 ) 단순한 Read Query에대해빠르게응답가능 주요튜닝지점 단순한구조로스키마설계를잘해야함 빠른 I/O 성능을갖는디스크변경및 RAID 설정변경 TCP 네트워크조절필요 JVM 설정튜닝도필요 Hbase 의사용현황 Hadoop 을사용하는경우, 대부분로그저장소로사용중 2012 년상반기부터는안정성이강화되고있음
NoSQL 판단가이드 C(Consistency) : 모든노드가같은시간에같은데이터를보여줘야한다. A(Availability) : 몇몇노드다운이다른정상노드들이작동하는데악영향을끼치지말아야한다. P(Partition Tolerance) : 몇몇메시지손실에도시스템은정상동작을해야한다. http://blog.nahurst.com/visual-guide-to-nosql-systems, 2010
Daum 의빅데이터기술전략 사내기술코디네이션 각개발자가 Hadoop을다양하게활용할아이디어개발및실험실행 Hadoop을테스트해볼수있는클라우드플랫폼제공 실서비스투입시기존운영팀으로부터노하우전수 사내세미나및교육프로그램운영 Hadoop Expert를중심으로필요시노하우제공 개발자데이터접근성향상 데이터분석가가아닌개발자가직접데이터에접근 데이터가있는곳에서바로분석 기획자와비즈니스에서바로의사결정가능 때로콘트롤타워가진입장벽과아이디어고갈을가져온다! 기술에따라어떤접근을할지선택이중요
개발자에게서버한대씩!
Lessons for Big Data 기술내재화가중요 (No Vendors!) 개발자들이직접 Hadoop을활용할수있는환경필요 오픈소스의적극활용및개발잉여력제공 데이터분석및처리의역할파괴 (No Data Scientist!) 개발자들이직접실시간분석을위한 Hive 활용 문서, 이미지등다양한형태의데이터처리를위한토대마련 Small Data 를활용강화 (No Big Mistakes!) Small Data라도실시간으로저렴하게데이터를처리하고, 처리된데이터를더빠르고쉽게분석하도록하여, 이를비즈니스의사결정에바로이용하는것 이것이바로 BigData 기술을바른활용임!
경청해주셔서 감사합니다! Q&A @channyun