본문 바로가기
  • 꾸준히 앞으로
Cloud

[Cloud onBoard Online] 빅데이터, 머신러닝

by lijly 2020. 5. 14.

🛷 2020년 3월 31일 진행된 "Cloud onBoard Online"을 정리하였습니다.

 

 

빅데이터와 머신러닝

기본 개념

🤫
데이터 분석하는데에 중요한 것(disk, memory, cpu)은?
memory!
→ 메모리 사이즈가 크면? 더 많은 데이터를 올릴 수 있기 때문

데이터 사이즈가 클 때,

  1. scale up ; 성능이 더 좋은 걸로 upup!

    → 제한이 있음

  1. sharding - map - reduce
    1. sharding ; 데이터를 잘게 쪼갬
    1. map ; 여러대의 각각의 컴퓨터(worker)에 할당 후
    1. reduce ; 합침
    • 데이터를 분석해주는 친구 → 워커 노드
    • 각각을 관리해주는 친구 → master

     

    • map-reduce 알고리즘

      → 이 아이디어를 기반으로 해서 만든 것 : 하둡, 스파크, 피그, 하이브 등

      → 하드웨어 관점에서 봤을 때 : master-worker 아키텍처라고 이야기함

🤫
데이터의 크기로 빅데이터를 정의하기가 까다롭지만,
- 컴퓨터 한대로 처리가 가능하다? in memory 분석 → 빅데이터라 부르기 어려움
- 여러대의 컴퓨터가 필요하다? bigdata

 

빅데이터 플랫폼

  • 온 프레미스에서 빅데이터 플랫폼 구축 소요 시간 = 2~3달

    → 느무 오래걸림 + 관리 귀찮음

    Dataproc 사용 시 90초 만에 해결!

 

Dataproc

  • 온프레미스 작업들(Hadoop 및 Spark/Hive/Pig)을 쉽고 빠르게 Migration 가능
  • 오토스케일링
  • 데이터 저장
    • 기존 방식 : 하둡 파일 시스템HDFS 사용 - 워커노드 안에 데이터 저장
    • 추천 : 데이터 분리하여 저장

 

Data Pipeline(예시)

Cloud Pub/Sub - 실시간 데이터 저장

🤫
Pub/Sub이란?
실시간으로 데이터가 왔을 때 받고 뿌려주는 친구
  • 필요 특징
    1. 절대 다운(죽으)면 안됨
    1. 주 7일 24시간 항상 작동해야함
    1. 많은 소스, 데이터가 오더라도 버텨낼 수 있어야함
  • 관리형

Cloud Storage - Batch 파일 저장

🤫
Batch 파일이란?
처음과 끝이 정해져 있는 데이터 (ex. CSV)

Cloud Dataflow - 데이터 정제(ETL) 작업 진행

  • 아파치 bing API 사용
    • 실시간 데이터와 batch 데이터를 동시에 처리하는 것을 굉장히 잘함!
    • 오픈소스
    • 자동화된 확장 → 오토스케일링과 비슷하게 작동
  • 오케스트레이션 : 외부 서비스를 포함하여 여러 서비스를 조율하는 파이프라인 작성

BigQuery - 변환 데이터 저장 후 사용

(혹은 Cloud Storage사용)

  • 장점
    1. 속도 : 페타바이트(PB) 수준의 데이터가 날아와도 처리해줄 수 있음
    1. SQL 구문 사용
    1. 서버리스 : 하드를 관리할 필요가 없음
  • 빅쿼리는 왜 빠른가?

     

    원래라면 행별로 저장/읽어오지만, 빅쿼리는 컬럼 별로 읽어옴 → 읽는 속도 엄청 빠름..! 대신 쓸 때는 느림...!

    → Transactional DB로는 부적합. Analysis DB로는 적합!

 

  • 기타 개념
    • 1단계 학습(training) + 2단계 예측(prediction) 단계 모두 가능한 제품
      1. 가장 자유도가 높은 것

        AI Platform

        • 구글의 풍부한 자원(CPU, GPU, TPU 등) 사용
        • 직접 모든 것을 코딩
        • 데이터 과학자들 대상
        • 정형데이터, 비정형 데이터 모두 사용 가능
      1. AI의 대중화 - AI를 더 쉽게 사용하게 하자

        → 자동화된 형태로 UI를 사용하여 머신러닝을 돌릴 수 있음

        Cloud AutoML

        • UI 사용
        • 자동화된 형태 : 모델을 선택 해줌
        • RDB 사용 가능

        BigQueryML

        • SQL 사용
        • 초매개변수 조정(Hyperparameter tuning) 작업 자동화 : 레이어를 몇개, 뉴런을 몇개 할지 등
    • 2단계 예측(prediction)만 하는 제품
      • 머신러닝을 잘 하기 위한 조건
        1. 많은 양의 데이터
        1. 좋은 반도체 (GPU, CPU)

        → 다 가진 구글은 일반적인 지식에 대해 다 학습시켜 놓음

      Machine Learning API (ex. OCR, Landspan같은,,)

     

 

 

'Cloud' 카테고리의 다른 글

[Cloud onBoard Online] 스토리지, 컨테이너  (0) 2020.05.13
[Cloud onBoard Online] 가상 머신  (0) 2020.05.13
[Cloud onBoard Online] GCP 소개  (0) 2020.05.12

댓글