brunch

매거진 GCP

You can make anything
by writing

C.S.Lewis

by 하이프마크 Dec 01. 2021

GCP : Cloud SQL

GCP


Cloud SQL은 구글 클라우드에서 제공하는 완전 관리형 SQL 데이터베이스 서비스입니다.  PostgreSQL, MySQL, SQL Server가 있으며 클라우드 측에서 유지 및 관리를 해주기 때문에 그에 관한 건 신경 쓰지 않고 개발에 집중할 수 있다는 큰 장점이 있습니다.  


또한 표준 유선 프로토콜을 사용하므로 어디에서나 거의 모든 애플리케이션에서 연결할 수 있습니다.

그럼 Cloud SQL에서 제공하는 MySQL과  PostgreSQL의 특징을 개별적으로 살펴보겠습니다.





MySQL은 오픈 소스 관계형 데이터베이스로 다중 사용자 형식의 구조적 질의어 형태의 관리시스템입니다. 따라서 Cloud SQL에서도 자기들 형식의 MySQL를 제공하고 있는데요. 이는 완전 관리형(Community


 Edition) 데이터베이스이며 인스턴스는 MySQL 8.0, 5.7(기본값), 5.6을 지원하고 필요에 따라 스토리지 크기를 자동으로 늘릴 수 있는 옵션과 함께 최대 624GB의 RAM과 64TB의 데이터 스토리지를 제공하고 있습니다. 


Cloud SQL의 MySQL은 C#, Go, 자바, Node.js, PHP, Python, Ruby로 작성되고 가변형 환경에서 실행되는 App Engine 애플리케이션과 함께 사용할 수 있습니다


이 서비스의 기능은 다음과 같습니다.  


구글 콘솔에서에서 인스턴스 생성 및 관리

미주, EU, 아시아, 오스트레일리아에서 사용 가능한 인스턴스.

Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 고객 데이터 암호화

Cloud SQL 인증 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원

비공개 IP(비공개 서비스 액세스) 지원

자동 장애 조치로 여러 영역 간 데이터 복제

mysqldump를 사용한 데이터베이스 가져오기와 내보내기 또는 CSV 파일 가져오기와 내보내기

MySQL 유선 프로토콜 및 표준 MySQL 커넥터 지원

주문형 자동 백업 및 특정 시점 복구

인스턴스 복제

Google Cloud 운영 제품군 로깅 및 모니터링과의 통합


이같은 기능이 있는 반면에 Cloud SQL에서 제공되지 않는 것도 있습니다.일반적으로 Cloud SQL 인스턴스에서 제공하는 MySQL 기능은 로컬에서 호스팅되는 MySQL 인스턴스가 제공하는 기능과 동일합니다. 하지만 표준 MySQL 인스턴스와 MySQL용 Cloud SQL 인스턴스 사이에는 몇 가지 차이가 있습니다.  


Federated Engine

Memory Storage Engine

SUPER 권한

InnoDB memcached 플러그인

X 플러그인

클론 플러그인

InnoDB 저장 데이터 암호화

validate_password 구성요소


같은 기능들은 Cloud SQL에서는 사용되지 않습니다.


또한 지원되지 않는 명령문도 있는데요.


다음 SQL 문을 실행하면 오류가 발생하고 ‘Error 1290: The MySQL server is running with the Google option so it cannot execute this statement’ 메시지가 표시됩니다.  


LOAD DATA INFILE(LOAD DATA LOCALINFILE은 지원 가능)

SELECT … INTO OUTFILE

SELECT … INTO DUMPFILE

INSTALL PLUGIN …

UNINSTALL PLUGIN

CREATE FUNCTION … SONAME …


MySQL 인스턴스에서는 GTID 복제를 사용하므로 다음 문은 지원되지 않습니다.  


CREATE TABLE … SELECT 문

트랜잭션 및 비트랜잭션 테이블을 모두 업데이트하는 트랜잭션이나 문


하지만 예외도 있습니다.  


트랜잭션 내 CREATE TEMPORARY TABLE 문


위 명령문은 Cloud SQL 5.6 및 5.7용 MySQL에서 지원되지 않지만 Cloud SQL 8.0용 MySQL에서는 지원됩니다.


또한 LOAD_FILE() 함수 역시 지원되지 않는데요. 이외 지원되지 않는 클라이언트 프로그램도 몇가지가 있습니다. 자세한 사항은 MySQL 문서에서 확인이 가능합니다.


그럼 이번엔 PostgreSQL에 대해 알아보겠습니다.





PostgreSQL은 객체 관계형 데이터베이스 관리 서비스로 확장성에 중점을 두고 있습니다. 다른 관계형 데이터베이스 시스템과 달리 연산자, 집계 함수, 확장 기능 등 다양한 데이터 베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공하고 있다는 것이 특징입니다. 


Cloud SQL의 PostgreSQL은 클라우드의 완전 관리형 PostgreSQL 데이터베이스로 RAM 최대 624GB와 CPU 96개가 탑재된 커스텀 머신 유형이며 스토리지를 최대 64TB까지 사용할 수 있다는 특징이 있습니다. 물론 필요에 따라 스토리지 크기를 자동으로 늘릴 수 있습니다.


또한  PostgreSQL은 C#, Go, 자바, Node.js, PHP, Python, Ruby로 작성되고 가변형 환경에서 실행되는 App Engine 애플리케이션과 함께 사용할 수 있습니다. PostgreSQL용 Cloud SQL을 표준 PostgreSQL 클라이언트 서버 프로토콜을 사용하는 외부 애플리케이션과 함께 사용할 수도 있습니다.


이외 PostgreSQL의 기능은 다음과 같습니다.   


구글 콘솔에서 생성 및 관리

미주, EU, 아시아, 오스트레일리아에서 사용 가능한 인스턴스.

Google의 내부 네트워크와 데이터베이스 테이블, 임시 파일, 백업에서 고객데이터 암호화

Cloud SQL 인증 프록시 또는 SSL/TLS 프로토콜을 사용한 보안 외부 연결 지원

자동 장애 조치로 여러 영역 간에 데이터 복제

SQL 덤프 파일을 사용한 데이터베이스 가져오기 또는 내보내기

PostgreSQL 클라이언트 서버 프로토콜 및 표준 PostgreSQL 커넥터 지원

주문형 자동 백업 및 특정 시점 복구

인스턴스 복제

Google Cloud 운영 제품군 로깅 및 모니터링과의 통합

여러 PostgreSQL 버전 지원


하지만  Cloud SQL의 MySQL과 같이 지원되지 않는 기능도 있는데요.  


SUPERUSER 권한이 필요한 기능(예외적으로 CREATE EXTENSION 문에서는 이 규칙이 적용되지 않습니다.)

커스텀 백그라운드 작업자

Cloud Shell의 psql 클라이언트는 \c 명령어를 사용하여 다른 데이터베이스에 연결하는 등 재연결이 필요한 작업


또한 Cloud SQL을 사용하면 복제 및 백업을 쉽게 구성해 데이터를 보호할 수 있습니다. 자동 장애 조치를 실행하며, 데이터가 자동으로 암호화됩니다. 또한 Cloud SQL은 SSAE 16, ISO 27001, PCI DSS를 준수하고 HIPAA 규정 준수도 지원하고 있습니다.


사실 Cloud SQL의 이점은 아주 간단합니다. 쉽게 만들고 접근할 수 있으며 무엇보다 유지보수 비용이 절감된다는 것입니다. 완전 관리형이므로 애플리케이션 데이터의 유지 관리에 대해 걱정할 필요가 없습니다. 그 시간에 오히려 어플리케이션 제작에 집중, 이를 더 발전시켜 경쟁우위를 차지할 수도 있겠죠.


재해가 발생해도 데이터 백업 및 복구를 해주기 때문에 큰 걱정 없이 계속 사용할 수 있습니다. 또한 다른 프로그램과의 연결도 손쉽다는 것이 장점입니다. 데이터 분석을 위해  BigQuery와 연결, SQL 쿼리를 수행할 수도 있습니다.


이처럼 Cloud SQL을 많은 장점을 가지고 있는데요.이를 잘 사용하면 비교적인 비용 절감과 함께 애플리케이션 개발에 박차를 가할 수 있을 것입니다.


하이프마크에서는 기업의 웹앱로그데이터의 클라우드 적재와 ETL 파이프라인 구성 그 외 클라우드 내 데이터분석 환경 구축 및 분석 시각화 서비스를 함께 제공하고 있습니다.


AWS, GCP등 클라우드 이전 매니지드서비스 및 웹앱로그데이터 태깅 적재 관련 문의사항이 있으시면 하이프마크에 문의 주세요


감사합니다. 


참조 : 

https://cloud.google.com/sql/docs/introduction

https://cloud.google.com/sql/docs/postgres/features

https://cloud.google.com/sql/docs/mysql/features

매거진의 이전글 GCP : SQL이란?
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari