Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kinesis를 이용한 데이터 수집

299 views

Published on

분산컴퓨팅 최종 프로젝트 보고서 (2017)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Kinesis를 이용한 데이터 수집

  1. 1. DW 데이터 웨어하우스를위한 데이터 수집 및 저장 분산 컴퓨팅 프로젝트 201210909 윤준하
  2. 2. AWS 빅데이터 빌딩 블록 https://www.slideshare.net/awskorea/amazon-redshift-for-massive-cost-effective-dw-channy
  3. 3. 기존 서비스 확장 http://reviewus.ga/
  4. 4. 기존 서비스 확장 http://reviewus.ga/ 이미지 출처: 구글 웹 로그 분석
  5. 5. • 웹 로그를 실시간으로 전송 기존 서비스 확장 저장소 또는 분석 서비스
  6. 6. AWS Lambda 데이터 수집 AWS API Gateway AWS Kinesis 규모가 커지면 (대용량 스트리밍의 경우) 예상보다 많은 비용이 부담 * Bluehole – AWS와 Tajo를 이용한 테라 렉 로그 분석 (2015.12.07) • 어떤 서비스를 이용해야 하는가
  7. 7. • Amazon Kinesis Streams를 사용하면 특수 요구에 맞게 스트리밍 데이터를 처리 또는 분석하는 커스텀 애플리케이션을 구축할 수 있습니다. • 수많은 소스에서 시간당 몇 테라바이트 규모의 데이터를 계속해서 캡처하고 저장할 수 있습니다. 그런 다음 Amazon Kinesis Streams의 데이터를 사용하여 실시간 대시보드를 지원하 고, 경보를 생성하며, 동적 요금 및 광고를 구현하는 애플리케이션을 구축할 수 있습니 • Kinesis Client Library(KCL), Apache Storm, Apache Spark Streaming을 비롯해서 원하는 스트림 처리 프레임워크를 사용할 수 있습니다. AWS Kinesis Streams
  8. 8. • 생산자 • Amazon Kinesis Streams에 레코드를 넣습니다. 예를 들어, 스트림에 로그 데이터를 보내는 웹 서버가 생산자입니다. • 소비자 • Amazon Kinesis Streams에서 레코드를 가져와 처리합니다. 이 소비자를 Amazon Kinesis Streams Application이라고 합니다. • Amazon Kinesis Streams Application • EC2 인스턴스의 플릿에서 공통적으로 실행되는 스트림의 소비자 • Kinesis Client Library 또는 Kinesis Streams API를 사용하여 개발할 수 있습니다. AWS Kinesis Streams
  9. 9. Data Processing/Streaming • Kinesis Streams 상위 수준 아키텍처
  10. 10. 데이터 수집 S3Kinesis streams EC2 Kinesis Produce Library Kinesis Client Library • 생산자와 소비자를 설정하여 데이터를 수집하고 저장할 수 있다.
  11. 11. 이슈 발생 S3Kinesis streams EC2 Kinesis Produce Library KCL
  12. 12. AWS Kinesis Firehose
  13. 13. AWS Kinesis Firehose kinesis stream kinesis firehoseStream Producer (KPL) application
  14. 14. 로그 포맷
  15. 15. 로그 생성을 위한 봇 Random Request 약 250.0KB/h 정도의 속도
  16. 16. AWS Kinesis Firehose kinesis stream kinesis firehose Stream Producer (KPL) application S3
  17. 17. AWS Kinesis Firehose
  18. 18. Kinesis Streams Pricing 요금 샤드 시간(초당 1MB 수신, 초당 2MB 송신) $0.0185 PUT 페이로드 유닛, 1백만 개 유닛당 $0.0204 데이터 보존 기간 연장(최대 7일), 샤드 시간당 $0.0247 샤드 시간 = 샤드 1개 * 시간당 0.0185 * 24시간 = 0.444 USD / 1일 초당 50개의 레코드, 각 레코드가 20KB일 때 데이터 입력 속도: 1.0MB/초 PUT 페이로드 = 0.0204 * 하루 4,320,000개의 레코드 = 0.088 USD / 1일 = 하루에 0.532 USD = 약 600원 * 아시아 태평양(서울) 기준 * 24시간을 초과하여 보존 기간을 설정하면 스트림에 추가 요금이 적용
  19. 19. AWS S3 reviewus-site/logs/Django/YYYY/MM/DD/HH/<delivery-name>-..
  20. 20. AWS Athena • S3 와 QuickSight/Redshift 등의 사이에서 Data Pipeline 역할
  21. 21. AWS Athena s3://reviewus-site/logs/Django/*
  22. 22. • 의미있는 정보 추출 가능 AWS Athena count of user gent popular page URL
  23. 23. Amazon QuickSight • 쉽고 빠른 비즈니스 분석툴 • 다양한 데이터 셋에서 가져오기 가능 S3 Analytics, S3, Athena, RDS, Redshift, MySQL, PostgreSQL, Aurora, Spark 등 지원 (2017.12. US-West/Oregon 기준)
  24. 24. Amazon QuickSight • 시간대별 사용자 페이지 뷰 오후 2시경 peek
  25. 25. 그 외에도 • RedShift나 EMR, ElasticSearch 등으로 스트리밍하여 분석 가능
  26. 26. Architecture IAM S3 Kinesis streams EC2 KPL Kinesis firehose Athena QuickSight 수집 저장 Query & Visualize
  27. 27. Query & Visualize Regions IAM S3 Kinesis streams EC2 KPL Kinesis firehose Athena QuickSight 수집 저장 서울 도쿄 오레곤
  28. 28. Billing on Data Transfer 서울 도쿄 리전 사이에서 데이터 이동 비용 (ec2 to kinesis)
  29. 29. Billing on Kinesis
  30. 30. Billing on S3
  31. 31. Streaming to Anywhere • Kinesis Stream과 Firehose로 쉽게 스트리밍 kinesis stream kinesis firehose Stream Producer (KPL) application

×