잡동사니

AWS 캠페인 워크샵 / 분석 및 데이터 아키텍처 현대화 특집 본문

IT

AWS 캠페인 워크샵 / 분석 및 데이터 아키텍처 현대화 특집

yeTi 2019. 9. 6. 10:27

안녕하세요. yeTi입니다.

2019연 09월 05일 AWS 캠페인 워크샵에 참가 후기입니다.
워크샵

식순은 다음과같이 진행됐습니다.
식순

Data Lake 개요 (레벨100)

강사 : 김윤건, AWS 빅데이터 Business Development Manager

Javis의 아키텍처
자비스 스트럭쳐

코카콜라 예제

  • 코카콜라에서 개인의 취향대로 음료를 제조할 수 있는 사비스를 제공했음
  • 개인의 음료 취향 데이터를 수집할 수 있었음

머신러닝의 소모시간 비율
머신러닝의 시간 소모 비율
머신러닝시 피쳐를 식별하는 시간이 오래걸림

Transform

  • RAW 데이터를 분석가능한 데이터로 변환해야하는데 그 과정에서 데이터 레이크를 구성

데이터 실험이란

  1. 데이터 품질에 따라서 데이터의 분석결과가 달라짐
  2. 데이터 품질을 관리하기 위해 머신러닝을 활용함
  3. 데이터를 실험하면서 데이터의 품질을 높여감

아마존의 검색 예시

  1. 1년전 데이터로 모델 생성
  2. 지속적으로 데이터 갱신
  3. 데이터 적중률이 지속적으로 떨어짐

데이터의 실험과정이 자동화 되어야함

  • 파이프라인 예시파이프라인 예시

AWS 분석 및 머신러닝 서비스를 활용한 Kaggle 데이터 분석 (레벨 400)

강사 : 김태현, Analytics Specialist SA

데이터 레이크 오버뷰

데이터 레이크의 아키텍처
아키텍쳐
AWS Glue가 데이터를 변환하고 분석 서비스는 Glue를 통해서 데이터에 접근함

데모 아키텍쳐

데모 아키텍쳐
데모 시연을 위한 대략적인 구조는 다음과 같습니다.

  • 다양한 데이터 소스원에서 데이터 수집
  • ETL 작업을 통한 데이터 변환
  • 데이터 확인 및 시각화
  • 모델 생성

데모

데모 순서는 다음과 같이 진행됐습니다.

  1. S3에 feature데이터를 올림
  2. Glue에 crawler 추가
  3. Athena로 데이터 확인
  4. RDS에 label데이터를 올림
  5. Glue에 crawler 추가
  6. 개발공간 할당 : Glue에서 dev end point 생성
  7. SageMaker Notebook 생성쥬피터에서 glue catalog 접근
  • 데이터 ETL 작업 수행
  1. Glue에 crawler 추가
  2. Athena로 데이터 확인
  3. QuickSight로 데이터 visualize
  4. SageMaker Notebook 에서 작업 계속
  • 분석 데이터의 벡터화
  • 모델 생성
    • sparkML 활용
    • SageMaker 활용
  • 모델 결과 확인

스트리밍 데이터 분석을 통한 데이터 인사이트 탐색 (레벨 300)

** 강사 : 문종민, AWS Solutions Architect** 개요

리얼타임의 기준은?

리얼타임이란

  • 데이터 특성에 따라 다를 수 있음

리얼타임 스트림의 구조
리얼타임 스트림의 구조

  1. Source : 데이터 원천
  2. Stream Ingestion : 데이터 전송
  3. Stram Storage : 순서를 보장하여 저장
  4. Stream Processing : 데이터를 조회하거나 변환
  5. Destination : 모델

Kinesis

  • Data Streams : 카프카와 비슷한 역할

  • Data Analytics : 데이터를 변환하거나 통합

    • SQL 형식으로 활용할수도 있고 Klink라는 Java 어플리케이션으로 활용할 수도 있음Sophosticated application

    • Raw 데이터를 분석하기전에 Lambda를 활용하여 데이터 변환을 할 수도 있음
      람다를 활용한 데이터 가공

      • Streaming 형태의 데이터뿐만 아니라 S3를 input데이터로 활용할 수 있음S3를 input stream으로 활용
    • SQL형식의 쿼리 예제
      쿼리 예제

    • Windows 기능 제공 Tumbling windows
      Sliding windows

    • Data streams pipeline 예제 Data streams pipeline

      • CloudWatch와 연동하여 모니터링 및 디버깅 가능
      • 자동으로 application들을 백업 가능
      • Chech point, Snapshot 기능으로 데이터 백업
  • Example Usage Pattern 1
    Example Usage Pattern 1

  • Example Usage Pattern 2
    Example Usage Pattern 2

  • Example Usage Pattern 3
    Example Usage Pattern 3

  • Data Firehose

    • Streams와 다르게 버퍼를 가지고 목적지쪽으로 데이터를 밀어넣어 줌
    • 데이터 컨버젼 지원
    • Example Architecture
      Example Architecture

Demo

택시에서 제공하는 승객의 탑승정보를 활용하여 비즈니스 개선
Taxibfleet

  • 택시에서 Raw data 전송
  • 지도기반 시간별 승객 데이터 표출
  • 장소별 숭객의 승차시간 제공

데모 시연 순서는 다음과 같습니다.

  • 키네시스 데이터 스트림 생성
  • 키네시스 데이터 어날러틱스 생성
    • SQL or Flink 중 선택
    • Stream 설정
    • Elasticsearch 연동
  • Kibana를 활용한 시각화

AWS Redshift와 Spectrum 서비스를 활용한 Data Lake 기반의 Data Warehouse 구축 및 최적화 (레벨 300)

강사 : 김지선, AWS 데이터웨어하우스 스페셜리스트 SA

Redshift의 구조 및 컨셉

아키텍쳐

  • Columnar 방식으로 데이터 저장
    • 행 기반 저장소는 특정 컬럼의 데이터만 쿼리하다라도 모든 데이터를 읽은 후 필터링하는 방식
    • 컬럼 기반 저장소를 특정 컬럼만 읽어 차리할 수 있음
  • 데이터를 압출하여 데이터 저장용량 증가 및 전체 쿼리 성능 향상
    • 열마다 데이터 인코딩을 다르게 설정할 수 있음
    • 컬럼 기반이라서 데이터 압축 효과가 큼
  • 블록 단위로 열 데이터를 저장
  • Zone maps : 인-메모리 블록 메타데이터
  • Data sorting : Zone map의 효율성을 높이고 I/O를 줄여 쿼리 살행 속도 행상
    • 물리적으로 데이터를 정렬
  • Materialize columns : Fact성 테이블에서 zone map을 활용한 쿼리 성능 향상
  • Slices : 컴퓨팅 노드 내 가상의 프로세스
    • 병렬 처리 기능 향상을 위한 데이터 균등 분배
    • 분산 방식 : even, key, all, auto
      • even : rount robin
      • key : 해시키 값에 따라 분산
      • all : 노드들이 같은 데이터를 저장
      • 데이터 분산 요약
        데이터 분산 요약
  • Redundancy
  • Transactions : ACID기반의 Transactional DW 서비스

Redshift Spectrum

  • S3를 연동하여 무제한으로 데이터를 확장할 수 있음

강점

  • 대용량 데이터 쓰기에 적합
  • Update / Delete의 속도가 빠름
    • 물리적 데이터를 지우지 않음
    • 주기적으로 고스트 데이터의 삭제 작업 필요
    • WLM (Workload Management)
  • 쿼리의 수행에 대한 관리 지원
    • 워크로드별로 쿼리 큐 관리 가능
  • 쿼리 특성에 따라 동시 쿼리 수행
  • 쿼리 대기열이 부족할 경우 다른 Redshift 클러스터로 라우팅하거나 실행하도록 함

QMR (Query Monitoring Rule)

참고자료 제공

참고자료1
참고자료2

AWS를 이용한 개인화, 추천 기술의 손쉬운 도입 및 비즈니스 인사이트 파악 (레벨 300)

강사 : 남궁영환, AWS 데이터 사이언티스트 SA

개인화 & 추천

  • 개인정보를 기반으로 추천해주는 서비스가 중요해지고 있음
  • 실제 아마존 서비스들에서 활용하여 성능향상이 있었음
    • 쇼핑, 뮤직, 스포츠, ...
  • 알고리즘 트렌드
    • Rule based -> 머신 러닝 -> 딥 러닝
  • 어려움
    • 데이터 확보
    • 실시간 분석 결과 제공
    • 모델의 지속적인 업그레이드
    • 높은 확장성
    • 머신러닝의 Flow
      머신러닝의 Flow

Amazon Personalize

아마존에서 사용하는 머신 러닝 기술을 바탕으로 한 실시간 개인화 및 추천 서비스

아마존에서 제공하는 알고리즘으로 모델을 간편하게 생성하고 아마존에서 재공하는 인프라를 활용하여 배포 및 운영을 하기 때문에 client에서는 간편하게 API로 요청할 수 있음

전체 워크플로우
전체 워크플로우
빌트인 레시피

  • 파라미터 최적화 및 알고리즘 자동선택 기능 제공
  • 종류 : HRNN, FM (Factorization Machines), Deep FM, FFNN, ...

솔루션의 성능 평가 지표
솔루션의 성능 평가 지표

개인 소감

전체적으로 AI기반 플랫폼을 구성하기 위한 배경지식을 습득할 수 있는 좋은 기회였습니다.

1섹션

데이터레이크를 활용하여 분석의 결과 데이터, 혹은 모델이 요구하는 데이터를 만들 수 있는 공간우로 사용한다라는 것으로 이해했습니다.

데이터레이크의 구축뿐만 아니라 많은 데이터를 조회하거나 많은 트래픽을 감당할 수 있는 구조를 가져가는게 주요 이슈로 보입니다.

2섹션

현재 파트에서 진행하는 플랫폼의 구조가 틀린 방행은 아니구나 하는 안도감이 들었습니다.

스트림데이터의 수집에서부터 람다를 활용한 비동기 요청까지 리얼타임 데이터를 처리하는 구조에 대한 의구심을 지울 수 있었고
현재 구조를 기반으로 점차 나은 방향으로 나아갈 수 있겠다고 느꼈습니다.

3섹션

컬럼기반 데이터베이스의 구조를 배울수 있는 자리였던거 같습니다.

4섹션

자체적으로 플랫폼을 가지고 있지 않더라도 AWS에서 지원하는 기능을 활용하면 머신러닝 및 딥러닝 모델을 만들어 서비스에 적용할 수 있다는것이 주요 내용이었던거 같습니다.

기타

기념품

노트북
노트북

맛있는 점심

죽
나박김치
샐러드
스테이크
한식
과일
커피

Comments