먼저 평가를 실시하여 시간과 비용을 절약하고 기존 데이터베이스 자산을 현대화하기
Celia Antonio
Data Management Customer Engineer, Google Cloud
Pritesh Jani
Data Management Specialist, Google Cloud
*본 아티클의 원문은 2023년 7월 13일 Google Cloud 블로그(영문)에 게재되었습니다.
기업에서 애플리케이션과 인프라를 현대화할 때 많은 IT 이해관계자는 오픈소스 기술을 활용해 도움을 얻고자 합니다. 오픈소스가 인기를 얻고 있는 분야 중 하나는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. PostgreSQL과 같은 오픈소스 RDBMS는 Oracle과 Microsoft SQL Server와 같은 상용 RDBMS의 대안으로 갈수록 많은 인기를 얻고 있습니다. 이 같은 전환이 일어나는 데는 여러 이유가 있습니다.
첫째, 오픈소스 RDBMS가 기존의 독자적인 RDBMS에 비해 비용 효율성이 높은 경우가 많습니다. 일반적으로 무료로 다운로드해서 사용할 수 있으며 라이선스 요금이 없습니다.
둘째, 오픈소스 RDBMS는 기존 RDBMS에 비해 유연성과 확장성이 더 뛰어난 경우가 많습니다. 조직의 특정 요구사항을 충족하도록 손쉽게 맞춤설정할 수 있으며 필요에 따라 확장 또는 축소할 수 있습니다.
이러한 요인들 덕분에 오픈소스 RDBMS는 규모에 관계없이 모든 조직에서 널리 인기를 얻고 있습니다. 오픈소스 RDBMS는 비용 효율성, 유연성, 확장성을 비롯해 기존 RDBMS에 비해 여러 이점을 제공합니다.
Oracle/SQL Server에서 PostgreSQL로 마이그레이션
Oracle/SQL Server에서 PostgreSQL로 마이그레이션하는 작업은 까다로울 수 있습니다. 마이그레이션 전략은 조직의 목표에 따라 다르지만 마이그레이션 프로세스를 원활하게 수행하는 데 도움이 되는 다음과 같은 몇 가지 일반적인 전략이 있습니다.
- 데이터베이스 마이그레이션 평가(DMA) 활용: Oracle 또는 SQL Server 데이터베이스를 PostgreSQL로 현대화하는 데 필요한 작업의 수준을 세부적으로 알려주는 여러 평가 도구로 유용한 정보를 얻을 수 있습니다. 이 단계의 속도를 높이려는 고객은 DMA라는 Google Cloud 퍼스트 파티 도구를 활용하여 Oracle/SQL Server 데이터베이스의 복잡성을 평가하면 됩니다. 이 도구는 Google Cloud의 '무료' 데이터베이스 평가 솔루션으로, 마이그레이션 작업, 비용, 예상 투자수익을 추정합니다. DMA에 대한 더 자세한 내용은 아래에서 다루겠습니다.
- 코드/스키마 변환 도구 활용: 사람의 실수를 줄이고 마이그레이션의 전체적인 효율성을 개선하는 데 도움이 될 수 있습니다. Google Cloud 도구를 활용하여 Oracle/SQL Server의 스키마 및 코드를 PostgreSQL로 자동 변환합니다.
- 단계별로 데이터 마이그레이션: 모든 데이터를 한 번에 마이그레이션하는 것은 위험할 수 있습니다. 소규모 데이터 하위 집합부터 시작한 다음 시간이 흐름에 따라 점진적으로 더 많은 데이터를 마이그레이션하는 단계적 데이터 마이그레이션이 보다 바람직한 경우가 많습니다. Google Cloud와 함께라면 고객의 요구사항에 따라 데이터 마이그레이션 전략을 수립할 수 있습니다. 다운타임을 허용하는 고객이든 실시간 복제가 필요한 고객이든 Google Cloud는 고객의 요구사항에 맞는 데이터 마이그레이션 솔루션을 제공합니다.
- 애플리케이션 변경: 데이터베이스 엔진이 전환되면 애플리케이션이 변경되는 경우가 많습니다. Google Cloud로 애플리케이션 저장소를 스캔하고 새로운 데이터베이스 엔진에서 실행하기 위해 변경이 필요할 수 있는 SQL 문을 식별할 수 있습니다.
- 마이그레이션된 데이터 테스트: 데이터를 마이그레이션한 다음에는 테스트를 통해 데이터가 올바르게 작동하는지 확인하는 것이 중요합니다. 이 단계에서는 여러 작업이 필요합니다. 우선, 소스와 대상 간에 모든 데이터가 동기화되어 있는지 확인해야 하며, Google 도구를 사용하여 이 작업을 수행할 수 있습니다. 둘째, 애플리케이션 기능 테스트를 수행하여 애플리케이션이 예상대로 작동하는지 확인해야 합니다. 마지막으로, 성능 테스트를 수행하는 것이 좋습니다.
이러한 일반적인 전략을 따르면 Oracle/SQL Server에서 PostgreSQL로의 마이그레이션을 원활하고 성공적으로 수행하는 데 도움이 됩니다.
이 글의 뒷부분에서는 이 클라우드 여정의 출발지인 Google 데이터베이스 평가 프로세스에 대해 중점적으로 살펴보겠습니다. 데이터베이스 평가에서는 업계 권장사항, 데이터베이스 전문가 및 데이터 수집 도구를 한데 모아 Oracle과 SQL Server에서 PostgreSQL로 마이그레이션하는 작업에 착수하기 위한 마이그레이션 전략을 제공합니다.
PostgreSQL로 마이그레이션: 데이터베이스 마이그레이션 평가부터 시작
데이터베이스 마이그레이션 평가(DMA)는 고객에게 제공되는 무료 서비스로, 데이터베이스 메타데이터를 수집하여 세부적인 맞춤형 고객 판독 값을 제공합니다. 수집되는 데이터에는 데이터베이스 객체 유형, PL/SQL 또는 T-SQL 코드, 사용 중인 데이터베이스 기능, 현재 리소스 사용량, 워크로드 특성을 비롯한 세부적인 메타데이터가 포함됩니다. 이 데이터는 Google의 *새로운* 퍼스트 파티 DMA 도구를 사용하여 수집됩니다.
메타데이터가 수집되고 나서 처리를 거치면 Google 데이터베이스 전문가팀이 다음을 포함한 세부적인 맞춤형 판독 값을 제공합니다.
- 현재 온프레미스 데이터베이스 워크로드 특성을 기반으로 한 Google Cloud 대상 상태 데이터베이스 추천이 제공됩니다.
- 마이그레이션 작업: Oracle/SQL Server 스키마 및 코드를 PostgreSQL과 같은 오픈소스 데이터베이스로 변환하는 데 필요한 작업의 정도를 시간 단위로 반영합니다.
- 클라우드를 위한 적정 크기 조정: 실제로 필요한 리소스에 대해서만 비용을 지불하도록 현재 온프레미스 리소스 사용량 정보를 사용하여 Google Cloud 데이터베이스의 크기를 적절히 조정합니다.
- 마이그레이션 계획 완성: 처음으로 마이그레이션할 데이터베이스를 식별하고 후속 데이터베이스를 위한 마이그레이션 웨이브를 만듭니다.
다음은 14개의 Oracle 데이터베이스를 관찰한 고객 판독 값의 일부입니다. 이 예시의 고객은 Oracle에서 PostgreSQL용 Cloud SQL 또는 PostgreSQL용 AlloyDB로 현대화하기를 원했습니다. 처음에 고객은 Oracle 데이터베이스를 현대화하는 작업이 매우 복잡하고 상당한 노력이 필요할 것이라고 생각했습니다. DMA로 마이그레이션 평가를 실행하고 난 후 Google Cloud 스키마/코드 변환 도구를 사용하면 고객 데이터베이스 환경의 89%를 자동으로 변환할 수 있음이 확인되었습니다. 이러한 판단은 아래 그래프에 기반한 것입니다. 그래프에는 각 데이터베이스가 나열되어 있고, Oracle/SQL Server와 PostgreSQL 간의 호환성이 표시되어 있습니다.
각 데이터베이스를 대상으로 데이터베이스 객체와 코드가 세 가지 버킷으로 분류되어 있습니다. 녹색 버킷은 Google Cloud 도구를 사용하여 자동으로 변환할 수 있는 데이터베이스 객체를 식별합니다. 노란색 버킷은 어느 정도 수동 작업이 필요한 데이터베이스 객체/코드를 식별합니다. 마지막으로, 빨간색 버킷은 Google Cloud 스키마/코드 변환 도구로 객체를 자동 변환할 수 없기 때문에 완전히 리팩터링해야 하는 데이터베이스 객체를 식별합니다. 요약하면, 차트에서 녹색이 많을수록 Google Cloud 변환 도구를 사용하여 자동으로 변환할 수 있는 객체가 많기 때문에 고객의 수고를 덜 수 있습니다.
이 고객의 경우 고객의 예상보다 더 좋은 결과가 나왔습니다. 원래 고객은 이러한 Oracle 데이터베이스에 PL/SQL 코드가 많아 자동 변환이 쉽지 않으리라는 인식을 전반적으로 가지고 있었습니다. 그러나 이 시각화 자료에서 고객의 Oracle 객체와 코드 대부분을 자동 변환할 수 있는 것으로 나타났습니다.
다음으로, Google은 고객에게 각 데이터베이스를 변환하는 데 필요한 작업량의 수준을 보여주었습니다. 아래 그래프에는 마이그레이션을 완료하는 데 필요한 작업량 수준(시간 단위로 표시)별로 모든 데이터베이스가 정렬되어 있습니다. 첫 번째 나열된 데이터베이스는 마이그레이션에 가장 적은 시간이 걸리는 반면 마지막 데이터베이스는 마이그레이션에 가장 많은 시간이 소요됩니다. 이 데이터는 가장 먼저 마이그레이션할 데이터베이스를 파악하고 마이그레이션 웨이브를 정의하는 데 유용합니다. 즉, 단계별로 마이그레이션할 데이터베이스 그룹을 정의할 수 있습니다.
그렇다면 어떻게 시작해야 할까요? 가장 복잡한 데이터베이스가 아닌 가장 복잡성이 덜한 데이터베이스부터 시작하는 것이 좋습니다. 그러면 반복 가능한 프로세스로 마이그레이션 청사진을 구축하고, Google Cloud 스키마/코드 변환 및 데이터 이동 도구 활용에 익숙해질 수 있습니다. 이러한 학습과 반복 가능한 프로세스가 결합되어 더 복잡한 데이터베이스를 신속하게 마이그레이션할 수 있는 기반이 마련됩니다.
이러한 결과를 보고 고무된 고객은 Oracle 데이터베이스를 AlloyDB로 현대화하는 데 필요한 작업 수준 대비 투자수익(ROI)이 많다는 결론을 내렸습니다. 값비싼 라이선스/지원 구조에서 벗어나 비용 효율적인 완전 관리형 데이터베이스 서비스로 전환할 수 있기 때문입니다.
이 예시에는 Google이 고객에게 제공한 판독 값의 일부만 표시되어 있습니다. 하지만 고객의 전체 판독 값에는 더 유의미한 정보가 포함됩니다. 고객은 작업 시간 계산을 구성하는 개별 데이터베이스 객체에 이르기까지 여러 수준을 상세히 살펴볼 수 있습니다.
주요 특징
DMA 도구는 오픈소스이며 GitHub에서 제공됩니다. 현재 Oracle과 SQL Server 데이터베이스를 지원합니다.
- Oracle의 경우 DMA는 고객 라이선스 정책에 따라 AWR과 AWR(statspack) 이외의 데이터베이스 평가를 모두 지원합니다.
- MS SQL의 경우 DMA는 Perfmon 데이터를 활용하며 메타데이터만 수집합니다.
아래 표에는 DMA 도구로 수집되는 데이터의 유형이 나열되어 있습니다.
결론
현재 Oracle 또는 SQL Server 데이터베이스를 사용 중이고 이를 PostgreSQL과 같은 오픈소스 데이터베이스로 현대화하는 방안을 고려 중인 경우 Google GitHub 저장소에서 DMA 도구를 다운로드하면 됩니다. 또는 Google Cloud 영업 담당자에게 연락하여 평가일정을 조율하세요. Google Cloud 데이터베이스 전문가는 이러한 데이터베이스의 현대화에 관한 추천과 권장사항 및 지침을 제공함으로써 Oracle 또는 SQL Server 데이터베이스 현대화가 적절한 선택인지 여부를 평가하기 위한 데이터 기반 접근 방식을 안내합니다.