잡동사니
AWS 캠페인 워크샵 / 분석 및 데이터 아키텍처 현대화 특집 본문
안녕하세요. yeTi입니다.
2019연 09월 05일 AWS 캠페인 워크샵에 참가 후기입니다.
식순은 다음과같이 진행됐습니다.
Data Lake 개요 (레벨100)
강사 : 김윤건, AWS 빅데이터 Business Development Manager
Javis의 아키텍처
코카콜라 예제
- 코카콜라에서 개인의 취향대로 음료를 제조할 수 있는 사비스를 제공했음
- 개인의 음료 취향 데이터를 수집할 수 있었음
머신러닝의 소모시간 비율
머신러닝시 피쳐를 식별하는 시간이 오래걸림
Transform
- RAW 데이터를 분석가능한 데이터로 변환해야하는데 그 과정에서 데이터 레이크를 구성
데이터 실험이란
- 데이터 품질에 따라서 데이터의 분석결과가 달라짐
- 데이터 품질을 관리하기 위해 머신러닝을 활용함
- 데이터를 실험하면서 데이터의 품질을 높여감
아마존의 검색 예시
- 1년전 데이터로 모델 생성
- 지속적으로 데이터 갱신
- 데이터 적중률이 지속적으로 떨어짐
데이터의 실험과정이 자동화 되어야함
- 파이프라인 예시
AWS 분석 및 머신러닝 서비스를 활용한 Kaggle 데이터 분석 (레벨 400)
강사 : 김태현, Analytics Specialist SA
데이터 레이크 오버뷰
데이터 레이크의 아키텍처
AWS Glue가 데이터를 변환하고 분석 서비스는 Glue를 통해서 데이터에 접근함
데모 아키텍쳐
데모 시연을 위한 대략적인 구조는 다음과 같습니다.
- 다양한 데이터 소스원에서 데이터 수집
- ETL 작업을 통한 데이터 변환
- 데이터 확인 및 시각화
- 모델 생성
데모
데모 순서는 다음과 같이 진행됐습니다.
- S3에 feature데이터를 올림
- Glue에 crawler 추가
- Athena로 데이터 확인
- RDS에 label데이터를 올림
- Glue에 crawler 추가
- 개발공간 할당 : Glue에서 dev end point 생성
- SageMaker Notebook 생성
- 데이터 ETL 작업 수행
- Glue에 crawler 추가
- Athena로 데이터 확인
- QuickSight로 데이터 visualize
- SageMaker Notebook 에서 작업 계속
- 분석 데이터의 벡터화
- 모델 생성
- sparkML 활용
- SageMaker 활용
- 모델 결과 확인
스트리밍 데이터 분석을 통한 데이터 인사이트 탐색 (레벨 300)
** 강사 : 문종민, AWS Solutions Architect** 개요
리얼타임의 기준은?
- 데이터 특성에 따라 다를 수 있음
리얼타임 스트림의 구조
- Source : 데이터 원천
- Stream Ingestion : 데이터 전송
- Stram Storage : 순서를 보장하여 저장
- Stream Processing : 데이터를 조회하거나 변환
- Destination : 모델
Kinesis
Data Streams : 카프카와 비슷한 역할
Data Analytics : 데이터를 변환하거나 통합
SQL 형식으로 활용할수도 있고 Klink라는 Java 어플리케이션으로 활용할 수도 있음
Raw 데이터를 분석하기전에 Lambda를 활용하여 데이터 변환을 할 수도 있음
- Streaming 형태의 데이터뿐만 아니라 S3를 input데이터로 활용할 수 있음
SQL형식의 쿼리 예제
Windows 기능 제공
Data streams pipeline 예제
- CloudWatch와 연동하여 모니터링 및 디버깅 가능
- 자동으로 application들을 백업 가능
- Chech point, Snapshot 기능으로 데이터 백업
Example Usage Pattern 1
Example Usage Pattern 2
Example Usage Pattern 3
Data Firehose
- Streams와 다르게 버퍼를 가지고 목적지쪽으로 데이터를 밀어넣어 줌
- 데이터 컨버젼 지원
- Example Architecture
Demo
택시에서 제공하는 승객의 탑승정보를 활용하여 비즈니스 개선
- 택시에서 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)
참고자료 제공
AWS를 이용한 개인화, 추천 기술의 손쉬운 도입 및 비즈니스 인사이트 파악 (레벨 300)
강사 : 남궁영환, AWS 데이터 사이언티스트 SA
개인화 & 추천
- 개인정보를 기반으로 추천해주는 서비스가 중요해지고 있음
- 실제 아마존 서비스들에서 활용하여 성능향상이 있었음
- 쇼핑, 뮤직, 스포츠, ...
- 알고리즘 트렌드
- Rule based -> 머신 러닝 -> 딥 러닝
- 어려움
- 데이터 확보
- 실시간 분석 결과 제공
- 모델의 지속적인 업그레이드
- 높은 확장성
- 머신러닝의 Flow
Amazon Personalize
아마존에서 사용하는 머신 러닝 기술을 바탕으로 한 실시간 개인화 및 추천 서비스
아마존에서 제공하는 알고리즘으로 모델을 간편하게 생성하고 아마존에서 재공하는 인프라를 활용하여 배포 및 운영을 하기 때문에 client에서는 간편하게 API로 요청할 수 있음
전체 워크플로우
빌트인 레시피
- 파라미터 최적화 및 알고리즘 자동선택 기능 제공
- 종류 : HRNN, FM (Factorization Machines), Deep FM, FFNN, ...
솔루션의 성능 평가 지표
개인 소감
전체적으로 AI기반 플랫폼을 구성하기 위한 배경지식을 습득할 수 있는 좋은 기회였습니다.
1섹션
데이터레이크를 활용하여 분석의 결과 데이터, 혹은 모델이 요구하는 데이터를 만들 수 있는 공간우로 사용한다라는 것으로 이해했습니다.
데이터레이크의 구축뿐만 아니라 많은 데이터를 조회하거나 많은 트래픽을 감당할 수 있는 구조를 가져가는게 주요 이슈로 보입니다.
2섹션
현재 파트에서 진행하는 플랫폼의 구조가 틀린 방행은 아니구나 하는 안도감이 들었습니다.
스트림데이터의 수집에서부터 람다를 활용한 비동기 요청까지 리얼타임 데이터를 처리하는 구조에 대한 의구심을 지울 수 있었고
현재 구조를 기반으로 점차 나은 방향으로 나아갈 수 있겠다고 느꼈습니다.
3섹션
컬럼기반 데이터베이스의 구조를 배울수 있는 자리였던거 같습니다.
4섹션
자체적으로 플랫폼을 가지고 있지 않더라도 AWS에서 지원하는 기능을 활용하면 머신러닝 및 딥러닝 모델을 만들어 서비스에 적용할 수 있다는것이 주요 내용이었던거 같습니다.
기타
기념품
맛있는 점심
'IT' 카테고리의 다른 글
M-JPEG에 대해서 알아보자 (2) | 2020.07.17 |
---|---|
Duplicate Targetframework attribute (0) | 2020.05.22 |
페이스북 RestAPI 구조 분석 (0) | 2019.09.11 |
Markdown, 생산성의 증가 (0) | 2019.09.06 |
[면접 후기] NHN Entertainment(NHN엔터테인먼트) 1차면접(실무면접) 리뷰 (12) | 2019.06.04 |