MySQL, PostgreSQL 관계형 데이터베이스 Cloud SQL(GCP자격) Data Engineer –

Cloud SQL은 Structured Data(정형화된 데이터)에 적합한 서비스입니다.Cloud.google.com (doc) : https://cloud.google.com/sql/docsCloud.google.com(imagen) > “구글 클라우드 플랫폼 빼기” 책 -> “google.cloud.com” doc -> “Coursera(코세라)” 핸드북 + 자료 -> 블로그 검색 -> 유튜브 검색학습 실시

< Cloud SQL For SQL Server >

정의: Cloud SQL은 우리가 가장 많이 사용하는 대표적인 관계형 데이터베이스인 MySQL과 PostgreSQL입니다. GCP에서 유지관리 해주는 완전 관리형 데이터베이스 서비스로 쉽게 설정, 유지관리 및 관리가 가능합니다. 고성능, 확장성, 편리성을 제공하기 위해 데이터베이스 관리는 GCP에 맡겨 app개발에 집중할 수 있습니다.

장점: 보안 및 규정 준수의 필요에 따라 확장 가능.단 몇 분만에 설정

주요 특징 : 완전관리형 Cloud SQL이 자동으로 데이터베이스의 안정성, 보안, 확장성을 보장하고 있어 비즈니스의 중단 없이 운영할 수 있습니다. Cloud SQL은 백업, 복제, 암호화 패치, 용량 확장을 모두 자동화하여 세계 어디서나 99.95% 이상의 이용성을 보장합니다.

통합 모든 애플리케이션에서 Cloud SQL 인스턴스에 액세스할 수 있습니다. 워크스테이션과 App Engine, Compute Engine, Google Kubernetes Engine으로 쉽게 연결할 수 있습니다. Big Query에서 Cloud SQL 데이터베이스에 직접 쿼리를 넣어 분석할 수 있습니다.

안정성 복제 및 백업을 용이하게 구성하여 데이터 보호를 할 수 있습니다. 자동장애조치를 실행하여 가용성이 높은 데이터베이스를 구축하면 데이터가 자동으로 암호화되며 Cloud SQL은 SSAE16, ISO 27001, PCIDSS를 준수하고 HIPAA 규정 준수를 지원합니다.

Cloud SQL에서 손쉽게 마이그레이션 Database Migration Service(DMS)를 통해 최소한의 다운타임으로 프로덕션 데이터베이스를 Cloud SQL로 손쉽게 마이그레이션할 수 있습니다. 서버리스 제품으로 마이그레이션을 위한 리소스를 프로비저닝, 관리, 모니터링하는 수동 작업이 필요하지 않습니다. DMS는 MySQL과 PostgreSQL의 기본 복사 기능을 사용하여 마이그레이션의 품질과 신뢰도를 극대화합니다. 추가비용 없이 Cloud SQL에서 기본적인 유사 마이그레이션을 실행할 수 있습니다.

<Cloud SQL – MySQL>

MySQL은 전 세계에서 가장 많이 쓰이는 오픈 소스 관계형 데이터베이스에 오라클에서 관리 및 지원을 하고 있습니다. 다중 스레드, 다중 사용자 형식의 구조적 질의어 형식이 데이터베이스 관리 시스템입니다.

-완전 관리형 데이터베이스-20년 1월 30일 2세대의 인스턴스만 지원, MySQL 5.6 or 5.7최대 416GB의 RAM과 10TB의 데이터 영역을 제공, 필요에 응하고 Repository의 크기가 자동적으로 증가하는 옵션을 제공합니다. (1세대 지원은 20년 1월 30일 종료)-GCP Console내에서 손 쉽게 인스턴스의 생성 및 관리 가능-미국, 유럽, 아시아에서 사용 가능한 인스턴스-Cloud SQL프록시 또는 SSL/TLS프로토콜을 사용한 보안 연결 지원 비공개 IP(비공개 서비스 접근)지원-CSV형태의 파일을 가져오거나 방송할 수-자동 장애 조치에서 여러 영역 간에 데이터를 복제-주문형 자동 백업 및 특정 시점의 복구가 가능-Stackdriver Logging, Monitoring과 통합

일반적으로 Cloud SQL인스턴스에서 제공하는 MySQL기능은 로컬에서 호스팅 되는 MySQL과 기능은 동일하지만 몇가지 차이가 있습니다.

(지원되지 않는 기능), 사용자가 정의하는 함수를 사용 불가-SUPER권한

(지원하지 않는 명령어)아래 명령문은 ‘Error 1290:The MySQL server is running with the google option so it cannot execute this statement’메시지와 함께 오류가 발생합니다.-LOAD DATA INFILE(단, LOAD DATA LOCAL INFILE은 지원)-SELECT… INTO OUTFILE-SELECT … INTO DUMPFILE-INSTALL PLUGIN …-UNINSTALL PLUGIN …-CREATE FUNCTION … SONAME …-CREATE TABLE … SELSECT문-트랜잭션 내의 CREATE TEMPORARY TABLE문-트랜잭션 및 비 토우렝지에크션테ー불을 모두 업데이트하는 트랜잭션과 명령문

(지원되지 않는 함수)-LOAD_FILE()

(지원되지 않은 클라이언트 프로그램)-LOAD DATA INFILE제한되기 때문에-local옵션을 사용하지 않는 mysqlimport는 지원하지 않습니다. 원격으로 데이터 로드를 하려면 CloudSQL import함수를 사용해야 합니다.-인스턴스의 사용자에게 FILE권한이 부여되지 않았기 때문에-tab옵션 또는-tab옵션과 함께 사용된 mysqldump는 지원되지 않습니다.-바이너리 데이터의 있는 데이터베이스를 취득하기 위해서는-hex-blob옵션을 mysqldump와 함께 사용할 필요가 있습니다.제2세대 인스턴스의 경우 Repository엔진으로 InnoDB만을 지원됩니다.-트리거, 함수, 저장 프로시저, 표시를 Cloud SQL로 읽거나 흘릴 수 없습니다.

< Cloud SQL – PostgreSQL >

PostgreSQL은 확장 가능성과 표준 준수를 강조하는 오브젝트 관계형 데이터베이스 관리 시스템 중 하나로 BSD 허가권으로 배포되고 있으며, 많은 오픈 소스 개발자와 회사들이 개발에 참여하고 있습니다. 주요 특징으로는 서로 다른 관계형 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공하기 위해서 단순한 자료 Repository가 아닌 개발 언어처럼 무한한 기능을 구현할 수 있게 해줍니다. 또한 객체 지향 언어와 같은 테이블을 만들고 그 테이블을 상속받을 하위 테이블을 만들 수도 있습니다.

Cloud SQL 2세대 플랫폼을 기반으로 하는 완전 관리형 PostgreSQL 9.6 데이터베이스 – 최대 416GB의 RAM 및 64개의 CPU를 갖춘 커스텀 머신 타입, 최대 10TB의 저장 용량을 사용할 수 있으며 필요에 따라 Repository 크기를 자동으로 변경할 수 있습니다. – CloudSQL 프록시 또는 SSL/TLS 프로토콜에서 저장 용량을 사용할 수 있습니다.Stackdriver Logging 및 Monitoring과 통합 – 객체 관계형 DB이므로 사용자가 임의로 작성할 수 있다.

(지원되지 않는 기능) – 특정 시점 복구 불가 – GCP 콘솔 또는 gcloud 명령 도구를 사용하여 CSV 형식의 파일 가져오거나 전송 불가능

< Other DB ら > < Cloud Span ner >

-Horizontal Scalability(수평적 확장=Scale out=서버추가필요할때 사용) -> 따라서 관계형 DB의 장점과 비광계형 DB의 수평적 확장두가지 장점을 결합한 것입니다.(추가설명) Vertical Scalability (수직적 확장=Scale up=서버를 더 좋은 H/W로 바꾸거나 CPU, RAM, DISK 등 증설)-Use case: 소매산업은 빨리 Financial app이나 Inventory app을 개발할 때 유용- 스키마가 있으며 SQL지원, 강한 일관성 (Clanncy case) 컴퓨터 수평지원, Spradexcy app을 개발할 때 사용) — Sp, Cons

< Cloud Firestore ( ** Serverless ) >

-매우 확장이 가능한 NoSQL DB가 필요한 때 죠크아프-데이터를 보존하고 동기화(sync) 하여 쿼리 하는 것을 쉽게 단순화시키고 줌-Live synchronization(동기)과 오프라인을 지원-보안 특징이 있기-ACID토우렝지에크션 준수-Multi-Region Replication(복제)-Powerful Query engine구현-Use case:전역(Global scale)에서 모바일 웹, IOT의 앱 개발 시 적합-모드가 2종류가 있는데 사실 Native Mode=Datastore Mode의 업그레이드 버전이다.-Datastore Mode:데이터 스토어 app과 호환이 되고 강한 일관성을 가지고 entity그룹에 제한이 없다.

< Cloud Bigtable> (데이터 처리 단계에 적합한 서비스이며 Apache와 통한 상이함)

-트랜잭션 일관성이 필요 없을 때 이용- 낮은 지연(latency)의 시간에 높은 읽기, 쓰기의 처리량을 지원하고 맵 리듀스 작업에 적합(추가 설명)맵 리듀스:구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작한 소프트웨어 프레임워크 좋은 확장성:클러스터를 계속 확장해서 많은 읽고 쓰기의 처리 가능- 간단한 관리:데이터 복제시 2번째 인스턴스에 추가하면 자동 복제-Downtime없이 클러스터의 크기 조절 가능(추가 설명)Downtime:시스템을 이용할 수 없는 시간-Use case:구조화되지 않는 key-valud데이터에 매우 높은 처리량, 확장에 필요한 app에 적합-시계열 데이터-다양한 서버 CPU, 메모리 사용량 마케팅 데이터- 구매내역 및 고객 선호도 – 재무 데이터와의 거래내역, 주식 가격, 통화 환율 – 사물 인터넷 데이터 에너지 측정기, 가전제품 사용량 보고서 – 그래프 데이터, 사용자들이 서로 연결되는 방법에 대한 정보 Hadoop, Cloud Dataflow, Datafroc와 통합 가능, Hbase API(Apache)도 지원 – Familiy

< Cloud MemoryStore >

  • Use case: 신속하게 실시간 데이터 처리 사례를 위한 신속한 인메모리 저장시설 제공 – 간단한 캐싱 사용에서 실시간 분석까지 필요한 성능 제공 – 높은 가용성, 장애조치(Failover), 패치, 모니터링 업무 자동화

error: Content is protected !!