Google Cloud의 빅데이터 서비스는 확장 가능한 완전 관리형 서비스
- 리소스들을 사용자들이 프로비저닝하지 않더라도 사용 가능하며, 자동으로 증가하거나 감소시켜 유연하게 제공
빅데이터의 기초는 분산 시스템
- 대규모 데이터 처리를 위한 맵리듀스 아키텍처
하둡 에코시스템
- 맵리듀스 아키텍처를 오픈소스로 구현한 것
기존의 온 프레미스에서의 빅데이터 플랫폼 구축
Cloud Dataproc은 관리형 Hadoop
- GCP Hadoop 및 Spart/Hive/Pig를 관리형으로 빠르고 쉽게 실행하는 방법
즉, Hadoop 및 Spart/Hive/Pig를 지원하는 관리형 서비스 - 클러스터 생성 시간 평균 90초 이하
- 작업 실행 중에서도 클러스터 규모 확장 및 축소 가능
- 온프레미스 Hadoop 작업을 클라우드로 손쉽게 마이그레이션 할 수 있음
- Cloud Storage에 저장된 로그 등의 데이터를 빠르게 분석하고, 평균 90초 이내에 클러스터를 생성하고, 즉시 삭제 가능
- Spark/Spart SQL을 그대로 사용하여 데이터 마이닝 및 분석을 빠르게 수행
- Spark 머신러닝 라이브러리(MLilb)를 사용하여 분류 알고리즘을 수행
Data Pipeline 예시 (Streaming & Batch)
- 데이터가 원래 들어있는 소스 시스템에서부터 데이터를 받아서 데이터를 목적에 맞게 가공하고 어디에 저장 후 활용, 분석
(ETL : 추출(Extract), 변환(Transform), 적재(Load))
확장 가능하고 안정적인 메시징인 Cloud Pub/Sub
- 메시지를 주고 받을 수 있는 완전 관리형 실시간 메시징 서비스
- 다대다 비동기 메시징 지원
애플리케이션 구성요소에서 주제에 대한 push/pull 구독 작성 - 검증된 Google 기술 활용하여 대규모 서비스에도 안정적으로 서비스 (Gmail, 검색 서비스에 사용)
- 자동으로 리소스를 확보하므로 확장성이 좋음
- Cloud Dataflow와 통합하여 비동기식 전달 데이터 처리 파이프라인 구현
- Dataflow, 사물 인터넷, 마케팅 분석의 데이터 수집을 위한 구성 요소를 받아서 서비스와 연결 가능
- Dataflow 스트리밍의 기반 가능
- 클라우드 기반 애플리케이션의 푸시 알림 가능
- Google Cloud Platform에 속하는 여러 애플리케이션 연결(Compute Engine과 App Engine 사이에 push/pull) 가능
Cloud Dataflow는 ELT을 제공하는 관리형 데이터 파이프라인
- Compute Engine 인스턴스를 사용하여 데이터 처리
설정한 max 값 내에서 클러스터 크기 자동 조절이 가능하며, 자동화된 확장 제공, 인스턴스 프로비저닝이 필요하지 않음 - 코드를 한 번만 작성하여 일괄 처리 및 스트리밍 - 변환 기반 프로그래밍 모델
- 작업이 오래 걸릴 경우, 자동으로 오래걸리는 작업을 다른 노드에 리밸런싱해서 전체적으로 빠르게 처리하도록 함
- ELT(추출/변환/로드) 파이프라인으로 데이터 이동, 필터링, 다변화 및 형성 가능
- 데이터 분석 - 일괄 연산 또는 스트리밍을 사용한 연속 연산 가능
- 오케스트레이션 - 외부 서비스를 포함하여 여러 서비스를 조율하는 파이프라인 작성 가능
- Cloud Storage, Cloud Pub/Sub, BigQuery, Bigtable 등의 GCP 서비스와 통합 가능 - 오픈소스 Java 및 Python SDK
완전 관리형 데이터 웨어하우스 BigQuery
- 방대한 데이터세트(PB : 페타바이트)에 대한 실시간에 가까운 대화형 분석 제공
- SQL 구문(SQL 2011)을 사용하는 쿼리
- 사전에 인프라를 프로비저닝 할 필요 없으며, 클러스터 유지보수가 필요하지 않음
- Google의 고성능 인프라에서 실행됨
- 컴퓨팅과 스토리지를 분리한 후, 페타비트급 네트워크로 연결됨
- 사용된 스토리지 및 처리에 대해서만 지불
- 장기 데이터 스토리지 자동 할인
- BigQuery의 조회 속도가 빠른 이유는 Column 기반으로 데이터가 저장되는 Columnar Storage이기 때문임
Google Cloud에서 머신러닝을 적용하는 방식
- 방대한 데이터셋을 가지고 학습을 시켜 모델을 만들어내고, 모델에 새로운 데이터를 입력했을 때의 결과를 예측
보고 듣고 이해하는 앱을 지원하는 Machine Learning API
- 구글에서 미리 사전에 학습시켜 놓은 API이므로 예측하는 것에만 사용
- Cloud Vision API
1) 단순한 REST API로 이미지 분석 - 로고 감지, 라벨 인식 등
2) Cloud Vision API에서 제공하는 기능 - 이미지에서 유용한 정보 확보, 부적절한 콘텐츠 감지, 정서 분석, 텍스트 추출 - Cloud Speech API
1) Speech-to-text (음성인식) / Text-to-speech (음성합성) 지원
2) 80개 이상 언어 및 변형어 인식
3) 실시간으로 텍스트 반환 기능
4) 소음이 심한 환경에서도 높은 정확도 제공
5) 모든 기기에서 액세스
6) Google 머신러닝 기반
7) 다양한 목소리 타입 지원 - Cloud Natural Language API
1) 머신러닝 모델을 사용하여 텍스트의 구조와 의미를 파악
2) 텍스트 문서, 뉴스 기사, 블로그 글에서 언급된 사안에 관한 정보를 추출
3) 요청 시 업로드된 텍스트를 분석하거나 Cloud Storage와 통합 - Cloud Translation API
1) 수많은 언어 쌍 사이에서 임의 문자열 번역
2) 문서의 언어를 프로그래매틱 방식으로 감지
3) 수십 개의 언어 지원 - Cloud Video Intelligence API
1) 라벨 감지 가능, 영상 속 엔티티 추출 가능
2) 동영상 콘텐츠에 특수효과 적용
3) 장면 변화 감지
4) 부적절한 콘텐츠 신고
5) 다양한 동영상 형식 지원
Cloud AutoML
- 특화된 커스텀 모델을 생성하기 위해 콘솔에서 제공하는 UI로 최적의 모델을 만들어 줌
- 데이터의 대상에 따라 Vision, CVideo, Natural Language, Tables, Translation 제품 제공
Custom Training with code
- 준비된 데이터와 ML 전문가가 만들어낸 코드를 같이 넣고 학습을 시킨 후, 학습 결과물로 나온 모델을 예측하도록 환경 제공
예측 분석을 위한 BigQuery 머신러닝
- BigQuery에 저장된 데이터를 옮길 필요 없이 머신러닝 이니셔티브 실행할 수 있으며, 학습된 모델이 BigQuery에 저장
- BigQuery에서 SQL 모델을 반복 실행하여 개발 속도를 높임
- 일반 머신러닝 업무 및 초매개변수 조정 (Hyperparameter tuning) 작업 자동화
'Cloud > GCP' 카테고리의 다른 글
[Cloud Skills Boost] Developing Applications on Google Cloud - Best Practices for Application Development ① (0) | 2022.01.30 |
---|---|
[Cloud OnBoard] Google Cloud Fundamentals (0) | 2022.01.27 |
[Cloud OnBoard] 앱 개발, 배포 및 모니터링 (0) | 2022.01.26 |
[Cloud OnBoard] 컨테이너 (0) | 2022.01.26 |
[Cloud OnBoard] 스토리지 (0) | 2022.01.25 |