한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Keep calm and query on! - GCP에서 데이터베이스 실행
2019년 8월 7일 수요일
많은 애플리케이션의 기본이 되는 것이 데이터베이스인데, 그 점은 클라우드 기반 솔루션에 대해서도 마찬가지입니다. 클라우드에서 데이터베이스를 실행하는 것은 많은 면에서 on-premises 환경에서 데이터베이스를 실행하는 것과 유사하지만 중요한 차이점과 이점이 있습니다.
Google Cloud의 데이터베이스 솔루션 아키텍트로 구성된 우리 팀에서는 개발자가 클라우드에 있는 데이터베이스의 모든 측면, 즉 배포, 이전, 관리를 이해하는 데 도움을 드리고자 노력하고 있습니다. 우리는 개발자가
Google Cloud Platform
(GCP)에서 데이터베이스를 실행하는 알맞은 방법을 선택하도록 돕고 싶습니다.
GCP에서
데이터베이스
를 실행할 때 관리형 서비스 중에서 선택하거나 우리가 개발자를 위해 관리하는 인프라에서 데이터베이스를 실행할 수 있습니다. 관리형 서비스를 사용하면 데이터베이스 운영에 필요한 운영 오버헤드 중 일부를 덜어낼 수 있는 반면, 직접 실행하면 데이터베이스의 배포 방식을 완벽히 제어할 수 있습니다. 두 가지 옵션에서 모두 Google의 네트워크를 사용하여 글로벌 연결 기능과 함께 신뢰성, 보안, 탄력성을 기본적으로 확보하게 됩니다.
우리 팀은 사용자가 클라우드에 있는 데이터베이스의 모든 측면, 즉 배포, 이전, 관리를 이해하는 데 도움을 드리고자 계속 노력하겠습니다. 다음은 배포부터 모니터링까지 클라우드 데이터베이스를 사용하기 위한 최신 솔루션의 몇 가지 예입니다.
IBM Db2 배포
클라우드 기반 데이터베이스의 첫 번째 단계는 물론 데이터베이스를 가동하고 실행하는 것입니다. IBM Db2는 공용 엔터프라이즈 데이터베이스이므로, 우리는 GCP에 IBM Db2를 배포하는 방법을 설명하는 종합적인 솔루션 문서
자동 클라이언트 경로 재지정 및 네트워크 타이브레이커로 Compute Engine에 고가용성 IBM Db2 11.1 배포
를 최근에 게시했습니다. 이 솔루션은 Db2를 실행하기 위해 Compute Engine 인스턴스(VM)를 설정하는 작업으로 시작됩니다. 제목에서 알 수 있듯이, 이 문서의 내용은 기초적 수준의 배포를 훨씬 넘어서는데, 아래에 표시된 것처럼 트랜잭션 복제와 자동화된 장애 조치로 클러스터에 가용성이 뛰어난 배포를 생성하는 방법을 안내합니다.
이 솔루션은 모든 것을 설정했다고 해서 끝나지 않습니다. 목표는 고가용성이므로, 저자인 Ron Pantofaro는 모든 것이 올바로 작동하도록 하기 위해 기본 클러스터 노드를 일시적으로 중지하는 방법을 보여줍니다. 그러면 데이터베이스가 적절히 장애 조치하고 대기 노드가 기본 클러스터 노드의 역할을 이어받는다는 것을 확인할 수 있습니다.
기존 데이터베이스를 GCP로 이전
데이터베이스를 처음부터 배포하는 경우는 많지 않습니다. 대신, 기존 데이터베이스를 GCP로 이전하고 싶은 경우가 많을 것입니다. 데이터베이스를 한 플랫폼에서 다른 플랫폼으로 이전하는 것만으로도 쉽지 않은 일일 수 있습니다. 하지만 이전 외에도 NoSQL 데이터베이스에서 관계형 데이터베이스로 변경하고 싶은 경우는 어떻게 해야 할까요?
SA Sami Zuhuruddin은 이 흥미롭고도 까다로운 전환 문제를 해결하기 위해 최근에
DynamoDB에서 Cloud Spanner로 이전
이라는 솔루션을 제시했습니다. 그는 NoSQL 데이터베이스인 Amazon DynamoDB에서 트랜잭션 지원 기능이 있는 완전 관계형의 내결함성 SQL 데이터베이스인 Cloud Spanner로 데이터를 이동하는 방법을 설명합니다.
Sami의 솔루션을 읽어보면 그의 전문적 안내에 따라 이 작업을 수행하고 싶어질 것입니다. 이 프로세스는 Amazon S3, Google Cloud Storage, AWS Lambda, Cloud Pub/Sub, Cloud Dataflow를 포함한 여러 중간 단계를 거친 후에 Cloud Spanner에 이르게 됩니다. Sami는 키, 데이터 형식, 색인을 포함하여, 이전의 두 측면에서 모두 데이터 모델을 설명합니다. 각 단계를 수행하기 위해 어떤 사용자 권한이 필요한지 알게 될 것입니다. 이 솔루션은 최종적으로는 확인을 포함한 전체 프로세스를 안내해 줍니다. 다음은 관련 아키텍처의 모습입니다.
데이터베이스 백업
온프레미스 환경에서 데이터베이스를 백업하는 것만큼이나 클라우드에서도 데이터베이스를 백업하는 것이 중요한 일입니다. 최근에 제시된 두 솔루션에서 이를 수행할 방법을 논합니다.
Compute Engine에서 특정 시점 복구를 위해 Microsoft SQL Server 백업 사용
에서, SA Ron Pantofaro는 관심의 초점을 배포에서 백업으로 옮겨 Compute Engine에서 실행 중인 SQL Server 인스턴스를 위한 백업 구성 방법을 보여줍니다. 데이터와 데이터베이스 로그를 둘 다 Cloud Storage에 백업하는 방법을 볼 수 있습니다. 또한 (우리는그러지 않기를 바라지만) 그는 백업을 복원해야 할 경우 그 방법도 설명합니다. 그런데 이것으로 작업이 끝나는 게 아닙니다. 백업을 예약하고 더는 필요하지 않은 백업을 정리하는 방법도 설명되어 있습니다.
물론, 다른 데이터베이스를 사용할 수도 있습니다. SA 팀은
Percona XtraBackup과 Cloud Storage를 사용하여 MySQL 핫 백업 수행
에서 백업, 복원, 예약, 정리로 구성된 유사한 작업 집합을 보여주지만, 이는 MySQL 데이터베이스를 위한 것입니다.
GCP 기반 데이터베이스에 추적 추가
GCP에서 데이터베이스를 실행하는 이점 중 하나는 Stackdriver와 같은 서비스를 사용해 추적 정보를 수집할 수 있다는 점입니다. SA Karthi Thyagarajan은 자신의 커뮤니티 가이드인
OpenCensus로 Redis 작업 부하에 대한 Cloud Memorystore의 클라이언트측 추적
에서 데이터 검색 지연 시간을 측정할 수 있게 해주는 추적 기능의 추가 방법을 설명합니다. 이 솔루션에서는 Cloud Storage의 지원을 받는 Cloud Memorystore로 구성된 데이터 저장소를 사용합니다. 그의 말대로, 이를 통해 "데이터베이스 배포 및 관련 구성과 같은 점에 대한 걱정 없이 클라이언트측 추적의 핵심적인 측면에 집중"할 수 있습니다.
Karthi가 자바 클라이언트 앱으로 만든 앱을 GitHub에서 다운로드할 수 있는데, 이 앱에는 데이터 저장소에서 읽고 추적 출력을 생성하기 위한 로직이 이미 들어 있습니다. 데이터 저장소를 설정한 후 클라이언트 앱을 실행하여 데이터를 읽습니다. 설정한 계측의 이점 중 몇 가지를 볼 수 있는데, Stackdriver 콘솔로 이동하고 캐시된 읽기와 캐시되지 않은 읽기의 대기 시간을 시각적으로 비교합니다.
더 많은 GCP 데이터베이스 솔루션
이 글에서는 우리 솔루션 아키텍트 팀에서 제작한 데이터베이스 지향적 솔루션 중 몇 가지만 살펴봤습니다. 더 많은 솔루션을 찾아보려면 GCP 솔루션 갤러리에서
데이터베이스
및
이전
항목도 확인해 보세요.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed