데이터 생명 주기

이 문서에서는 초기 획득에서 최종 시각화에 이르기까지 전체 생명 주기에서 데이터를 관리하는 데 사용할 수 있는 Google Cloud Platform(GCP) 서비스에 대해 설명합니다. 각 서비스의 특징 및 기능에 대해 학습하여 워크로드에 가장 적합한 서비스에 대한 정보를 바탕으로 결정을 내릴 수 있습니다.

데이터 생명 주기에는 4단계가 있습니다.

  • 내부 데이터화 : 첫 번째 단계는 기기의 데이터 스트리밍, 온프레미스 일괄 데이터, 앱 로그 또는 모바일 앱 사용자 이벤트 및 분석과 같은 원시 데이터를 가져오는 것입니다.

  • 저장: 데이터를 검색한 후에는 내구성이 있고 쉽게 액세스할 수 있는 형식으로 저장해야 합니다.

  • 처리 및 분석: 이 단계에서 데이터는 원시 형식에서 실행 가능한 정보로 변환됩니다.

  • 탐색 및 시각화: 마지막 단계는 분석 결과를 동료 및 동료와 통찰력을 공유하고 공유하기 쉬운 형식으로 변환하는 것입니다.

각 단계에서 GCP는 데이터를 관리하는 여러 서비스를 제공합니다. 즉 데이터 및 워크플로에 맞게 조정된 일련의 서비스를 선택할 수 있습니다.

GCP 서비스를 데이터 생명 주기에 매핑합니다.

내부 데이터화

데이터의 크기, 소스, 지연 시간에 따라 여러 가지 방법으로 원시 데이터를 수집할 수 있습니다.

  • : 로그 파일이나 사용자 이벤트와 같은 앱 이벤트의 데이터는 일반적으로 앱이 API를 호출하여 데이터를 저장소로 보내는 푸시 모델로 수집됩니다.

  • 스트리밍: 데이터가 작은 비동기 메시지의 연속적인 스트림으로 구성됩니다.

  • 일괄 처리: 대량의 데이터를 파일 집합에 저장한 후 저장소로 일괄 전송합니다.

다음 차트는 GCP 서비스가 앱, 스트리밍 및 일괄 작업 부하에 어떻게 매핑되는지 보여줍니다.

GCP 서비스를 앱, 스트리밍 및 일괄 데이터에 매핑합니다.

선택한 데이터 전송 모델은 작업 부하에 따라 다르며 각 모델마다 서로 다른 인프라 요구사항이 있습니다.

앱 데이터 수집

앱과 서비스는 상당한 양의 데이터를 생성합니다. 여기에는 앱 이벤트 로그, 클릭 스트림 데이터, 소셜 네트워크 상호 작용 및 전자 상거래 트랜잭션과 같은 데이터가 포함됩니다. 이 이벤트 중심 데이터를 수집하고 분석하여 사용자 추세를 파악하고 중요한 비즈니스 통찰력을 제공할 수 있습니다.

GCP는 Compute Engine의 가상 컴퓨터에서 App Engine의 관리형 플랫폼인 Google Kubernetes Engine(GKE)의 컨테이너 관리에 이르기까지 앱을 호스팅하는 데 사용할 수 있는 다양한 서비스를 제공합니다.

GCP에서 앱을 호스팅하면 내장 도구 및 프로세스에 액세스하여 GCP의 풍부한 데이터 관리 서비스 생태계로 데이터를 전송할 수 있습니다.

예를 들면 다음과 같습니다.

  • 파일에 데이터 쓰기: 앱에서 일괄 CSV 파일을 Cloud Storage의 객체 스토리지에 출력합니다. 그런 다음 분석 데이터 웨어하우스인 BigQuery의 가져오기 기능으로 데이터를 가져와 분석 및 쿼리를 수행할 수 있습니다.

  • 데이터베이스에 데이터 쓰기: 앱에서 Cloud SQL의 관리형 MySQL 또는 Cloud DatastoreCloud Bigtable이 제공하는 NoSQL 데이터베이스와 같이 GCP가 제공하는 데이터베이스 중 하나에 데이터를 씁니다.

  • 메시지로 데이터를 스트리밍: 앱에서 실시간 메시징 서비스인 Cloud Pub/Sub로 데이터를 스트리밍합니다. 메시지를 구독하는 두 번째 앱에서 데이터를 저장소로 전송하거나 사기 행위 감지 등을 위해 즉시 처리할 수 있습니다.

Stackdriver Logging: 중앙 집중식 로그 관리

Logging은 GCP 및 기타 공개 및 사설 클라우드 플랫폼에서 실행되는 애플리케이션의 로그 데이터를 수집하는 중앙 집중식 로그 관리 서비스입니다. Cloud Storage, Cloud Pub/SubBigQuery에 데이터를 보내는 기본 제공 도구를 사용하여 Logging에 의해 수집된 데이터를 내보냅니다.

많은 GCP 서비스가 자동으로 로그 데이터를 Logging에 기록합니다. 예를 들어 App Engine에서 실행 중인 앱은 자동으로 각 요청 및 응답의 세부 정보를 Logging에 기록합니다. Logging이 자동으로 수집하여 로그 뷰어에 표시되는 stdoutstderr 커스텀 로깅 메시지를 작성할 수도 있습니다.

Logging은 Compute Engine에서 호스팅되는 가상 머신(VM) 인스턴스 및 GKE에서 관리하는 컨테이너 클러스터에서 실행할 수 있는 fluentd 기반의 로깅 에이전트를 제공합니다. 에이전트는 일반적인 타사 앱 및 시스템 소프트웨어의 로그 데이터를 Logging으로 스트리밍합니다.

스트리밍 데이터 수집

스트리밍 데이터는 회신을 기대하지 않고 비동기적으로 전달되며 개별 메시지의 크기는 작습니다. 일반적으로 스트리밍 데이터는 텔레메트리에 사용되며 지리적으로 분산된 기기에서 데이터를 수집합니다. 스트리밍 데이터는 이벤트 트리거를 실행하고 복잡한 세션 분석을 수행하며 머신러닝 작업을 위한 입력으로 사용할 수 있습니다.

다음은 스트리밍 데이터의 두 가지 일반적인 용도입니다.

  • 텔레메트리 데이터: 사물 인터넷(IoT) 기기는 센서를 통해 주변 환경의 데이터를 수집하는 네트워크 연결 기기입니다. 개별 기기가 전송하는 데이터 포인트 수는 1분에 1개뿐이더라도, 그 데이터를 수많은 기기 수에 곱해야 하므로 빅데이터 전략과 패턴을 신속하게 적용해야 합니다.

  • 사용자 이벤트 및 분석: 모바일 앱은 사용자가 앱을 열 때와 오류나 비정상 종료가 발생할 때마다 이벤트를 로깅할 수 있습니다. 앱이 설치된 모든 휴대기기에서 이 데이터를 집계하면 사용량, 측정항목, 코드 품질에 대한 유용한 정보를 얻을 수 있습니다.

Cloud Pub/Sub: 실시간 메시징

Cloud Pub/Sub는 앱 간에 메시지를 보내고 받을 수 있는 실시간 메시징 서비스입니다 앱 간 메시징의 주요 사용 사례 중 하나는 스트리밍 이벤트 데이터를 수집하는 것입니다. Cloud Pub/Sub는 스트리밍 데이터를 사용하여 들어오는 데이터 스트림의 분할, 복제, 부하 분산, 파티션 나누기에 대한 세부정보를 자동으로 관리합니다.

대부분의 스트리밍 데이터는 전 세계에 분산된 사용자 또는 시스템에 의해 생성됩니다. Cloud Pub/Sub에는 글로벌 엔드포인트가 있으며 Google의 글로벌 프런트 엔드 부하 분산기를 활용하여 모든 GCP 지역에서 최소 지연 시간으로 데이터 수집을 지원합니다. 또한 Cloud Pub/Sub는 개발자가 시스템 리소스를 미리 프로비저닝할 필요 없이 신속하고 자동으로 요구를 충족시킬 수 있도록 확장합니다. Cloud Pub/Sub의 확장 방법에 대한 자세한 내용은 Spotify의 사례 연구를 참조하세요.

주제는 Cloud Pub/Sub가 메시지 스트림을 구성하는 방법입니다. Cloud Pub/Sub에 데이터를 스트리밍하는 앱은 주제를 대상으로 합니다. 각 메시지를 받으면 Cloud Pub/Sub는 고유 식별자와 타임스탬프를 첨부합니다.

데이터가 수집되면 하나 이상의 앱에서 주제 구독을 사용하여 메시지를 검색할 수 있습니다. 이는 가져오기 또는 내보내기 모델에서 수행할 수 있습니다. 내보내기 구독에서 Cloud Pub/Sub 서버는 미리 구성된 URL 엔드포인트에서 구독자 애플리케이션에 요청을 보냅니다. 가져오기 모델에서 구독자는 서버에 메시지를 요청하고 수신 확인을 알립니다. Cloud Pub/Sub는 구독자당 최소 한 번 메시지 전달을 보장합니다.

Cloud Pub/Sub는 메시지 전달 순서를 보장하지 않습니다. 버퍼링을 통해 엄격한 메시지 순서를 유지할 수 있으며, 여기에 Cloud Dataflow가 사용되는 경우가 많습니다.

Cloud Pub/Sub의 일반적인 용도는 실제 이벤트 시간당 실시간 처리를 위해 스트리밍 데이터를 Cloud Dataflow로 이동하는 것입니다. 처리가 완료되면 데이터를 앱 타임스탬프에 따라 정렬된 쿼리를 지원하는 Cloud DatastoreBigQuery와 같은 영구 스토리지 서비스로 이동할 수 있습니다.

일괄 내부 데이터화

일괄 데이터는 적은 수의 소스와 대상 사이에 높은 총 대역폭을 필요로 하는 대규모 데이터세트로 구성됩니다. 데이터는 CSV, JSON, Avro 또는 Parquet 파일 또는 관계형 데이터베이스 또는 NoSQL 데이터베이스와 같은 파일에 저장될 수 있습니다. 소스 데이터는 온프레미스 또는 다른 클라우드 플랫폼에 위치할 수 있습니다.

일괄 데이터를 처리하는 사용 사례는 다음과 같습니다.

  • 과학 분야 작업 부하: VCF(Variant Call Format) 텍스트 파일에 저장된 유전체 데이터를 Cloud Storage에 업로드하고 나중에 Genomics로 가져옵니다.

  • 클라우드로 이전: Informatica를 사용하여 온프레미스 Oracle 데이터베이스에 저장된 데이터를 완전 관리형 Cloud SQL 데이터베이스로 이동합니다.

  • 데이터 백업: Cloud Storage Transfer Service를 사용하여 AWS 버킷에 저장된 데이터를 Cloud Storage로 복제합니다.

  • 이전 데이터 가져오기: 장기 트렌드 분석을 위해 10년 분량의 웹사이트 로그 데이터를 BigQuery에 복사합니다.

GCP 및 파트너 회사는 대규모 데이터세트를 GCP에 로드하는 데 사용할 수 있는 다양한 도구를 제공합니다.

Storage Transfer Service: 관리형 파일 전송

Storage Transfer Service는 클라우드 저장소 버킷으로 데이터 전송을 관리합니다. 데이터 소스는 AWS S3 버킷, 웹 액세스 URL 또는 다른 Cloud Storage 버킷이 될 수 있습니다. Storage Transfer Service는 대량 전송을 위한 것이며 1TB보다 큰 데이터 볼륨에 최적화되어 있습니다.

데이터 백업은 Storage Transfer Service의 일반적인 용도입니다. 다른 저장소 제공업체의 데이터를 Cloud Storage 버킷에 백업할 수 있습니다. 또는 Multi-Regional Storage 버킷에서 Nearline Storage 버킷으로 데이터를 보관하여 스토리지 비용을 절감하는 등 Cloud Storage 버킷 간에 데이터를 이동할 수 있습니다.

Storage Transfer Service는 일회성 전송 또는 반복 전송을 지원합니다. 파일 생성 날짜, 파일 이름 필터 및 데이터 가져오기를 선호하는 시간에 따라 고급 필터를 제공합니다. 또한 원본 데이터를 복사한 후 삭제할 수 있습니다.

Transfer Appliance: 배송 가능한 고용량 저장소 서버

Transfer Appliance는 Google에서 임대하는 대용량 저장소 서버입니다. 이를 네트워크에 연결하고 데이터로 로드한 다음 Cloud Storage에 데이터가 업로드되는 업로드 시설로 배송합니다. Transfer Appliance는 여러 크기로 제공됩니다. 또한 데이터의 특성에 따라 중복 제거 및 압축을 사용하여 기기의 유효 용량을 대폭 늘릴 수 있습니다.

Transfer Appliance를 사용할 시기를 결정하려면 네트워크 연결을 사용하여 데이터를 업로드하는 데 필요한 시간을 계산합니다. 1주일 이상 걸릴 것으로 판단되거나 60TB 이상의 데이터가 있는 경우(전송 속도와 상관없이) Transfer Appliance를 사용하여 데이터를 전송하는 것이 더 안전하고 편리합니다.

Transfer Appliance는 사용자가 제공한 암호와 암호를 사용하여 강력한 AES-256 암호화로 캡처한 데이터를 중복 제거, 압축 및 암호화합니다. Cloud Storage에서 데이터를 읽을 때 동일한 비밀번호와 암호를 지정합니다. Transfer Appliance를 사용할 때마다 어플라이언스는 안전하게 지워지고 다시 이미지화되어 다음 사용자가 데이터를 사용할 수 없게 됩니다.

Cloud Storage gsutil: 명령줄 인터페이스

Cloud Storage는 기존 파일 시스템의 파일 기반 데이터를 Cloud Storage로 이동하는 데 사용할 수 있는 명령줄 유틸리티인 gsutil을 제공합니다. Python으로 작성되는 gsutil은 Linux, macOS 및 Windows 시스템에서 실행됩니다. 데이터를 Cloud Storage로 이동하는 것 외에도 gsutil을 사용하여 Cloud Storage 버킷을 만들어 관리하고 객체의 액세스 권한을 편집하고 Cloud Storage에서 객체를 복사할 수 있습니다. 일괄 데이터 수집에 gsutil을 사용하는 방법에 대한 자세한 내용은 프로덕션 전송 스크립팅을 참조하세요.

Cloud Storage Offline Media Import / Export

Offline Media Import / Export는 하드 디스크 드라이브, 테이프 및 USB 플래시 드라이브와 같은 물리적 미디어를 대신하여 데이터를 업로드하는 타사 서비스 제공업체로 전송하여 Cloud Storage에 데이터를 로드하는 데 사용할 수 있는 타사 솔루션입니다 Offline Media Import / Export는 느리거나, 신뢰할 수 없거나, 비싼 인터넷만 사용 가능한 경우 유용합니다.

데이터베이스 이전 도구

소스 데이터가 온프레미스 또는 다른 클라우드 제공 업체가 호스팅하는 데이터베이스에 저장되는 경우 일괄로 데이터를 GCP로 이전하는 데 사용할 수 있는 여러 타사 앱이 있습니다. 이러한 앱은 종종 소스 시스템과 동일한 환경에 공동 배치되어 일회성 및 지속적인 전송을 제공합니다. TalendInformatica와 같은 앱은 GCP를 기본적으로 지원하여 추출, 변환, 로드(ETL) 기능을 제공합니다.

GCP에는 외부 데이터베이스에서 데이터를 이전하는 데 적합한 여러 대상 데이터베이스가 있습니다.

  • 관계형 데이터베이스: 관계형 데이터베이스 관리 시스템(RDBMS)에 저장된 데이터를 Cloud SQLCloud Spanner로 이전할 수 있습니다.

  • 데이터 웨어하우스: 데이터 웨어하우스에 저장된 데이터를 BigQuery로 이동할 수 있습니다.

  • NoSQL 데이터베이스: HBase, Cassandra 등의 열 기반 NoSQL 데이터베이스에 저장된 데이터는 Cloud Bigtable로 이전할 수 있습니다. Couchbase, MongoDB 등의 JSON 기반 NoSQL 데이터베이스에 저장된 데이터는 Cloud Datastore로 이전할 수 있습니다.

파트너 솔루션

다수의 GCP 파트너는 일괄 데이터 이동에 초점을 맞춘 보완적인 솔루션을 제공합니다.

  • WANDisco는 온프레미스 로컬 및 네트워크 저장소에서 Cloud Dataproc 클러스터로의 데이터 전송을 자동화하는 Google Active Migrator를 제공합니다.

  • Tervela는 Cloud Storage와의 데이터 이전 및 로컬 파일 시스템 동기화를 자동화하기 위한 Cloud FastPath를 제공합니다.

  • Iron MountainPrime Focus는 하드 디스크 드라이브, 테이프 및 USB 플래시 드라이브와 같은 물리적 미디어에서 Cloud Storage로 데이터를 로드할 수 있는 기능을 제공합니다.

파트너 데이터 및 분석 솔루션에 대한 자세한 내용은 파트너 데이터 및 분석 생태계를 참조하세요.

스토어

데이터는 다양한 모양과 크기로 제공되며 구조는 전적으로 생성된 소스 및 후속 다운 스트림 사용 사례에 따라 다릅니다. 데이터 및 분석 작업 부하의 경우 가져온 데이터를 다양한 형식이나 위치에 저장할 수 있습니다.

GCP 서비스를 각기 다른 유형의 데이터 저장소에 매핑.

객체 데이터 저장

파일은 데이터, 특히 일괄 데이터를 저장하기 위한 공통 형식입니다. GCP를 사용하면 파일 데이터를 Cloud Storage에 업로드할 수 있으므로 해당 데이터를 다양한 다른 서비스에서 사용할 수 있습니다.

Cloud Storage: 관리형 객체 스토리지

Cloud Storage는 구조화된 데이터와 구조화되지 않은 데이터에 대해 내구성이 뛰어난 고가용성 객체 스토리지를 제공합니다. 예를 들어 로그 파일, 데이터베이스 백업 및 내보내기 파일, 이미지 및 기타 이진 파일일 수 있습니다. Cloud Storage의 파일은 프로젝트별로 개별 버킷으로 구성됩니다. 이러한 버킷은 커스텀 액세스 제어 목록(ACL) 또는 중앙 ID 및 액세스 관리(IAM) 컨트롤을 지원할 수 있습니다.

Cloud Storage는 App Engine, GKE 또는 Compute Engine에서 실행되는 앱 및 서비스와 Logging 등의 기타 서비스를 통해 액세스할 수 있는 분산 스토리지 레이어 역할을 합니다.

데이터 저장에 대한 사용 사례는 다음과 같습니다.

  • 데이터 백업 및 재해 복구: Cloud Storage는 데이터 백업 및 보관을 위해 내구성이 높고 안전한 저장소를 제공합니다.

  • 콘텐츠 배포: Cloud Storage를 사용하면 콘텐츠를 저장하고 전송할 수 있습니다. 예를 들어 미디어 파일을 대규모로 저장하고 및 전송할 수 있습니다.

  • ETL 데이터 저장: Cloud Dataflow에서 Cloud Storage 데이터에 액세스하여 변환한 후 Cloud Bigtable, BigQuery 등의 다른 시스템에 로드할 수 있습니다.

  • MapReduce 작업용 데이터 저장: Hadoop 및 Spark 작업을 위해 Cloud Dataproc을 사용하여 Cloud Storage의 데이터에 기본적으로 액세스할 수 있습니다.

  • 쿼리 데이터 저장: BigQuery는 Cloud Storage의 데이터를 데이터세트 및 테이블로 가져올 수 있고, 가져오기 없이 기존 데이터를 통합적으로 쿼리할 수도 있습니다. 직접 액세스를 위해 BigQuery는 기본적으로 지정된 Cloud Storage 버킷에서 CSV, JSON 및 Avro 파일 가져오기를 지원합니다.

  • 머신러닝 시드: Cloud AutoML Vision API 또는 Cloud Natural Language와 같은 GCP 머신러닝 API는 Cloud Storage에 직접 저장된 데이터 및 파일에 액세스할 수 있습니다.

  • 사용률이 낮은 데이터 보관: Nearline StorageColdline Storage는 액세스 속도가 각각 월 1회 또는 연 1회 미만인 객체에 대해 지연 시간이 낮고 비용이 저렴한 스토리지를 제공합니다.

Cloud Storage는 앱 및 서비스에 필요한 가용성 및 성능에 따라 여러 클래스로 제공됩니다.

  • Multi-Regional Storage는 최고 수준의 가용성을 제공하며 자주 액세스하는 데이터에 대해 고도의 중복성, 지연 시간이 낮은 액세스를 필요로 하는 데이터를 저장하는 데 적합합니다. 사용 사례로는 웹사이트 콘텐츠 제공, 대화형 스토리지 작업 부하, 모바일 및 게임 애플리케이션 지원 데이터 등이 있습니다.

  • Regional Storage는 단일 리전에서 고성능 스토리지를 제공하며 Compute Engine 인스턴스에서 사용하는 데이터를 저장하는 데 적합합니다. 사용 사례로는 데이터 집약적인 계산, 빅데이터 처리 등이 있습니다.

  • Nearline Storage는 액세스 빈도가 월 1회 미만인 데이터를 저장하기 위한 저렴하면서도 내구성 높은 스토리지 서비스입니다. Nearline Storage는 1초 미만 단위의 응답 시간으로 데이터에 대한 빠른 액세스를 제공하며 데이터 보관, 온라인 백업, 재해 복구 사용 사례에 유용합니다.

  • Coldline Storage는 액세스 빈도가 연 1회 미만으로 예상되는 데이터를 저장하기 위한 매우 저렴하면서도 내구성 높은 스토리지 서비스를 제공합니다. Coldline Storage는 1초 미만 단위의 응답 시간으로 데이터에 빠르게 액세스할 수 있으며 데이터 보관, 온라인 백업, 재해 복구에 적합합니다.

Firebase용 Cloud Storage: 모바일 앱 개발자를 위한 확장 가능한 스토리지

Firebase용 Cloud Storage는 사용자 기반으로 확장할 수 있도록 설계된 간단하고 비용 효율적인 객체 스토리지 서비스입니다. Firebase용 Cloud Storage는 모바일 및 웹 앱에서 이미지, 오디오, 동영상 및 기타 사용자 생성 콘텐츠와 같은 자산을 저장하고 검색하는 데 적합합니다.

Cloud Storage용 Firebase SDK는 네트워크 품질에 관계없이 업로드 및 다운로드를 수행합니다. 연결 상태가 좋지 않아 인터럽트가 중단되면 중지된 위치에서 다시 시작되므로 시간과 대역폭이 절약됩니다. Firebase 인증과의 통합을 통해 파일 이름, 크기, 콘텐츠 유형 및 기타 메타데이터를 기반으로 액세스를 구성할 수 있습니다.

Firebase용 Cloud Storage는 파일을 Cloud Storage 버킷에 저장하므로 Firebase SDK를 사용하는 모바일 클라이언트에서 파일을 업로드하고 다운로드할 수 있습니다. GCP를 사용하여 이미지 필터링 또는 동영상 트랜스코딩과 같은 서버 측 처리를 수행할 수도 있습니다.

Firebase용 Cloud Storage를 시작하려면 문서를 참조하세요. Firebase에는 iOS, Android, 웹, C ++ 및 Unity 클라이언트용 SDK가 있습니다.

데이터베이스 데이터 저장

GCP는 관계형 데이터와 비관계형 데이터를 저장하는 데 사용할 수 있는 RDBMS와 NoSQL의 다양한 데이터베이스를 제공합니다.

Cloud SQL: 관리형 MySQL 및 PostgreSQL 엔진

Cloud SQL은 완전 관리형 클라우드 기반의 RDBMS로, 복제 지원이 내장된 MySQL 및 PostgreSQL 엔진을 모두 제공합니다. 낮은 대기 시간, 트랜잭션, 관계형 데이터베이스 워크로드에 유용합니다. MySQL과 PostgreSQL을 기반으로 하기 때문에 Cloud SQL은 연결을 위한 표준 API를 지원합니다. Cloud SQL은 내장 백업 및 복원, 고가용성 및 읽기 복제본을 제공합니다.

Cloud SQL은 MySQL과 PostgreSQL 모두 최대 10TB의 RDBMS 작업 부하를 지원합니다. Cloud SQL은 App Engine, GKE 또는 Compute Engine에서 실행되는 앱에서 액세스할 수 있습니다. Cloud SQL은 MySQL 및 PostgreSQL을 기반으로 하므로 표준 연결 드라이버, 타사 애플리케이션 프레임워크(예: Django 및 Ruby on Rails) 및 널리 사용되는 이전 도구를 지원합니다. Cloud SQL에 저장된 데이터는 전송 중 및 정지 시 암호화됩니다. Cloud SQL 인스턴스에는 네트워크 방화벽을 사용하여 데이터베이스 액세스를 관리하는 액세스 제어 기능이 내장되어 있습니다.

Cloud SQL은 일반적인 온라인 트랜잭션 처리(OLTP) 작업 부하에 적합합니다.

  • 금융 거래: 금융 거래를 저장하려면 ACID 데이터베이스 시맨틱스가 필요하며, 데이터가 여러 테이블에 분산되는 경우가 많으므로 복합 트랜잭션 지원이 필요합니다.

  • 사용자 인증 정보: 암호 또는 기타 보안 데이터를 저장하려면 스키마 유효성 검사와 함께 복잡한 현장 지원 및 정책 시행이 필요합니다.

  • 고객 주문: 일반적으로 주문이나 인보이스에는 고도로 정규화된 관계형 데이터 및 재고의 변화를 캡처할 때를 대비한 다중 테이블 트랜잭션 지원이 포함됩니다.

Cloud SQL은 온라인 분석 처리(OLAP) 작업 부하나 객체별로 동적 스키마가 필요한 데이터를 저장하는 데 적합한 스토리지 시스템이 아닙니다. 작업 부하에 동적 스키마가 필요한 경우 Cloud Datastore를 고려하세요. OLAP 작업 부하의 경우 BigQuery를 고려하세요. 작업량에 와이드 칼럼 스키마가 필요한 경우 Cloud Bigtable을 고려하세요.

다운스트림 처리 및 분석 사용의 경우 Cloud SQL의 데이터에 여러 플랫폼 도구에서 액세스할 수 있습니다. Cloud Dataflow 또는 Cloud Dataproc을 사용하여 Cloud SQL에서 데이터를 가져와서 다른 스토리지 시스템에 삽입하는 ETL 작업을 작성할 수 있습니다.

Cloud Bigtable: 관리형 와이드 칼럼 NoSQL

Cloud Bigtable은 테라바이트에서 페타바이트 규모의 작업 부하용으로 설계된 관리형 고성능 NoSQL 데이터베이스 서비스입니다. Cloud Bigtable은 Google 검색, Google 애널리틱스, Google 지도 및 Gmail을 지원하는 Google 내부 Cloud Bigtable 데이터베이스 인프라를 기반으로 합니다. 이 서비스는 대규모 NoSQL 데이터에 대해 일관성 있고 지연 시간이 적으며 높은 처리량의 스토리지를 제공합니다. Cloud Bigtable은 대규모 분석 작업 부하는 물론 실시간 앱 게재 작업 부하용으로 제작되었습니다.

Cloud Bigtable 스키마는 일련의 열과 연관된 단일 색인 행 키를 사용합니다. 스키마는 일반적으로 수직형 또는 수평형 구조를 가지며 쿼리는 행 키를 기반으로 합니다. 스키마 스타일은 다운스트림 사용 사례에 따라 다르며 성능을 최대화하기 위해 데이터 지역성 및 읽기 및 쓰기 분배를 고려하는 것이 중요합니다. 수직형 스키마는 타임스탬프에 의해 일정 부분 키가 지정되고 한 행의 열 수가 상대적으로 적은 시계열 이벤트를 저장하는 데 사용되는 경우가 많습니다. 너비가 큰 스키마는 많은 수의 열과 함께 행 키와 같은 단순한 식별자인 반대 접근 방법을 따릅니다. 자세한 내용은 Cloud Bigtable 스키마 디자인 문서를 참조하세요.

Cloud Bigtable은 광고 기술 또는 IoT 데이터 인프라와 같은 다양하고 처리량이 많은 대규모 작업 부하에 적합합니다.

  • 실시간 앱 데이터: App Engine 가변형 환경, GKE, Compute Engine에서 실행되는 앱에서 실시간 제공되는 작업 부하를 위해 Cloud Bigtable에 액세스할 수 있습니다.

  • 스트림 처리: 데이터가 Cloud Pub/Sub에 의해 처리되므로 Cloud Dataflow로 데이터를 변환하여 Cloud Bigtable에 로드할 수 있습니다.

  • IoT 시계열 데이터: 센서로 캡처되고 GCP로 스트리밍된 데이터를 Cloud Bigtable의 시계열 스키마로 저장할 수 있습니다.

  • 광고 기술 작업 부하: 광고 노출을 저장하고 추적하는 데 Cloud Bigtable을 사용할 수 있으며 Cloud Dataproc과 Cloud Dataflow를 통한 후속 처리 및 분석의 소스로도 사용할 수 있습니다.

  • 데이터 수집: Cloud Dataflow 또는 Cloud Dataproc으로 Cloud Storage의 데이터를 변환하여 Cloud Bigtable에 로드할 수 있습니다.

  • 분석 작업 부하: Cloud Dataflow를 사용하여 Cloud Bigtable에 저장된 데이터에서 직접 복잡한 집계를 수행할 수 있으며 Cloud Dataproc을 사용하여 Hadoop 또는 Spark 처리 및 머신러닝 작업을 실행할 수 있습니다.

  • Apache HBase 대체: Google이 최초로 개발한 Cloud Bigtable 문서를 기반으로 하는 오픈소스 데이터베이스인 Apache HBase를 사용하여 구축된 시스템에서 Cloud Bigtable을 삽입형 교체 기능으로 사용할 수도 있습니다. Cloud Bigtable은 HBase 1.x API를 준수하므로 수많은 기존 빅데이터 시스템에 통합될 수 있습니다. Apache Cassandra는 Cloud Bigtable 문서에 기반한 데이터 모델을 사용하므로 Cloud Bigtable은 와이드 칼럼 기반 스키마와 구조를 활용하는 여러 가지 작업 부하도 지원할 수 있습니다.

Cloud Bigtable은 OLTP 시스템으로 간주되지만 다중 행 트랜잭션, SQL 쿼리 또는 조인은 지원하지 않습니다. 이러한 사례의 경우 Cloud SQL 또는 Cloud Datastore를 고려하세요.

Cloud Spanner: 수평 확장이 가능한 관계형 데이터베이스

Cloud Spanner는 업무상 중요한 OLTP 애플리케이션을 위한 완전 관리형 관계형 데이터베이스 서비스입니다. Cloud Spanner는 수평 확장이 가능하며 strong consistency, 고가용성 및 전역 규모를 지원합니다. 이러한 특성의 조합은 서비스로서의 고유성을 부여합니다. Cloud Spanner는 완전 관리형 서비스이기 때문에 인프라가 아닌 앱 디자인에 집중할 수 있습니다.

Cloud Spanner는 일반적으로 NoSQL 데이터베이스와 관련된 확장 가능성과 함께 관계형 데이터베이스의 사용 및 친숙성을 원하는 사용자에게 적합합니다. 관계형 데이터베이스와 마찬가지로 Cloud Spanner는 스키마, ACID 트랜잭션 및 SQL 쿼리 ANSI 2011을 지원합니다. 여러 NoSQL 데이터베이스와 마찬가지로, Cloud Spanner는 지역에서 수평으로 확장뿐만 아니라 엄격한 가용성 요구사항이 작업 부하 지역에 걸쳐 확장할 수 있습니다. 또한 Cloud Spanner는 밀리초 단위의 한 자리 수 지연으로 데이터를 처리하는 동안 자동 분할을 수행합니다. Cloud Spanner의 보안 기능에는 데이터 계층 암호화, 감사 로깅 및 Cloud IAM 통합이 포함됩니다.

Cloud Spanner를 시작하려면 Cloud Spanner 문서를 참조하세요.

다음은 Cloud Spanner의 일반적인 사용 사례입니다.

  • 금융 서비스: 금융 서비스 작업 부하는 읽기/쓰기 작업 전반에 걸쳐 strong consistency를 요구합니다. Cloud Spanner는 고가용성은 그대로 유지하면서 이러한 일관성을 제공합니다.

  • 광고 기술: 지연은 광고 기술 분야의 주요 고려 사항입니다. Cloud Spanner는 규모 또는 가용성은 그대로 유지하면서 낮은 지연 시간으로 쿼리를 지원합니다.

  • 소매 및 글로벌 공급망: 공급망 전문가는 글로벌 규모에 대응하기 위해 일관성과 유지관리 비용 사이에서 균형점을 찾아야 합니다. Cloud Spanner는 지연 시간이 낮은 자동 전역 동기식 복제를 제공하므로 데이터의 일관성과 고가용성이 항상 유지됩니다.

Cloud Firestore: 유연하고 확장 가능한 NoSQL 데이터베이스

Cloud Firestore는 JSON 데이터를 저장하는 데이터베이스입니다. JSON 데이터는 iOS, Android, JavaScript, IoT 기기 및 데스크톱 앱을 비롯한 다양한 플랫폼에서 연결된 클라이언트와 실시간으로 동기화할 수 있습니다. 클라이언트가 네트워크에 연결되어 있지 않으면 Cloud Firestore API를 사용하여 데이터를 로컬 디스크에 지속할 수 있습니다. 연결이 다시 설정되면 클라이언트 기기가 현재 서버 상태와 동기화됩니다.

Cloud Firestore는 유연한 표현 기반 규칙 언어인 Cloud Firestore 보안 규칙을 제공하여 Firebase 인증과 통합되므로 누가 어떤 데이터에 액세스할 수 있는지 정의할 수 있습니다.

Cloud Firestore는 응답성을 손상시키지 않으면서 수백만 명의 사용자에게 서비스를 제공하는 실시간 경험을 구축하는 데 사용할 수 있는 API가 포함된 NoSQL 데이터베이스입니다. 이러한 수준의 규모와 반응을 촉진하려면 데이터를 적절하게 구조화해야 합니다. Cloud Firestore를 시작하려면 문서를 참조하세요. Cloud Firestore에는 iOS, Android, 웹, C ++ 및 Unity 클라이언트 용 SDK가 있습니다.

다음은 Cloud Firestore의 두 가지 사용 사례입니다.

  • 채팅 및 소셜: 이미지, 오디오, 동영상, 기타 사용자 제작 콘텐츠를 저장하고 검색합니다.

  • 모바일 게임: 기기 및 기기 플랫폼 전반에서 게임 진행 상황과 통계를 추적합니다.

생태계 데이터베이스

GCP에서 제공하는 데이터베이스 서비스 외에도 확장성이 뛰어난 영구 저장소를 갖춘 고성능 Compute Engine 가상 시스템에 자체 데이터베이스 소프트웨어를 배포할 수 있습니다. EnterpriseDBMicrosoft SQL Server와 같은 기존 RDBMS는 GCP에서 지원됩니다. 또한 MongoDBCassandra와 같은 NoSQL 데이터베이스는 고성능 구성에서 지원됩니다.

GCP Marketplace를 사용하면 사전 빌드된 이미지, 스토리지 및 네트워크 설정을 사용하여 GCP에 다양한 유형의 데이터베이스를 배포할 수 있습니다. Compute Engine 인스턴스, 영구 디스크, 네트워크 구성과 같은 배포 리소스는 다양한 작업 부하 또는 사용 사례에 대해 직접적으로 쉽게 맞춤설정할 수 있습니다.

데이터 웨어하우스 데이터 저장

데이터 웨어하우스는 트랜잭션 처리 대신 쿼리 및 분석을 위해 많은 양의 데이터를 저장합니다. 데이터 웨어하우스 작업 부하의 경우 GCP는 BigQuery를 제공합니다.

BigQuery: 관리형 데이터 웨어하우스

BigQuery에서 궁극적으로 분석되는 수집된 데이터의 경우 다른 저장 매체를 거치지 않고 직접 BigQuery에 데이터를 저장할 수 있습니다. BigQuery는 웹 인터페이스, 명령줄 도구 및 REST API 호출을 통해 데이터 로드를 지원합니다.

대량으로 데이터를 로드하는 경우 데이터는 CSV, JSON 또는 Avro 파일 형식이어야 합니다. 그런 다음 BigQuery 웹 인터페이스, 명령줄 도구 또는 REST API 호출을 사용하여 이러한 파일 형식의 데이터를 BigQuery 테이블에 로드할 수 있습니다.

스트리밍 데이터의 경우 Cloud Pub/Sub 및 Cloud Dataflow를 함께 사용하여 수신 스트림을 처리하고 결과 데이터를 BigQuery에 저장할 수 있습니다. 그러나 일부 작업 부하에서는 추가 처리 없이 BigQuery로 직접 데이터를 스트리밍하는 것이 적절할 수 있습니다. 또한 정의된 스키마와 행을 사용하여 데이터 소스에서 읽는 GCP 또는 온프레미스 인프라에서 실행되는 커스텀 애플리케이션을 빌드할 수 있습니다. 커스텀 앱은 GCP SDK 또는 직접 REST API 호출을 사용하여 BigQuery 테이블로 데이터를 스트리밍할 수 있습니다.

처리 및 분석

데이터에서 비즈니스 가치와 통찰력을 이끌어내기 위해서는 이를 변환하고 분석해야 합니다. 이를 위해서는 처리 결과를 분석하고 이해할 수 있는 도구뿐만 아니라 데이터를 직접 분석하거나 다운스트림 분석을 위해 데이터를 준비할 수 있는 처리 프레임워크가 필요합니다.

  • 처리: 소스 시스템의 데이터는 여러 시스템에서 정리, 정규화, 처리되고 분석 시스템에 저장됩니다.

  • 분석: 처리된 데이터는 임의 쿼리 및 탐색을 허용하는 시스템에 저장됩니다.

  • 이해: 분석 결과를 바탕으로 데이터를 사용하여 자동화 머신러닝 모델을 학습시키고 테스트합니다.

GCP는 대규모 데이터를 처리하고 빅데이터를 분석 및 쿼리하고 머신러닝을 통해 데이터를 이해하는 서비스를 제공합니다.

대규모 데이터 처리

대규모 데이터 처리에는 일반적으로 Cloud Storage, Cloud Bigtable 또는 Cloud SQL과 같은 소스 시스템에서 데이터를 읽은 다음 해당 데이터의 복잡한 표준화 또는 집계를 수행해야 합니다. 대부분의 경우 데이터가 너무 커서 단일 시스템에 적합하지 않으므로 프레임워크를 사용하여 분산 컴퓨팅 클러스터를 관리하고 처리를 지원하는 소프트웨어 도구를 제공합니다.

Mapping Cloud Dataproc and Cloud Dataflow to data-processing workloads.

Cloud Dataproc: Managed Apache Hadoop 및 Apache Spark

대용량 데이터 세트를 처리하는 기능은 Google이 2004년 MapReduce 자료를 참조하세요. 많은 조직에서는 이제 Haveop 또는 Hydop와 같은 기존의 일괄 처리 도구를 사용하여 Hadoop 분산 파일 시스템(HDFS)에 데이터를 로드하고 저장하고 정기적인 집계, 보고 또는 변환을 실행합니다. Hadoop은 Mahout을 사용한 머신러닝, Flume을 사용한 로그 수집 및 R을 사용한 통계 등의 활동을 지원하는 대규모 생태계를 갖추고 있습니다. 이 Hadoop 기반 데이터 처리 결과는 업무상 중요합니다. 이러한 프로세스에 종속된 조직이 새로운 프레임워크로 이전하는 것은 사소한 일입니다.

Spark는 지난 몇 년 동안 Hadoop MapReduce의 대안으로 인기를 얻었습니다. Spark의 성능은 일반적으로 Hadoop MapReduce보다 상당히 빠릅니다. Spark는 데이터세트 및 계산을 클러스터 전체에 걸쳐 메모리에 분산함으로써 이를 달성합니다. 속도 향상 외에도 Spark는 Spark Streaming을 사용하여 스트리밍 데이터를 처리하고 Spark SQL을 사용하는 기존의 일괄 분석, 변환 및 집계 및 간단한 API를 Spark에 제공합니다. Spark 커뮤니티는 머신러닝에 사용될 수 있는 MLlib를 비롯한 몇 가지 인기 있는 라이브러리에서 매우 활발합니다.

그러나 Spark 또는 Hadoop을 지속적으로 성장시키면서 지속적으로 증가하는 고정 비용뿐만 아니라 운영상의 복잡성과 오버헤드를 발생시킵니다. 클러스터가 개별 간격으로만 필요하더라도 영구 클러스터의 비용을 지불하게 됩니다. Cloud Dataproc을 사용하면 기존 Hadoop 또는 Spark 배포를 클러스터 생성을 자동화하고 클러스터의 구성 및 관리를 단순화하며 모니터링 및 사용 보고서를 내장하고 사용하지 않을 때 종료할 수 있는 완전 관리형 서비스로 이전할 수 있습니다.

새로운 Cloud Dataproc 클러스터를 시작하는 데 평균 90초가 걸리기 때문에 10 노드 클러스터 또는 1000 노드 클러스터를 쉽게 만들 수 있습니다. 이는 Spark 또는 Hadoop 일괄 관리의 운영 및 비용 오버헤드를 줄이면서 프레임워크의 친숙성과 일관성을 제공합니다. Cloud Dataproc은 필요할 때 Spark 또는 Hadoop 클러스터를 가동하고 필요할 때 클러스터를 종료할 수 있는 쉽고 유연한 기능을 제공합니다. 사용 사례는 다음과 같습니다.

  • 로그 처리: 최소한의 수정만으로 기존 MapReduce를 사용하여 여러 소스에서 매일같이 유입되는 대량의 텍스트 로그 데이터를 처리할 수 있습니다.

  • 보고: 데이터를 보고서로 집계하고 BigQuery에 데이터를 저장합니다. 그런 다음 대시보드를 제공하고 분석을 수행하는 앱에 집계 데이터를 푸시할 수 있습니다.

  • 주문형 Spark 클러스터: Spark(Spark SQL, PySpark, Spark shell)를 사용하여 blob 저장소에 저장된 데이터를 분석하는 임시 클러스터를 빠르게 가동합니다.

  • 머신러닝: 클러스터에 사전 설치된 Spark Machine Learning Libraries(MLlib)를 사용하여 분류 알고리즘을 맞춤화하고 실행합니다.

Cloud Dataproc은 소프트웨어 설치 또는 클러스터 크기 조정과 같은 운영 활동을 단순화합니다. Cloud Dataproc을 사용하면 Cloud Storage, Cloud Bigtable 또는 BigQuery 또는 클러스터가 함께 제공하는 HDFS 저장소에서 데이터를 기본적으로 읽을 수 있습니다. Cloud Dataproc은 Cloud Storage를 통해 데이터에 빠르게 액세스할 수 있고 많은 클러스터가 데이터 이동 없이 데이터세트에서 원활하게 작동할 수 있으므로 데이터 복제에 집중할 필요가 없습니다. 외부에서 데이터를 저장하고 체크 포인트하는 이 기능을 사용하면 Cloud Dataproc 클러스터를 외부 지속성이 있는 일시적인 리소스로 취급할 수 있습니다. 외부 지속성은 필요한 경우 실행, 소비 및 종료할 수 있습니다.

Cloud Dataflow: 서버리스, 완전 관리형 일괄 및 스트림 처리

스트리밍 데이터를 분석할 수 있게 됨으로써 조직의 비즈니스 방식과 실시간 응답 방식이 바뀌었습니다. 그러나 일괄 및 스트리밍 분석을 처리하기 위해 서로 다른 처리 프레임워크를 유지해야 하는 경우 두 가지 파이프라인이 필요하므로 복잡성이 증가합니다. 또한 Spark 및 Hadoop과 마찬가지로 클러스터 활용 및 리소스를 최적화하는 데 많은 시간을 소비하므로 데이터 필터링, 집계 및 변환의 기본 목표를 혼란스럽게 만듭니다.

Cloud Dataflow는 스트리밍 및 일괄 작업 부하 모두에 대해 큰 데이터를 단순화하도록 설계되었습니다. 프로그래밍 모델과 실행 모델을 통합하여 이를 수행합니다. 클러스터 크기를 지정하고 용량을 관리하는 대신 Cloud Dataflow는 주문형 리소스를 만들고 자동 크기를 조정하고 병렬 처리하는 관리 서비스입니다. 실제 무운영 서비스로서, 작업자는 작업 요구에 따라 추가되거나 제거됩니다. Cloud Dataflow는 분할 작업을 포함한 클러스터 전체의 유휴 작업자에 대한 작업을 지속적으로 모니터링, 식별 및 재조정하여 분산 시스템에서 발견되는 straggler 작업자의 일반적인 문제도 처리합니다.

사용 사례는 다음과 같습니다.

  • MapReduce 대체: MapReduce가 아닌 처리 패러다임으로 인해 운영상의 복잡성이나 불만이 발생한 경우에 병렬 작업 부하를 처리합니다.

  • 사용자 분석: 게임 이벤트, 클릭 스트림 데이터, 소매 판매 데이터와 같은 대량의 사용자 행동 데이터를 분석합니다.

  • 데이터 사이언스: 유전체, 기후, 금융 데이터와 같은 대량의 데이터를 처리하여 과학 연구 및 예측을 지원합니다.

  • ETL: BigQuery와 같은 데이터 웨어하우스에 데이터를 추출, 변환, 적재합니다.

  • 로그 처리: 연속 이벤트 로그 데이터를 처리하여 실시간 대시보드, 앱 측정항목, 알림을 작성합니다.

Cloud Dataflow SDK는 Apache Spark 및 Apache Flink에서의 실행을 지원하는 오픈소스 프로젝트 Apache Beam으로도 출시되었습니다. 자체 자동 확장 기능과 손쉬운 배포 덕분에 Cloud Dataflow는 Cloud Dataflow/Apache Beam 워크플로를 실행하기에 이상적인 위치입니다.

Cloud Dataprep by TRIFACTA: 시각적 데이터 탐색, 정리, 처리

Cloud Dataprep은 분석용 데이터를 시각적으로 탐색, 정리 및 준비하는 서비스입니다 코드를 작성하지 않고 브라우저 기반 UI를 사용하여 Cloud Dataprep을 사용할 수 있습니다. Cloud Dataprep은 필요에 따라 변환을 수행하는 데 필요한 리소스를 자동으로 배포하고 관리합니다.

Cloud Dataprep을 사용하면 CSV, JSON 또는 관계형 테이블 형식으로 저장된 모든 크기의 데이터를 변환할 수 있습니다. Cloud Dataprep은 Cloud Dataflow를 사용하여 자동으로 크기를 조정하고 테라바이트 규모의 데이터세트를 처리할 수 있습니다. Cloud Dataprep은 GCP와 완벽하게 통합되어 있으므로 Cloud Storage, BigQuery 또는 데스크톱 등 데이터가 처리되는 위치에 관계없이 데이터를 처리할 수 있습니다. 데이터가 처리된 후에는 정제된 데이터를 BigQuery에 직접 내보내 추가 분석을 시행할 수 있습니다. Cloud ID 및 액세스 관리를 통해 사용자 액세스 및 데이터 보안을 관리할 수 있습니다.

다음은 Cloud Dataprep의 일반적인 사용 사례입니다.

  • 머신러닝: ML 모델 미세 조정을 위해 학습 데이터를 정리할 수 있습니다.
  • 분석: BigQuery와 같은 데이터 웨어하우징 도구로 내부 데이터화할 수 있도록 원시 데이터를 변환할 수 있습니다.

데이터 분석 및 쿼리

데이터를 수집하고 저장하고 처리한 후에는 쉽게 액세스하고 쿼리할 수 있는 형식으로 끝나야 합니다.

BigQuery: 관리형 데이터 웨어하우스

BigQuery는 특수 SQL 쿼리 및 복잡한 스키마를 지원하는 완전 관리형 데이터 웨어하우스입니다. BigQuery를 사용하여 데이터를 분석, 이해 및 구성할 수 있습니다. 기존의 데이터 웨어하우스를 사용하여 표준 SQL 쿼리 또는 비즈니스 인텔리전스 및 시각화 도구를 사용하는 데 익숙한 사용자라면 BigQuery의 강력하고 익숙한 인터페이스의 가치를 실감할 수 있을 것입니다.

BigQuery는 1TB/초를 초과하는 스캔 속도를 달성할 수 있는 확장성이 높고 분산된 저비용의 분석 OLAP 데이터 웨어하우스입니다. 완전 관리형 서비스로서 계산 노드는 시스템에 입력된 각 쿼리에 대해 가동됩니다.

BigQuery를 시작하려면 프로젝트에서 데이터세트를 만들고 데이터를 테이블로 로드한 다음 쿼리를 실행합니다. Cloud Pub/Sub 및 Cloud Dataflow에서 스트리밍 처리를 사용하거나 Cloud Storage에서 데이터를 로드하거나 Cloud Dataflow 또는 Cloud Dataproc에서 실행되는 처리 작업의 출력을 사용하여 데이터를 로드하는 프로세스를 단순화할 수 있습니다. BigQuery는 CSV, Avro 및 JSON 데이터 형식을 가져올 수 있으며 JSON에서 중첩 및 반복 항목에 대한 지원이 포함됩니다.

BigQuery의 모든 데이터는 암호화된 채널을 통해 액세스되고 나머지는 암호화됩니다. BigQuery는 SOC, PCI, ISO 27001 및 HIPAA와 같은 Google의 규정 준수 프로그램에 적용되므로 중요한 정보를 처리하고 쿼리하는 데 사용될 수 있습니다. 데이터 액세스는 ACL을 통해 제어됩니다.

BigQuery는 쿼리 및 저장이라는 두 가지 독립적인 측정 기준에 따라 청구액을 계산합니다. BigQuery에 데이터를 저장하면 Cloud Storage에 데이터를 저장하는 데 비용이 들게 되므로 버킷 및 BigQuery에서 로그 데이터를 유지할 필요가 없습니다. BigQuery에 저장할 수 있는 데이터의 양에는 상한이 없으며, 90일 동안 테이블을 수정하지 않으면 해당 테이블의 저장소 가격이 50% 떨어집니다.

BigQuery의 일반적인 사용 사례는 IoT 기기와 같이 고속으로 신호를 생성하는 서버나 다른 시스템에서 로드 로그 데이터를 스트리밍하거나 주기적으로 일괄 처리하는 것입니다. 기본 통합은 여러 Google 서비스에서 가능합니다. 예를 들어 로깅 데이터를 직접 BigQuery로 전달하도록 로깅을 구성할 수 있습니다.

BigQuery에서 데이터를 쿼리할 때 주문형 또는 정액형의 두 가지 가격 모델을 선택할 수 있습니다. 주문형 가격 정책을 사용하면 쿼리 비용은 처리된 테라바이트 단위로 책정됩니다. 정액제를 사용하는 경우 BigQuery는 간단한 비용 모델로 일관된 쿼리 용량을 제공합니다.

BigQuery는 완전 관리형 서비스로서 인프라 유지 관리 기간 및 데이터 제거와 같은 작업을 자동화합니다. 쿼리 디자인을 향상시키려면 지정된 쿼리의 쿼리 계획 설명을 검토하면 됩니다. 데이터는 대규모 집계 및 데이터 처리에 최적화된 열 형식으로 저장됩니다. 또한 BigQuery는 데이터의 시계열 파티션 나누기가 기본적으로 지원합니다. 설계 관점에서 볼 때, 이는 로드 이벤트를 설계하여 타임스탬프를 사용하고 특정 날짜 파티션에서 쿼리를 대상으로 지정할 수 있음을 의미합니다. BigQuery 쿼리 요금은 스캔한 데이터의 양에 따라 달라지므로 데이터를 파티션 나누기하면 쿼리 효율성이 크게 향상되고 비용이 절감됩니다.

BigQuery에서 쿼리를 실행하는 것은 SQL 2011과 호환되는 표준 SQL을 사용하여 수행할 수 있으며 중첩 및 반복 데이터 쿼리를 지원하는 확장을 제공합니다. BigQuery에서 기본적으로 사용할 수 있는 내장 함수 및 연산자가 있으며 사용자 정의 함수(UDF)를 지원합니다.

BigQuery를 다양한 방식으로 활용할 수 있습니다.

  • 사용자 분석: 대량의 사용자 생성 활동(예: 광고 기술, 클릭 스트림, 게임 원격 측정)을 내부 데이터화하여 사용자 행동 및 특성을 판단합니다.

  • 기기 및 운영 측정항목: IT 시스템, IoT 기기 등에서 스트리밍 정보를 수집하고 데이터를 분석하여 추세 및 변동을 파악합니다.

  • 비즈니스 인텔리전스: 비즈니스 측정항목을 데이터 웨어하우스로 저장하고 Tableau, QlikView, Looker등의 BI 도구 또는 파트너 제품을 구동합니다.

BigQuery를 사용하기 위한 몇 가지 가이드와 예는 BigQuery 사이트에서 제공됩니다.

머신러닝을 통한 데이터 이해

머신러닝은 데이터 생명 주기의 분석 단계에서 중요한 구성 요소가 되었습니다. 처리된 결과를 보강하고, 데이터 컬렉션 최적화를 제안하고, 데이터세트의 결과를 예측하는 데 머신러닝을 사용할 수 있습니다.

사용 사례는 다음과 같습니다.

  • 상품 추천: 이전 구매 및 사이트 탐색을 기반으로 상품을 추천하는 모델을 구축할 수 있습니다.

  • 예측: 머신러닝을 사용하여 금융 시장과 같은 복잡계의 행동을 예측합니다.

  • 자동 어시스턴트: 사용자의 질문을 이해하고 답하는 자동 어시스턴트를 개발합니다.

  • 감정 분석: 제품 리뷰 및 뉴스 기사에 대한 사용자 의견에 내재된 감정을 파악합니다.

GCP에서 머신러닝을 활용하는 옵션은 여러 가지가 있습니다.

  • 분야별 머신러닝 API: GCP는 시각, 음성, 자연어, 텍스트 번역을 위해 선행 학습된 모델로 턴키 방식의 관리형 머신러닝 서비스를 제공합니다. 이러한 API는 Google 포토, Google 모바일 앱, Google 번역, 받은편지함 스마트 답장과 같은 앱에 사용되는 것과 동일한 기술로 개발되었습니다.

  • 커스텀 머신러닝: AI Platform은 커스텀 모델을 대규모로 실행하는 호스팅된 관리형 서비스입니다. 또한 Cloud Dataproc은 Mahout 또는 Spark MLlib로 구축된 머신러닝 모델을 실행할 수 있습니다.

AutoML Vision API

AutoML Vision API를 사용하여 선행 학습된 신경망을 통해 이미지의 내용을 분석하고 이해할 수 있습니다. AutoML Vision API로 이미지를 분류하고, 개별 물체와 얼굴을 감지하며, 이미지에 나온 글자를 인식할 수 있습니다. 또한 AutoML Vision API를 사용하여 부적절한 콘텐츠를 감지하고 인물의 표정에 나타난 감정을 분석할 수 있습니다.

REST 엔드포인트를 통해 AutoML Vision API에 액세스할 수 있습니다. 이미지를 서비스로 직접 보내거나 Cloud Storage에 업로드하고 요청에 이미지 링크를 포함시킬 수 있습니다. 요청에는 단일 이미지가 포함될 수 있으며 여러 이미지에 단일 배치를 주석으로 표시할 수 있습니다. 요청에 포함된 각 이미지를 탐지하기 위해 기능 주석을 선택할 수 있습니다. 기능 감지에는 라벨, 텍스트, 얼굴, 랜드마크, 로고, 안전 검색 및 이미지 속성(예: 주요 색상)이 포함됩니다. 응답에는 원래 요청에서 제공한 각 특성 유형 주석에 대한 메타데이터가 포함됩니다. 요청 및 응답에 대한 자세한 내용은 AutoML Vision API documentation를 참조하세요.

AutoML Vision API는 App Engine, GKE, Compute Engine 및 Android, iOS 등의 모바일 플랫폼에서 실행되는 커스텀 앱에 쉽게 통합할 수 있으며, Cloud Dataflow, Cloud Dataproc, Cloud Datalab등의 GCP 서비스에서도 액세스할 수 있습니다.

Cloud Speech-to-Text

Cloud Speech-to-Text는 오디오를 분석하여 텍스트로 변환하는 기능을 지원합니다. API는 80개 이상의 언어와 변형을 인식하며 끊임없이 발전하고 개선되는 딥 러닝 신경망 알고리즘을 기반으로 합니다.

Cloud Speech-to-Text는 다양한 유형의 작업 부하에 사용할 수 있습니다.

  • 실시간 음성 인식: Cloud Speech-to-Text는 스트리밍 오디오를 입력받으면서 부분적인 인식 결과가 나오는 즉시 반환할 수 있습니다. 이 기능은 앱에서 실시간 받아쓰기를 통합하거나 음성을 통한 명령 및 제어를 구현하는 데 유용합니다. Cloud Speech-to-Text는 App Engine, GKE, Compute Engine 및 Android, iOS 등의 모바일 플랫폼에서 실행되는 커스텀 앱의 오디오 음성 분석을 스트리밍하기 위한 고성능 오픈소스 범용 RPC 프레임워크인 gRPC를 지원합니다.

  • 일괄 분석: 대량의 오디오 파일을 처리하기 위해 REST 엔드포인트와 gRPC를 사용하여 Cloud Speech-to-Text를 호출할 수 있습니다. 동기식 및 비동기식 음성 인식 기능이 모두 지원됩니다. Cloud Dataflow, Cloud Dataproc, Cloud Datalab 등의 GCP 서비스에서도 REST API에 액세스할 수 있습니다.

자연어

Natural Language는 텍스트의 구조와 의미를 분석하고 밝힐 수 있는 기능을 제공합니다. API를 사용하여 사람, 장소, 이벤트, 입력 텍스트의 정서 등에 대한 정보를 추출할 수 있습니다. 결과 분석은 부적절한 콘텐츠를 필터링하고, 주제별로 콘텐츠를 분류하며, 입력 텍스트에서 발견된 추출된 항목의 관계를 구축하는 데 사용될 수 있습니다.

Natural Language와 AutoML Vision API OCR 기능 또는 Cloud Speech-to-Text 기능을 결합하여 강력한 앱 또는 서비스를 만들 수 있습니다.

Natural Language는 REST 엔드포인트를 통해 사용할 수 있습니다. 텍스트를 서비스로 직접 보내거나 텍스트 파일을 Cloud Storage에 업로드하고 요청에 포함된 텍스트에 연결할 수 있습니다. App Engine, GKE, Compute Engine, Android 및 iOS와 같은 모바일 플랫폼에서 실행되는 커스텀 앱에 API를 쉽게 통합할 수 있습니다. Cloud Dataflow, Cloud Dataproc 또는 Cloud Datalab과 같은 다른 GCP 서비스에서도 액세스할 수 있습니다.

Cloud Translation

Translation을 사용하여 90개 이상의 언어를 번역할 수 있습니다. 입력 언어가 알려지지 않은 경우 번역은 자동으로 언어를 자동으로 감지합니다.

번역은 웹 및 모바일 애플리케이션에 대한 실시간 번역을 제공할 수 있으며 분석 작업 부하에 대한 일괄 요청을 지원합니다.

변환은 REST 엔드포인트를 통해 사용할 수 있습니다. App Engine, GKE, Compute Engine 및 Android 및 iOS와 같은 모바일 플랫폼에서 실행되는 커스텀 앱에 API를 통합할 수 있습니다. Cloud Dataflow, Cloud Dataproc 또는 Cloud Datalab과 같은 GCP 서비스에서도 액세스할 수 있습니다.

Cloud Video Intelligence: 동영상 검색 및 탐색

동영상 콘텐츠는 기존에는 불투명했으며 쉽게 분석할 수 없었습니다. 그러나 사용하기 쉬운 REST API인 Video Intelligence를 사용하면 동영상에서 메타데이터를 검색, 탐색 및 추출할 수 있습니다. Video Intelligence는 '개', '꽃' 또는 '자동차'와 같은 동영상 콘텐츠에서 항목(명사)를 감지할 수 있습니다. 또한 동영상 콘텐츠에서 장면의 항목을 찾을 수도 있습니다.

동영상에 프레임 레벨 및 동영상 레벨 메타데이터로 주석을 달 수 있습니다. (이 서비스는 초당 1프레임의 최대 세분화로 데이터를 추출할 수 있습니다.) API는 MOV, MPEG4, MP4 및 AVI와 같은 일반적인 동영상 형식을 지원합니다. 동영상에 주석을 달라고 요청하는 것은 간단합니다. 동영상의 위치와 수행하려는 주석의 유형을 JSON 요청 파일로 만든 다음 요청을 API 엔드포인트에 제출합니다.

시작하려면 Video Intelligence 빠른 시작을 참조하세요.

다음은 Video Intelligence의 일반적인 사용 사례입니다.

  • 동영상에서 유용한 정보 얻기: 머신러닝을 사용하거나 컴퓨터 비전 알고리즘을 구현하지 않고도 동영상에서 유용한 정보를 추출합니다.

  • 동영상 카탈로그 검색: 동영상 카탈로그를 검색하면서 관심 항목의 존재 여부 및 타임스탬프를 식별합니다.

AI Platform: 관리형 머신러닝 플랫폼

AI Platform은 커스텀 머신러닝 모델을 대규모로 실행하는 데 사용할 수 있는 관리형 플랫폼입니다. 인공 지능을 위한 오픈소스 프레임워크인 TensorFlow 프레임워크를 사용하여 모델을 만든 다음 AI Platform을 사용하여 사전 처리, 학습, 예측을 관리합니다.

AI Platform은 데이터 사전 처리를 위해 Cloud Storage 및 BigQuery에 저장된 데이터에 액세스할 수 있는 Cloud Dataflow와 통합됩니다. 또한 Cloud Load Balancing과 연동하여 대규모 예측을 온라인으로 제공합니다.

Cloud Datalab 및 Jupyter 노트북을 사용하여 GCP에서 TensorFlow 모델을 완전히 개발하고 테스트한 다음 대규모 학습 및 예측 작업 부하에 AI Platform을 사용할 수 있습니다.

AI Platform용으로 구축된 모델은 완전히 이식 가능합니다. TensorFlow 프레임워크를 활용하여 모델을 로컬로 구축하고 테스트한 다음 분산된 학습 및 예측을 위해 모델을 여러 컴퓨터에 배포할 수 있습니다. 마지막으로, 학습된 모델을 AI Platform에 업로드하고 여러 분산 가상 머신 인스턴스에서 실행할 수 있습니다.

AI Platform의 워크플로는 다음 단계로 구성됩니다.

  • 사전 처리: AI Platform은 입력 데이터세트의 특성을 지원되는 형식으로 변환합니다. 더 효율적인 학습을 위해 데이터를 정규화 및 변환할 수도 있습니다. 서전 처리 과정에서 학습, 평가, 테스트 데이터가 Cloud Storage에 저장됩니다. 따라서 이 단계에서 필수적인 사전 처리를 추가로 수행하기 위해 Cloud Dataflow에서 데이터에 액세스할 수 있습니다.

  • 그래프 작성: AI Platform이 제공된 TensorFlow 모델을 학습, 평가, 예측 작업이 포함된 AI Platform 모델로 변환합니다.

  • 학습: AI Platform에서 제출된 매개변수에 따라 모델을 계속 반복하고 평가합니다.

  • 예측: AI Platform에서 모델을 사용하여 계산을 수행합니다. 예측은 일괄 계산될 수도 있고, 온라인 예측 서비스와 같이 주문형으로 계산될 수도 있습니다. 일괄 예측은 대규모 데이터세트에 대해 비동기적으로 실행되도록 설계되며, Cloud Dataflow와 같은 서비스를 사용하여 분석 작업을 조정합니다. 주문형 예측은 App Engine, GKE, Compute Engine에서 실행되는 커스텀 앱에 자주 사용됩니다.

일반 용도 머신러닝

Google에서 제작한 머신러닝 플랫폼 및 API 외에도 GCP에 다른 대규모 머신러닝 도구를 배포할 수 있습니다. MahoutMLlib은 Hadoop과 Spark 생태계에서 두 가지 프로젝트로 일반 용도 머신러닝 알고리즘을 제공합니다. 두 패키지 모두 클러스터링, 분류, 협업 필터링 등을 위한 머신러닝 알고리즘을 제공합니다.

Cloud Dataproc을 사용하여 관리 Hadoop 및 Spark 클러스터를 배포하고 추가 소프트웨어로 해당 클러스터를 부트스트랩할 수 있습니다. 즉 Mahout 또는 MLlib로 GCP에 빌드된 머신러닝 작업을 실행할 수 있으며 일반 또는 선점 가능한 VM을 사용하여 클러스터를 확장할 수 있습니다.

탐색 및 시각화

데이터 생명 주기의 마지막 단계는 처리 및 분석 결과를 더 잘 이해할 수 있는 심층적인 데이터 탐색 및 시각화입니다.

탐사 중에 얻은 통찰력은 데이터 수집 속도나 용량의 향상, 분석 속도를 높이기 위한 다양한 저장 매체의 사용, 파이프라인 처리의 향상을 촉진하는 데 사용될 수 있습니다. 이러한 데이터세트를 완벽하게 탐색하고 이해하려면 데이터과학자 및 비즈니스 분석가의 역량뿐 아니라, 확률, 통계, 비즈니스 가치에 대한 이해가 필요합니다.

데이터 사이언스 결과 탐색

데이터 사이언스는 원시 데이터 자산에서 가치를 이끌어내는 과정입니다. 그렇게 하기 위해 데이터과학자는 여러 가지 데이터세트, 일부 공개 데이터, 일부 비공개 데이터를 결합하고 다양한 집계 및 분석 기술을 수행할 수 있습니다. 데이터 웨어하우징과 달리 분석 유형과 데이터 구조는 광범위하며 사전에 결정되지 않습니다. 기법에는 의사 결정 트리 및 신경 네트워크와 같은 머신러닝뿐만 아니라 클러스터링, 베이지안, 최대 가능성 및 회귀와 같은 통계적 방법이 포함됩니다.

Cloud Datalab: 대화형 데이터 정보

Cloud Datalab은 데이터를 탐색, 분석 및 시각화하는 데 사용할 수 있는 대화형 웹 기반 도구입니다. 이전에 IPython으로 알려진 Jupyter 노트북에 빌드되었습니다. Cloud Datalab을 사용하면 클릭 한 번으로 대화형 웹 기반 전자 노트북을 실행하여 Python 프로그램을 작성하고 실행할 수 있으므로 데이터를 처리하고 시각화할 수 있습니다. 노트북은 자신의 상태를 유지하며 GitHub, Bitbucket 및 Dropbox와 같은 사이트에 게시될 뿐만 아니라 데이터과학자들 사이에서도 공유될 수 있습니다.

Cloud Datalab은 pandas, numpy, scikit-learn 등의 많이 사용되는 데이터 사이언스 도구와 matplotlib 등의 일반적인 시각화 패키지를 기본적으로 지원합니다. Cloud Datalab에는 Tensorflow 및 Cloud Dataflow에 대한 지원도 포함됩니다. 이러한 라이브러리 및 클라우드 서비스를 사용하여 데이터과학자는 데이터를 로드 및 정리하고 모델을 작성 및 확인한 다음 matplotlib를 사용하여 결과를 시각화할 수 있습니다. 이는 단일 시스템에 적합한 데이터 또는 클러스터가 저장해야 하는 데이터 모두에 대해 작동합니다. 추가 Python 모듈은 !pip install 명령을 사용하여 로드할 수 있습니다.

데이터 사이언스 생태계

고성능 Compute Engine 인스턴스를 사용하여 다양한 유형의 데이터 사이언스 도구를 배포하고 이를 사용하여 GCP에 대한 대규모 분석을 실행할 수 있습니다.

R 프로그래밍 언어는 일반적으로 통계학자가 사용합니다. 데이터 탐색을 위해 R을 사용하려는 경우 RStudio Server 또는 Microsoft Machine Learning Server를 Compute Engine 인스턴스에 배포할 수 있습니다. RStudio Server는 데이터를 처리하고 조작하고 정교한 모델을 만들고 결과를 시각화할 수 있는 대화형 런타임 환경을 제공합니다. Microsoft Machine Learning Server는 분석 작업 부하를 실행하는 R 데스크톱 클라이언트를 위한 고성능 및 고성능 보완 프로그램입니다.

Cloud Datalab은 Jupyter를 기반으로 하며 현재 Python을 지원합니다. R, Julia, Scala, 자바와 같은 다른 언어로 데이터 탐색을 수행하려는 경우 Compute Engine 인스턴스에 Jupyter 또는 JupyterHub를 배포할 수 있습니다.

Apache Zeppelin은 또 다른 인기 있는 웹 기반 노트북 중심의 데이터 사이언스 도구입니다. Jupyter와 마찬가지로 Zeppelin은 Spark, Hive, R 및 Python과 같은 추가 언어 및 데이터 처리 백엔드 시스템을 지원합니다.

Jupyter와 Zeppelin은 모두 사전 빌드된 Cloud Dataproc 초기화 작업을 사용하여 일반적인 Hadoop 및 Spark-ecosystem 소프트웨어 패키지를 신속하게 부트스트랩하여 배포할 수 있습니다.

비즈니스 인텔리전스 결과 시각화

분석 단계에서 복잡한 데이터 시각화, 대시보드 및 보고서를 생성하여 데이터 처리 결과를 광범위한 사용자에게 설명하는 것이 유용할 수 있습니다. 이를 쉽게 하기 위해 GCP는 여러 보고 및 대시보드 도구와 통합됩니다.

Google Data Studio는 데이터를 다른 사람들과 공유할 수 있는 보고서 및 대시보드로 시각화하는 데 사용할 수 있는 드래그 앤 드롭 보고서 작성기를 제공합니다. 보고서의 차트와 그래프는 공유 및 업데이트할 수 있는 실시간 데이터로 뒷받침됩니다. 보고서에는 대화형 컨트롤이 있어 공동 작업자가 시각화를 생성하는 데 사용되는 차원을 조정할 수 있습니다.

Data Studio를 사용하면 기존 데이터 파일, Google 스프레드시트, Cloud SQL 및 BigQuery에서 보고서 및 대시보드를 만들 수 있습니다. Data Studio와 BigQuery를 결합하면 Data Studio로 수동으로 데이터를 가져오거나 커스텀 통합을 만들지 않고도 BigQuery의 전체 컴퓨팅 및 저장소 용량을 활용할 수 있습니다.

스프레드 시트에서 데이터를 시각화하는 것을 선호하는 경우 BigQuery와 직접 통합되는 Google Sheets를 사용할 수 있습니다. Google Apps Script를 사용하면 BigQuery 쿼리와 데이터를 Google 스프레드 시트에 직접 삽입할 수 있습니다. 또한 BigQuery 쿼리 결과를 CSV 파일로 내보내고 Google 스프레드시트 또는 다른 스프레드시트에서 열 수 있습니다. 이는 공유 또는 분석을 위해 더 작은 데이터세트를 만드는 데 유용합니다. 또한 그 반대로 Google 스프레드 시트에 저장된 분산형 데이터세트 또는 Google 드라이브에 저장된 파일에서 BigQuery를 사용하여 쿼리할 수 있습니다.

BigQuery는 SaaS에서 데스크톱 애플리케이션에 이르는 다양한 타사 비즈니스 인텔리전스 도구 및 통합을 지원합니다. 자세한 내용은 BigQuery 파트너 문서를 참조하세요.

조정

데이터 생명 주기의 모든 요소를 일련의 연결되고 일관된 작업으로 통합하려면 특정한 조정이 필요합니다. 조정 레이어는 일반적으로 시작 작업 조정, 작업 중지, 파일 복사 및 데이터 처리 작업을 모니터링하는 대시보드 제공에 사용됩니다. 예를 들어 워크플로에는 Cloud Storage로 파일을 복사하고 Cloud Dataproc 처리 작업을 시작한 다음 처리 결과가 BigQuery에 저장될 때 알림을 보낼 수 있습니다.

조정 워크플로는 처리 작업에 따라 단순한 것에서 복잡한 것까지 다양할 수 있으며 종종 중앙 집중식 스케줄링 메커니즘을 사용하여 워크플로를 자동으로 실행합니다. LuigiAirflow와 같이 GCP를 지원하는 여러 가지 오픈소스 조정 도구가 있습니다. 커스텀 조정 앱의 경우 내장된 예약 작업 기능을 사용하여 워크플로를 만들고 실행하는 App Engine 앱을 만들 수 있습니다.

다음 단계

GCP에서 데이터를 관리하는 방법에 대한 자세한 내용은 이러한 참조 아키텍처 및 사용 사례를 참조하세요.

  • 다른 Google Cloud Platform 기능을 직접 사용해 보려면 가이드를 살펴보세요.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...