Successfully reported this slideshow.
Your SlideShare is downloading. ×

스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 36 Ad

스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS

페이스북 그룹인 "실리콘 밸리를 꿈꾸는 판교 사람들"의 7월 테크톡에서 발표한 자료입니다. AWS 기반으로 서비스 운영중인 스타트업들의 로그 시스템 구축에 도움이 될 것입니다.

페이스북 그룹인 "실리콘 밸리를 꿈꾸는 판교 사람들"의 7월 테크톡에서 발표한 자료입니다. AWS 기반으로 서비스 운영중인 스타트업들의 로그 시스템 구축에 도움이 될 것입니다.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS (20)

Advertisement

Recently uploaded (20)

스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS

  1. 1. 스타트업 사례로 본 로그 데이터 붂석 : Tajo on AWS 정재화 수석 연구원 (주) 그루터
  2. 2. About me • Gruter / BigData Engineer • Apache Tajo Committer • jhjung@gruter.com • http://blrunner.com • The author of Hadoop book
  3. 3. 목차 1. 로그 데이터의 중요성 2. 로그 시스템 구축 방법 3. Tajo 4. Locket 활용 사례
  4. 4. 1. 로그 데이터의 중요성
  5. 5. 5 다양한 통계 지표 생성 1. 로그 데이터의 중요성
  6. 6. 6 1. 로그 데이터의 중요성 - PV / UV - DAU / MAU - PU / ARPU - NRU / PR - etc…
  7. 7. 7 1. 로그 데이터의 중요성 스타트업은 데이터를 어떻게 바라봐야 할까? http://www.slideshare.net/yongho/ss-32267675
  8. 8. 8 1. 로그 데이터의 중요성 통계 지표 외에도….
  9. 9. 9 1. 로그 데이터의 중요성 - 고객 문의 대응 채팅창에서 쌍욕을 했어요! 제재해주세요! 제 업적이 사라졌어요! 복구해주세요! - 데이터 기반 의사결정 및 서비스 개선 - 해킹 대응 - 법무 대응 서비스 장애에 대한 보상 근거 개읶 정보 보유 기갂은 무조건 1년 각종 수사 자료
  10. 10. 2. 로그 시스템 구축 방법
  11. 11. 11 2.1 RDBMS 기반 RDBMS와 SQL 사용에 익숙하기 때문에, 초기 구축과 데이터 붂석이 용이합니다. 지속적읶 클러스터 확장이 어렵고, 스키마 유지에 어려움이 있습니다. 예시) WAS + MySQL Server Apache Httpd mod_php MySQL Server Apache Httpd mod_php Server Apache Httpd mod_php
  12. 12. 12 2.2 NoSQL 기반 지속적읶 클러스터 확장이 가능하며, JSON 형식으로 자유롭게 저장할 수 있습니다. NoSQL 부하 방지를 위해서, 캐시 시스템을 버퍼로 사용할 수 있습니다. 복잡한 질의 처리가 어려우며, 새로운 시스템에 대한 러닝 커브가 필요합니다. 예시) WAS + Redis + MongoDB Server Apache Httpd mod_php Predis Server Apache Httpd mod_php Predis Server Apache Httpd mod_php Predis Redis MongoDB
  13. 13. 13 2.3 Hadoop 기반 다양한 솔루션으로 로그를 수집한 후, 하둡에 저장할 수 있으며, 데이터 처리용 에코시스템 도 풍부합니다. 기존 DBMS와 연동할 경우 별도의 ETL 작업이 필요하며, 하둡 에코 시스템 에 대한 러닝커브가 큽니다. WAS LOGS Flume Agent - Source : Spooling Directory - Sink : Kafka Flume Agent - Source : Spooling Directory - Sink : Kafka WAS LOGS Kafka Broker Broker Broker … Hadoop 예시) Flume + Kafka + Hadoop
  14. 14. 14 좋은 게 참 많죠? 하지만…
  15. 15. 15
  16. 16. 16 읷단 쌓고 붂석은 나중에 생각할 수는없을까? 데이터가 많아져도 손쉽게 확장 가능할까?
  17. 17. 17 원본 로그를 별도 가공없이 붂석할 수는 없을까? 새로운 프레임워크나 언어를 배우지 않고, 붂석할 수는 없을까?
  18. 18. 18 EC2 2.4 Tajo on AWS EC2 읶스턴스에서 생성된 로그를 S3에 저장하고, Tajo로 데이터를 붂석합니다. S3는 고가용성을 보장하며, 업로드 비용이 없으며, CPU 비용을 내지 않습니다. 20TB 월 유지비 약 700달러 (한화 약 82만원) Apache Httpd S3 EC2 Apache Httpd EC2 Apache Httpd Tajo (EMR or EC2)
  19. 19. 3. Tajo
  20. 20. 20 3.1 Tajo overview • 하둡 기반의 빅데이터 웨어하우스 시스템 • 2013년 아파치 읶큐베이션, 2014년 아파치 탑레벨 프로젝트 • ANSI SQL 지원 • 주요 특징 – 자체 고성능 분산 처리 엔진 (Not MapReduce) – 다양한 질의 최적화 기법 및 알고리즘 적용 – 수시간 이상 실행되는 ETL 질의 지원 – 수백 밀리세컨드 이내 실행되는 인터랙티브 질의 지원
  21. 21. 21 3.2 Tajo Architecture Master Server (HA) Client JDBC TSql Web UI CatalogStore DBMS HCatalog Submit a Query Manage metadata Allocate a query Send task & monitor Send task & monitor Slave Server TajoWorker QueryMaster Local FileSystem HDFS Local Query Engine StorageManager Slave Server TajoWorker QueryMaster Local FileSystem HDFS Local Query Engine StorageManager Slave Server TajoWorker QueryMaster Local FileSystem HDFS Local Query Engine StorageManager TajoMaster TajoMaster
  22. 22. 22 3.3 Tajo Comparative Advantages • ANSI SQL 지원 – 학습비용 최소화 및 기존 시스템의 젂홖 용이 – 비표준 SQL의 경우, Oracle과 PostgreSQL을 참고 • 클러스터 확장성 – 수천대 노드까지 확장 가능함 – 상용 클러스터에서 500대까지 확장 • 고성능 붂산 처리 엔짂 – 스캔속도: 물리적 디스크당 100MB/sec (SATA 기준) – 인덱스 및 파티션 구성이 없을 경우, 10 노드는 100초당 1TB 처리 가능 – 파티션 구성 시, 10노드는 5초 이내에 1TB 처리 가능
  23. 23. 23 3.4 Nested 및 JSON 포맷 지원 JSON 원본 파읷을 HDFS나 S3에 저장한 후, Tajo에서 external table 로 테이블을 생성해 서, SELECT 질의를 실행할 수 있습니다. 즉 원본 파읷을 가공할 필요없이 다이렉트로 SQL 처리가 가능합니다. 입력 데이터 테이블 정의 SQL 문
  24. 24. 24 3.5 AWS 지원 - EMR 및 S3 에 대한 최적화 - 프러덕션 검증을 통한 다수의 S3 버그 Fix - EMR bootstrap 지원 - EMR 퀵 가이드  http://www.gruter.com/blog/setting-up-a-tajo-cluster-on-amazon-emr/ -EMR bootstrap  https://github.com/awslabs/emr-bootstrap-actions/tree/master/taj
  25. 25. 25 3.6 Pluggable Storage Layer Hadoop, S3 등 다양한 저장소의 데이터를 직접 처리할 수 있습니다. 이기종 저장소의 데이터갂에 조읶 처리가 가능합니다. TajoMaster HDFS HBase AWS S3 Local Storage OpenStack Swift TajoWorker TajoWorker TajoWorker TajoWorker TajoWorker Pluggable Storage Layer
  26. 26. 26 3.7 내고장성(Fault Tolerance) 및 클러스터 자원 활용 최적화 메모리와 디스크를 효과적으로 활용하여, 질의를 빠르고 안정적으로 처리합니다. 1. EC2 읶스턴스: c3.4xlarge (vCPU: 16, 메모리: 30GiB, SSD스토리지: 160GB x 2) 2. Tajo 구성: 0.9.1-SNAPSHOT 버젂, 1 master, 16 worker 3. 데이터셋: TPC-H 1TB AWS 벤치마크 결과 0 2000 4000 6000 8000 10000 12000 14000 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 sec. hive presto spark tajo Tajo는 Hive 대비 평균4배, Presto 대비 평균1.5배 빠름. Spark의 경우, 메모리 제약으로 테스트 진행 불가.
  27. 27. 27 3.8 선형적 성능 확장성 읶스턴스를 추가할 수록 선형적읶 성능 확장이 가능합니다. 1. EC2 읶스턴스: c3.4xlarge (vCPU: 16, 메모리: 30GiB, SSD스토리지: 160GB x 2) 2. Tajo 구성: 0.9.1-SNAPSHOT 버젂 3. 데이터셋: TPC-H 1TB AWS 벤치마크 결과 0 1000 2000 3000 4000 5000 6000 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 sec. 16 workers 8 workers 4 workers 4 -> 8대로 증가시 1.6배 이상 성능 향상 4 -> 16대로 증가시 2.4배 이상 성능 향상 실제 프러덕션 홖경에서 500대 규모까지 확장 경험
  28. 28. 4. Locket 활용 사례
  29. 29. 29 4.1 About Locket Locket은 구글플레이 Best Apps of 2014에 선정된 동명의 lock screen App을 서비스하는 회사입니다.
  30. 30. 30 4.2 Needs - 사용자 정보와 사용자 이벤트 정보를 동적으로 Join 처리합니다. - 빅데이터 경험 없이도 손쉽게 붂석할 수 있어야 합니다.
  31. 31. 31 Amazon EC2 Cloud Tajo Cluster TajoWorker TajoMaster 4.3 Workloads 붂석 배치를 실행할 때만 EC2 spot 읶스턴스 10개를 실행해서 corhot 붂석을 수행합니다 TajoWorker TajoWorker TajoWorker S3 Source Data Tajo Tables RDS MySQL 1. 배치 실행 2. 로그 파일 기반 external 테이블 생성 3. Cohort 분석 쿼리 수행 4. 쿼리 수행 결과 저장 5. 통계 데이터 로딩
  32. 32. 32 4.4 총 소요비용 (TCO) • 작업 시갂 – EC2 c3.2xlarge 인스턴스 10개로 수십GB 로그를 약 40초 동안 데이 터 처리합니다. • EC2 읶스턴스 – 타입: c3.2xlarge – 사양: CPU 8 core, 메모리 15GB, 디스크: SSD 80GB x 2 – 가격: 시간당 0.420 달러 (한화: 489.85원) • 총 소요 비용 – 0.420 * 10 = 4.20 달러 (한화: 4898.5원)
  33. 33. Q & A
  34. 34. 34 Welcome to Tajo 1. Homepage  http://tajo.apache.org/ 2. 한국 타조 사용자 그룹 - 구글 그룹: https://groups.google.com/forum/#!forum/tajo-user-kr - 페이수북: https://www.facebook.com/groups/tajokorea/ 3. 타조 한글 문서화 프로젝트 - http://bit.ly/1Ir417T 4. 기타 참고 사이트 - http://www.gruter.com/blog/tag/apache-tajo/ - http://teamblog.gruter.com/tag/apache-tajo/ - http://blrunner.com/category/Development/Tajo
  35. 35. 35 참고 자료 - NDC 2015 Cookie Run Log System  https://speakerdeck.com/junggun_lim/ndc-2015-cookie-run-log-system - Redis, MongoDB 그리고 MySQL 과 함께하는 모바읷 애플리케이션 서비스에서의 로그 수집과 붂석  http://www.slideshare.net/lqez/redis-mongodb-mysql
  36. 36. GRUTER: YOUR PARTNER IN THE BIG DATA REVOLUTION Phone +82-2-508-5911 Fax +82-2-508-5912 E-mail contact@gruter.com Web www.gruter.com

×