CS 내용 요약, 지식/Google Cloud Associate

Google Cloud Associate 강의 요약: Explore Database

걍판자 2025. 1. 13. 22:14
반응형

Cloud SQL이란?

  • 관계형 데이터베이스 서비스로 MySQL, PostgreSQL, SQL 서버를 지원하며 가용성이 높고, SSD나 HHD를 사용한다.
  • RAM은 416GB까지, data storage는 30TB 까지 늘릴 수 있다.
  • local MySQL, PostgreSQL, SQL 서버 DB와 마이그레이션 할때 적합하다.
  • 간단한 관계형 DB로 비용을 줄이려 할때 좋다. cloud spanner는 엄청 비싸다.
  • Cloud spanner은 엄청나게 용량이 크거나, 스케일링이 무한에 가까워야 하거나, global database가 필요하거나 가용성이 매우 높아야 할때나 쓴다.

Cloud SQL 의 기능들

  • 자동 암호화, 유지보수 및 업데이트
  • 고 가용성과 failover, 자동으로 standby로 전환. primary와 secondary 구역 정해두었다가 지역에 맞게 고를 수 있음. 복제본을 동기화 하며 zonal failure 시 secondary로 failover됨. 근데 이때 primary가 다시 복구되어도 primary로 자동으로 되돌리지는 않음
  • read workloads를 위해 read replica. 고가용성 설정에서는 쓸 수 없음
  • downtime 없이 자동으로 storage 증가
  • binary logging 가능하게 함
  • 백업 자동화
  • 다른 소스들로 부터 migration 지원
  • data를 export 가능
  • 명령어는 gcloud sql {목적어} {상세명령어}

Cloud spanner

  • 엄청크고 가용성 높고 에러 없어서 매우 중요한 global scale 업무시 사용하는 걸 추천
  • 읽고 쓰기 위해 수직적으로 scale이 증가함
  • regional, multi-regional 구성 가능
  • 비쌈.
  • data를 export 할 수 있으나 CloudSQL과 달리 gcloud 사용 불가.

Datastore

  • highly scalable NoSQL DB
  • 자동으로 스케일링됨
  • 몇 테라 정도일때 쓰는 걸 추천함
  • 트랜잭션과 index, SQL 쿼리 지원함. 하지만 유틸적인 sum, count 이런건 지원 안됨
  • 트랜잭션에 따른 유연한 스키마
  • entity 보다는 kind 구조
  • gcloud에서만 export 가능(클라우드 콘솔에서는 안됨)

Firestore

  • Datastore의 확장으로 여러 디바이스 접근에 최적화됨
  • 오프라인 모드와 다양한 기기에서의 데이터 동기화
  • client side library를 제공함(web, ios, android..)
  • Datastore로 쓸지 Native(FIrestore) 모드로 쓸지 선택 가능

Cloud BigTable

  • PB 정도의 규모로 wide column NoSQL DB이다.
  • 거대한 용량과 분석을 위한 데이터에 적합하다(IOT Stream, Time series data, anayltics)
  • 매우 적은 지연율로 읽고 쓸 수 있음
  • multi row transactions 이 제공되지 않는다. single row transaction만 됨
  • 서버리스가 아니라서 인스턴스 만들어야 함
  • cloud console이나 gcloud 로 export 안됨. JAVA 어플리케이션 써야함
  • 지연율 낮음. 기본적으로 key value map으로 정렬됨.
  • cloud dataflow로 bigtable에서 cloud storage로 export 가능
  • gcloud 가 아닌 cbt 라는 명령어로 시작함. 뒤에 createinstance/createcluster/createtable/listinstances/deletecluster 등이 옴
  • 설치 한 다음 .cbtrc file을 만들어 그 파일로 프로젝트 구성

MemoryStore

  • In-memory datastore service는 접근 시근을 줄이고 총체적으로 관리할 수 있게 해준다.
  • cloud monitoring으로 모니터링도 쉽게됨
  • 가용성 높음
  • Reids와 Memcahced도 지원해서 캐싱이나 게임리더보드등을 만들때 좋음.

BigQuery - Datawarehouse

  • exabyte 정도의 크기에서 사용하기 좋은 GCP의 관계형 데이터베이스 솔루션이다.
  • SQL 같은 쿼리를 날려 데이터를 관리할 수 있다.
  • storage + compute + realtime+ serverless
  • Datawarehouse에서는 data를 import 하고 export 하는 게 중요하다.
  • 다양한 형식으로 import 할 수 있고, cloud storage나 data studio에 어러 포맷으로 export 할 수 있다.
  • 자동으로 data 만료 가능
  • big query는 쿼리로 외부의 거대한 데이터를 담아두지 않고 불러올 수 있게 해준다.
  • big query는 cloud console, gcloud가 아닌 bq cli , Bigquery Rest API, HBase 기반 라이브러리 등으로 접근 할 수 있다.
  • 빅쿼리는 크기에 따라 비쌀 수 있으니 미리 데이터 양을 스캔하거나, 데이터 계산기로 견적을 내고 접근해야 한다.
  • 명령어는 bq show, query, extract, load 등이 있다.
  • 만약 프로젝트를 standard way로 정하려면 gcloud config set project my-project

Import and Export

Type to/from from 에서 이용하는 도구 참고
realtional Cloud SQL Cloud Storage Console/gcloud/REST API 큰 데이터베이스의 경우 서버리스 모드를 사용한다.
realtional Cloud Spanner Cloud Storage Console (Cloud Data Flow 사용)
realtional BigQuery Cloud Storage Console/bq CSV, JSON,Avro 형식이 지원되며 데이터를 import 하는 3가지 방식으로

1. Cloud storage
2. Bigquery data Transfer Service에서 batch 돌리기
3. Dataflow이용하기 등의 방법이 있다
NOSQL Datastore/ firebase Cloud Storage Console/gcloud/REST API
NOSQL BigTable Cloud Storage Dataflow jobs를 만들 수 있고 Avro/Parquet/SeuqenceFiles등의 format 가능
다 Cloud Storage 거치는데 그러기 위해서는 Cloud Storage Buckets 에 접근 가능한 계정이 있어야 한다. ACL 이나 Storage Admin, Storage Object Admin, Storage Object Creator 같은 roles 부여하면됨

요약

  • BigQuery, DataStore, Firebase는 VM이 필요 없다. 반면 Cloud SQL과 BigTable은 VM 구성이 필요하다
  • Cloud SQL: 작은 local 관계형 DB
  • Cloud Spanner: 엄청난 규모의 global 관계형 DB
  • Bigquery: Datawarehouse
  • Cloud Datastore: 테라바이트 트랜잭션 NoSQL DB
  • Cloud BigTable: 엄청난 볼륨의 IOT 스트리밍용 NOSQL DB
반응형