구글 클라우드(Google Cloud)를 처음 접하면 다양한 서비스가 좀 헷갈릴 수 있는데요.
이번 포스팅에서는 구글 클라우드 데이터베이스 서비스의 종류를 간단히 살펴보고 현재 운영 중인 시스템을 어떻게 마이그레이션 할 수 있는 지 알아보겠습니다.
구글 클라우드는 다양한 조직의 요구를 충족하기 위해 여러 가지 데이터베이스 솔루션을 제공하는데요.
과연 어떤 서비스가 우리 조직에 맞을까요? 또 구글 클라우드는 워크로드 최적화를 위해 어떤 선택지를 제시하고 있을까요?
구글 클라우드의 데이터베이스 솔루션들은 크게 두 가지로 유형을 구분할 수 있습니다.
하나는 써드파티 데이터베이스를 완전 관리형 서비스로 제공하는 것이고, 다른 하나는 구글 클라우드가 직접 개발한 데이터베이스입니다.
📌 써드파티 데이터베이스
먼저 써드파티 데이터베이스를 완전 관리형 서비스를 알아보겠습니다. 구글 클라우드에서는 Memory Store, Cloud SQL, 베어 메탈 옵션을 고려할 수 있습니다. Memory Store는 Redis와 Memcached를 위한 완전 관리형 인메모리 데이터베이스 서비스입니다. 이 서비스는 애플리케이션의 성능을 극대화하기 위해 데이터의 빠른 접근과 처리를 지원합니다. Redis와 Memcached는 주로 세션 관리, 캐싱, 실시간 분석 등의 작업에 사용됩니다. Memory Store는 복잡한 클러스터 구성이나 유지보수 작업을 자동으로 처리하여, 사용자는 데이터베이스의 운영 관리 부담을 덜 수 있습니다. 또한, 자동 백업과 데이터 복구 기능도 제공하여 데이터의 안전성을 보장합니다.
다음으로 Cloud SQL은 MySQL, PostgreSQL, SQL Server와 같은 관계형 데이터베이스를 위한 완전 관리형 서비스입니다. 이 서비스는 기존의 오픈 소스 데이터베이스 엔진을 클라우드에서 손쉽게 운영할 수 있도록 지원합니다. Cloud SQL은 데이터베이스의 설치, 유지보수, 백업, 보안 패치 등의 작업을 자동화하여 관리의 복잡성을 크게 줄여줍니다. 또한, 고가용성을 위한 자동 장애 조치(failover) 기능과 수평 확장을 지원하여, 변화하는 워크로드에 유연하게 대응할 수 있습니다.
베어 메탈 옵션은 말 그대로 물리적 서버의 성능을 제공합니다. Oracle 데이터베이스와 같은 고성능의 엔터프라이즈 애플리케이션을 Google Cloud로 이동시킬 수 있는 인프라 솔루션입니다. 이 솔루션은 클라우드의 유연성을 유지하면서도 물리적인 서버의 성능을 그대로 사용할 수 있도록 설계되었습니다. 이 옵션은 구글 클라우드의 네트워크와 결합되어 Oracle 데이터베이스를 2ms 이하의 지연 시간으로 구글 클라우드 서비스와 연결할 수 있습니다. 이를 통해 기존의 온프레미스와 같은 운영 조건을 유지하면서 클라우드의 장점을 활용할 수 있습니다.
📌 구글 클라우드가 직접 만든 데이터베이스
구글이 직접 만든 데이터베이스로는 AlloyDB, Spanner, Bigtable, Firestore가 있습니다. 각각에 대해 알아보겠습니다.
AlloyDB는 구글 클라우드가 개발한 고성능PostgreSQL 호환 데이터베이스로, 엔터프라이즈급 성능과 신뢰성을 제공합니다. AlloyDB는 고가용성(99.999% SLA), 자동 확장, 고성능 읽기/쓰기 처리 등의 기능을 통해 대규모 애플리케이션에 적합한 솔루션입니다. 특히, AlloyDB는 데이터베이스의 읽기 작업을 최적화하기 위해 초고속 캐시(ultra-fast cache)와 칼럼형 엔진(columnar engine)을 제공하여 분석 쿼리를 매우 빠르게 처리할 수 있습니다.
Spanner는 구글 클라우드가 개발한 분산형 관계형 데이터베이스로, 글로벌 수준의 확장성과 높은 가용성을 제공합니다. Spanner는 관계형 데이터베이스의 기능을 유지하면서도 대규모 데이터 처리 및 확장이 가능하도록 설계되었습니다. 특히, 금융 서비스, 전자상거래 등 미션 크리티컬한 애플리케이션에 적합하며, 99.999%의 가용성을 보장합니다. 또한, 여러 지역에 걸쳐 데이터베이스를 복제하고 동기화하는 기능을 제공하여 글로벌 분산 환경에서 데이터를 안전하게 관리할 수 있습니다.
다음으로 Bigtable은 NoSQL 데이터베이스로, 대규모 데이터 처리를 위한 고성능 분산형 데이터베이스입니다. Bigtable은 초당 수십억 개의 요청을 처리할 수 있으며, 페타바이트급 데이터를 저장하고 관리할 수 있습니다. 주로 로그 데이터, 시계열 데이터, 사용자 활동 데이터 등의 대용량 데이터를 실시간으로 처리해야 하는 워크로드에 적합합니다. 참고로 Bigtable은 구글 검색, 지도 등 여러 서비스에서 사용하는 솔루션입니다.
마지막으로 Firestore는 서버리스 문서형 데이터베이스로 Firebase와의 통합을 통해 웹 및 모바일 애플리케이션 개발에 최적화된 솔루션입니다. Firestore는 JSON과 유사한 형식의 문서 구조를 사용하며, 실시간 데이터 동기화 기능을 제공합니다. Firestore는 서버 관리 없이 확장 가능한 인프라를 제공하며, 특히 개발자들이 빠르게 애플리케이션을 개발하고 배포할 수 있도록 지원합니다. 또한, 자동 스케일링, 보안 규칙 설정, 오프라인 데이터 접근 등을 지원하여 개발 편의성을 높입니다.
📌구글 클라우드로 기존 데이터베이스를 옮기는 방식
앞서 소개한 다양한 데이터베이스를 이용하면 오랜 기간 운영한 데이터베이스 환경을 클라우드 네이티브 기반으로 바꿀 수 있습니다. 이를 지원하기 위해 구글 클라우드는 마이그레이션, 현대화, 전환 세 가지 방식을 제안합니다.
마이그레이션은 기존의 데이터베이스를 구글 클라우드로 이동하는 과정입니다. 이 과정은 기존 시스템을 최대한 유지하면서, 클라우드의 이점을 누리기 위해 데이터베이스를 이전하는 것입니다. 구글 클라우드는 이를 쉽게 하기 위해 다양한 도구와 서비스를 제공합니다. 가령 DMS(Database Migration Service)로 데이터베이스의 스키마, 데이터, 인덱스 등을 손쉽게 마이그레이션할 수 있도록 지원합니다.
다음으로 현대화는 기존의 시스템을 보다 최신의 개방형 플랫폼으로 전환하는 것을 의미합니다. 기존 데이터베이스나 애플리케이션을 클라우드 환경에 맞게 업그레이드하거나, 기술 스택을 최신화하는 과정입니다. 예를 들어 구글 클라우드는 AlloyDB와 같은 엔터프라이즈급 데이터베이스 솔루션을 제공하여, 기존 시스템을 최신화할 수 있도록 지원합니다.
전환은 단순히 데이터베이스를 교체하는 것에 그치지 않고, 애플리케이션 아키텍처를 전면적으로 재구축하여 시스템의 단순화, 확장성, 가용성을 크게 개선하는 것을 목표로 합니다. 이 과정에서는 기존의 시스템을 클라우드 네이티브 아키텍처로 재설계하고, Spanner 같은 새로운 데이터베이스 기술 및 서비스를 도입하여 더 나은 성능과 확장성을 제공합니다.
살펴본 바와 같이 구글 클라우드는 다양한 데이터베이스 선택지를 제시하고 있습니다. 선택은 기업이 기존 데이터베이스를 그대로 클라우드에서 쓸 것인지 아니면 클라우드 네이티브 데이터베이스로 현대화를 할 것인지.
또는 데이터베이스와 애플리케이션 모두를 클라우드 네이티브화 한다는 선택지도 있습니다.
이는 필요에 맞게 하면 되기에, 비즈니스에 더욱 적합한 방법을 메가존소프트가 함께 고민하겠습니다. 더 자세한 내용은 메가존소프트에 문의해 주세요. 😎 [ 문의하기 ]