반응형
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/deletecluste
r 등이 옴 - 설치 한 다음 .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
반응형
'CS 내용 요약, 지식 > Google Cloud Associate' 카테고리의 다른 글
Google Cloud associate 강의 요약: Pub/Sub, VPC (0) | 2025.01.15 |
---|---|
Google Cloud Associate 강의 요약: Database (0) | 2025.01.11 |
Google Cloud Associate 강의 요약: IAM (0) | 2025.01.11 |
Google Cloud Associate 강의 요약: Object storage (0) | 2025.01.11 |
Google Cloud Associate 강의 요약: storage (1) | 2025.01.03 |