GCP

GCP OnAir - Big Series

본 포스트는, GCP OnAir - Big Series 컨퍼런스 관련 내용을 정리한 내용입니다.

GCP의 Big Series는 이름에서 알 수 있듯이, Big이 들어가는 BigQuery 및 BigLake 관련 컨퍼런스입니다.

BigQuery

BigQuery는 GCP가 가장 자랑하는 데이터 웨어하우스 서비스 입니다.

  • 엔터프라이즈 데이터 웨어하우스
  • 페타바이트급 스토리지 및 쿼리 가능 (엑사바이트까지 준비중)
  • 표준SQL를 사용중이여서 기존의 데이터 분석가들이 사용하기 편리
  • 암호화 및 내구성 높은 가용성 자랑 ( 저장뿐만 아니라 전송도 암호화 )
  • 서버리스 서비스 ( 슬롯이라는 개념 사용 )
  • 스트리밍 데이터에 대한 실시간 분석 가능 ( 그만큼 빠르다 )

시대별 빅쿼리 사용 용도

  • 90년대 : Data Warehouses
  • 00년대 : BI foundations
  • 현재 : Data Analytics
  • 미래 : AI foundation ( 미래에는 머신러닝을 활용할 수 있도록 노력 중 )

완전 관리형 서비스

빅쿼리는 인프라 관리를 신경 쓸 필요가 없는 완전 관리형 서비스입니다.

구글이 인프라 관리를 알아서 해줘서, 사용자는 데이터 분석에만 집중 할 수 있습니다.

또한 빅쿼리 작업을 위해, 수천대의 슬롯이 지탱하고 있습니다. 즉, 무한한 리소스가 있다고 생각하면 됩니다. ( 정확인 default로 2000대의 슬롯의 할당량이 있지만, Google에 문의해서 추가 요청 가능 )

타사의. 데이터웨어하우스 서비스들과 비교했을 때, 매우 저렴합니다. (GCP에서는 빅쿼리를 미끼상품이라고 말하기도 할 정도로 자신있는 킬러 서비스라고 설명합니다.)

현재 표준 SQL을 완벽하게 지원하고 있으며, 계속해서 업데이트하는 중입니다.

GCP의 데이터 공유

GCP는 데이터를 복제해서 다른사람이 사용할 수 있는 구조가 아닌, 공유하는 방식을 모토로 하고 있습니다.

즉, 이러한 이유로 허가된 누구나 데이터에 동시에 접근할 수 있습니다.

빅쿼리 또한, 이에 해당하여, replica 방식이 아닌 share방식을 사용하고 있기에 동시에 많은 사람이 사용 가능합니다.

관리형 스토리지

  • 기본적으로 멀티존(3~4개정도)으로 구성되어 있음. 따라서 1~2개의 Zone이 망가져도 다른 Zone들이 커버가능 ( 완전하다고 자랑 )
  • 압축은 가능하지만 청구할 때는, 압축되지 않은 용량으로 청구함 - 페타바이트 수준은 구글에 문의하면 압축된 후 가격으로 협상 가능
  • 스토리지는 내구성이 매우 강함. 각 테이블은 데이터 센터간에 복제되어있어서 안전
  • 리전 서비스임 ( 리전간의 데이터 이동은 별도의 가격이 청구됨 ex) seoul → us )

동적 할당이 가능한 이유

  • 빅쿼리는 컴퓨팅과 스토리지가 분리되어 있음.
  • 두개가 분리되어있음에도 불구하고 매우 빠름, Stream이든 batch든 다 처리가능함

Web UI

  • Web UI가 있으며. 물론 cli도 지원하고있음. (극히 일부는 GUI가 구현이 안되고 있지만, 계속해서 노력 중 )

빅쿼리 약정

  • 빅쿼리는 사용한 만큼 내는 방식도 있지만, 약정을 걸고 사용하는 방식도 있음

가격적인 메리트보다는(오히려 비싼듯), 정해진 가격만큼만 사용하고 싶은 고객한테 유리하며, 꼭 필요한 순간에 slot의 갯수를 보장할 수 있음

Work Load Management 빅쿼리 주요 요소 : Slot

한 슬롯은 일정량의 cpu와 일정량의 메모리 및 네트워크를 포함하고 있음.

  • 좀 더 구체적으로는, CPU + RAM + N/W의 복합 가상 자원으로 구성

가격에 경우 빅쿼리가 가장 적합한 가격으로 알아서 처리함. ( 각 쿼리에 필요한 슬롯 수를 자동으로 계산 )

정액 요금제로 구매한 슬롯은 언제든 사용가능한 자원이지만, 주문형 요금제는 만약 해당 리전에서 많은 사용량이 있을때, 최대 2000이라는 갯수의 슬롯을 사용하지 못할 수 도있음. ( 하지만 아직까지 영향을 끼치는 정도의 사용량이 보이지 않고, 그렇지 않도록 계속해서 리전 슬롯수를 증가 시키고 있음 )

가격 책정

  • 분석비용 : 쿼리량에 비례해서 청구 ( 쿼리를 위한 데이터 스캔량 )

  • 저장비용 : 저장량에 비례

    Active Storage(활성 스토리지) : 90일 이내 활성 상태 (업데이트 기준)

    Long-term Storage ( 장기 스토리지 ) : 90이상 접근 안한 상태, GCS랑 가격이 비슷한 수준

빅쿼리 공짜로 쓰기?

  • Free trial - 60일 정도 범위안에서 사용가능 (단 그 이후로는 데이터 사라짐.)
  • Free tier - 월간 10기가 까지, 쿼리의 경우 1테라까지 무료
  • Free operations - ETL에서 로딩비용은 무료.

위 3가지 방법을 잘 사용하면 중소 기업한테 유리할 듯 함

Commitments - Reservations - Assignments

Commitments (약정) : 적절한 slot 수량을 구매

Reservations (예약) : 필요한 수량만큼 예약을 가능 (슬롯을 어디에 배치하는 등)

Assignments (할당) : project를 reservation 별로 assign

  • 세개를 왔다 갔다 자유롭게 사용할 수 있음
  • 특정 팀에 몇개의 슬롯을 배정할지 설정 가능함.
  • 사용되지 않는 슬롯은 자동으로 공유됨. (빅쿼리의 최대 장점중 하나)
    • 만약 공유하고 싶지 않다면, cli 명령어를 통해 공유 중지 가능 ( 굳이 해야하나… )
  • 단 조직이 다르면 공유가 안되며, 리전간의 공유도 안됨

Slot에 대한 부족이 예상되는 경우

일시적으로 flex slot을 구매허서 사용하기를 권장함. ( 기간이 끝나면 해지하는 방향으로 )

모니터링 방안( 가격적인 모니터링 )

  • BigQuery 관리자 리소스 차트
  • 클라우드 모니터링을 통한 slot 사용률 모니터링
  • Information_schema를 통한 모니터링

ML

빅쿼리는 계속해서 ML을 사용할 수 있도록 지원하고 있습니다.

그냥 BQ에서 열심히 머신러닝 딥러닝을 지원하고있으니 많은 관심부탁드린다는 내용

DataPlex 및 BigLake

현재 데이터 플랫폼은 니즈에 따라 많은 변화가 이뤄지고 있습니다.

전술적 사고

  • 초창기 문제 설명에 기반한 적절한 솔루션제공
  • 자주 발생하는 문제에 알맞는 솔루션을 구축하여 해결

전락젹 사고

  • 한 걸음 물러서서 플랫폼 기반에서 시작
  • 기술 스택 + 조직 문화 전반에 영향을 미치는 전사 규모의 거대 프로젝트

현대의 데이터 플랫폼은 전략적 사고를 기반으로 구축해야 함.

왜 문제가 생기는가?

데이터 베이스는 계속해서 훌륭하게 발전했지만, 데이터 니즈를 따라가지 못함

데이터를 관리하는 사람의 작업 수용력은 한계가 있지만, 데이터의 필요성은 계속해서 증가해지고 일의 데이터 병목이 발생하고 있습니다.

데이터 팀의 처리를 기다리다 지친 비데이터 전문가들(독립적인 분석가)이 출현합니다.

데이터를 잘 다루지 못하는 사람들이 작업을 하다보니, 데이터 카오스가 발생합니다.

  • 데이터를 잘 다루지 못하여, 편한대로 데이터를 수집하다 보니 정확하지 못한 데이터를 보는 상황이 생김
  • 보안의 문제가 발생 ( 편의를 위해 데이터를 로컬에 저장하는 등)

이런한 문제들을 어떻게 해결할까? -> Data Products로 생각할 필요가 있음

도메인별 팀을 구성

현재 많은 기업이 데이터팀이 아닌, 도메인별로 팀을 구성하고 있습니다.

도메인별 팀 구성의 장점

  • 데이터 도메인을 아는 사람이 각자 데이터를 관리함
  • 각 팀이 데이터를 관리하여 책임을 분산
  • 데이터의 양이 비교적 적어져 관리가 수월해짐

데이터 플랫폼의 현대화

중앙 집중식 데이터 레이크 / 웨어하우스 ( 기존 )

  • 데이터 관리 및 거버넌스의 중앙화
  • 데이터 마트 및 파이프라인 등을 구축하기 위해 그룹 수준의 IT팀에 의존
  • 데이터 검색의 어려움이 생김 ( 데이터 레이크 )
  • 단편적인 데이터 공유

데이터 메시 ( 현대 )

  • 데이터가 편리한 곳에 위치 (도메인 지식을 가진 사람이 관리)
  • 데이터 소유 및 사용은 각 도메인 담당자가 하고, IT팀은 거버넌스 및 정책을 제공
  • 전사 및 협력사와 데이터 공유
  • 조직 전반에 더 많은 신뢰가 필요
  • 가치 있는 데이터 검색 및 활용에 민첩성 제공

Data Mesh Building Blocks

  • Domain - oriented decentralization
    • 중앙 집중에서 발생하는 병목현상을 제거, 필요에 따라 데이터 시스템 확장
  • Data as Product
    • 데이터 유저가 고품질 데이터를 쉽게 검색, 이해 및 안전하게 사용
  • Self - serve data platform
    • 도메인 팀은 자율적으로 데이터 제품을 만들고 사용
  • Federated governance
    • 데이터 유저는 제품이 전사 표준을 준수하기 때문에 독립적으로 데이터 제품을 집계 가능

GCP가 지원하는 여러 데이터 플랫폼

현재 GCP는 데이터 플랫폼 구축을 위해 다양한 서비스를 제공하고 있습니다.

그 대표적인 예가 BigQuery 및 BigLake입니다.

스토리지와 컴퓨팅을 분리하여 높은 유연성 제공

BigQuery처럼 현대의 대부분의 데이터 플랫폼은, 스토리지와 컴퓨팅을 제공하여 높은 유연성을 제공하고 있습니다.

BigLake

BigLake란, GCP에서 제공해주는 데이터 웨어하우스 + 데이터레이크 통합 서비스입니다.

데이터의 형태가 확장되어, 정형 데이터 뿐만 아니라, 반정형 데이터까지 저장가능합니다.

웨어하우스와 레이크 통합형으로 구성된 단일 스토리지 레이어입니다.

비용 감소 효과 및 다양한 워크로드에 효율적으로 확장 가능한 현대적인 개방형 레이크 하우스 아키텍쳐입니다.

  • 세분화된 보안
  • 멀티 컴퓨팅 분석
  • 멀티 클라우드 분석을 위한 거버넌스
  • 퍼포먼스 가속화

빅쿼리 화면에서 BigLake 서비스를 만나볼 수 있음

빅레이크는 빅쿼리와 같이 GCP의 여러 리소스와 긴밀하게 사용할 수 있다는 장점을 가지고 있음

빅레이크는, 빅쿼리 스토리지 뿐만아니라, GCS까지 포함하여 데이터 레이크를 구축

BigLake 테이블을 가지고 할 수 있는

  • Analytics Hub를 이용 가능
  • 빅쿼리처럼 사용 가능

BigLake를 잘 사용하기 위해서는 DataPlex를 같이 써줘라

dataplex는 분산된 데이터를 중앙에서 관리 및 통제 할 수 있는 서비스

  • 지능형 데이터 관리
  • 중앙화된 보안 & 거버넌스
  • 분산데이터용으로 구축

정리

BigLake는 데이터 웨어하우스 및 데이터 스토리지를 통합하는 서비스 ( BigQuery + GCS )

DataFlex는 BigLake를 ai를 통해 검색 관리 가능하게 해주는 서비스

기존에 데이터 아키텍쳐는 테이블 형태(bi)형태를 위해 사용되고는 했음.

이전에는 데이터 팀이 중앙에서 관리해서 여러가지 문제가 발생했는데, 최근에는 각 도메인에 대해 이해하고 있는 팀단위로 데이터를 관리해고 있음.

팀단위로 관리하려면 데이터 플랫폼을 쉽게 구축할 수 잇어야 하는데 이에 BigLake 및 DataFlex를 쓰면좋음

데이터 메쉬는 데이터 소유권이 분산된 형태로 되어있는데, 이것을 DataPlex를 통해서 중앙에서 관리 가능

현대의 데이터 플랫폼을 손쉽게 구성하기 위해서, DataLake 및 DataPlex를 사용해라.!