콘텐츠로 이동하기
데이터 분석

BigQuery의 MySQL 데이터에서 인사이트 더 빠르게 찾기

2023년 9월 21일
https://storage.googleapis.com/gweb-cloudblog-publish/images/teleco_2022_B5LTQfV.max-2500x2500.max-2500x2500.png
Mehran Nazir

Dataflow PM, Google Cloud

Frank Guan

Product Marketing Lead, Google Cloud

*본 아티클의 원문은 2023년 7월 26일 Google Cloud 블로그(영문)에 게재되었습니다.


데이터 실무자는 관계형 데이터베이스가 분석 쿼리에 맞게 설계되지 않았다는 점을 알고 있습니다. 관계형 데이터베이스 인프라를 데이터 웨어하우스에 연결해야하는 데이터 기반 조직은 많은 양의 분석 쿼리를 실행할 필요가 없는 '운영용 데이터베이스'라는 장점과  운영 애플리케이션 서비스 중단에 대한 우려 없이 자유롭게 유용한 정보를 마이닝할 수 있는 '데이터 웨어하우스'라는 장점을 모두 활용할 수 있습니다. 그러나 운영 오버헤드를 가능한 한 줄이면서 두 개의 서로 다른 시스템을 어떻게 연결할지에 관한 문제가 남아 있습니다.

Dataflow 템플릿을 사용하면 웹 양식을 작성하는 일만큼이나 간단하게 MySQL 데이터 를 BigQuery와 연결할 수 있습니다. 작성할 커스텀 코드가 없고 관리할 인프라도 없습니다. Dataflow는 일괄 처리와 워크로드 스트리밍을 위한 구글 클라우드의 서버리스 데이터 처리 서비스로, 데이터 처리 속도를 높이고 자동으로 조정하며 비용 효율성을 높입니다. Dataflow 템플릿은 데이터 파이프라인을 정의하는 재사용 가능한 코드 조각(snippet)입니다. 템플릿을 사용하면 사용자는 커스텀 Dataflow 애플리케이션을 작성하는 것에 대해 염려하지 않아도 됩니다. Google에서는 일반적인 워크플로와 ETL 사용 사례를 자동화하는 데 도움이 되는 템플릿 카탈로그를 제공합니다. 이 게시물에서는 MySQL에서 BigQuery로 데이터를 복제하기 위해 반복 일괄 파이프라인을 예약하는 방법을 자세히 알아보겠습니다.

MySQL에서 BigQuery로의 Dataflow 데이터 파이프라인 실행

Google 파이프라인의 경우 Dataflow 데이터 파이프라인을 실행합니다. Data Pipelines를 사용하면 반복 일괄 작업1을 예약할 수 있습니다. 또한 Data Pipelines에는 스트리밍 작업을 위한 수명 주기 관리 기능이 포함되어 있어 파이프라인 실행의 훌륭한 출발점이 됩니다. 먼저 상단의 '데이터 파이프라인 만들기' 버튼을 클릭합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/BbrW9pwgVBQfxXt.max-1400x1400.png

그런 다음 'MySQL에서 BigQuery로의 파이프라인'을 선택합니다. 보시는 것처럼 관계형 데이터베이스가 Postgres 또는 SQL Server인 경우 이러한 시스템에 필요한 템플릿도 제공됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/BRxgXrSxukKR6aY.max-700x700.png

이제 양식이 확장되어 이 파이프라인을 실행하는 데 도움이 되는 매개변수 목록이 표시됩니다.

필수 매개변수

  • 일정: 파이프라인 반복 일정 예약(시간, 일, 주별로 작업을 예약하거나 Unix cron 형식을 사용하여 일정을 정의할 수 있음)
  • 소스: JDBC 소스에 연결할 URL 커넥션 문자열입니다. 데이터베이스에 SSL 인증서가 필요한 경우 SSL 모드와 인증서의 GCS 위치를 사용 설정하는 쿼리 문자열을 추가할 수 있습니다. 이 문자열은 Google Cloud Key Management Service를 사용하여 인코딩할 수 있습니다.
  • 대상: BigQuery 출력 테이블
  • 임시 버킷: 파일을 임시 저장하기  위한 GCS 버킷

선택적 매개변수  

  • JDBC 소스 SQL 쿼리(데이터베이스의 일부를 복제하려는 경우) 
  • 사용자 이름과 비밀번호(데이터베이스에 인증이 필요한 경우). 원하는 경우 Google Cloud KMS에서 인코딩된 문자열을 전달할 수도 있습니다.
  • 파티셔닝 매개변수
  • Dataflow 관련 매개변수(자동 확장, 작업자 수, 작업자 환경과 관련된 기타 구성을 수정하는 옵션 포함). SSL 인증서가 필요하고 트러스트 저장소(truststore)와 인증서 파일이 있다면 '스테이징할 추가 파일' 매개변수를 사용하여 각 위치에 전달합니다.

구성을 입력한 후 '파이프라인 만들기' 버튼을 클릭합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/3XZJVqR5EK5H6zU.max-2000x2000.png

파이프라인을 만들면 파이프라인 정보 화면으로 연결되고 이 화면에 파이프라인 실행 기록이 표시됩니다. 이 뷰는 장시간 실행된 작업을 찾거나 여러 번의 실행에서 두루 발생하는 패턴을 식별하는 데 유용합니다. 파이프라인과 관련된 작업 목록이 페이지 하단에 테이블 뷰로 표시됩니다. 이러한 작업 ID 중 하나를 클릭하면 특정 실행에 대해 더 자세히 살펴볼 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/8HSZjt7AFi4UiYr.max-2200x2200.png

Dataflow 모니터링 환경에는 실행된 파이프라인을 시각적으로 표현하는 작업 그래프가 있으며 하단의 로그 패널에는 작업 및 작업자로부터 수집한 로그가 표시됩니다. 오른쪽 패널에는 작업 관련 정보가 표시되며 작업에 대한 최적화된 실행, 성능 측정 항목, 비용 등을 확인할 수 있는 탭이 몇 개 더 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/7JCoGzd7KYzKUjb.max-2200x2200.png

마지막으로 BigQuery SQL 작업 공간으로 이동하면 최종 대상에 기록된 테이블을 확인할 수 있습니다. 이 튜토리얼의 둘러보기 동영상을 보려면 여기를 클릭하세요. 이제 관계형 데이터베이스의 무한한 가치를 누릴 준비가 끝났습니다. 팀 전체를 동원하지 않아도 충분히 설정할 수 있습니다.

다음 단계

연속 모드로 변경 내용을 읽고 쓰는 사용 사례인 경우 변경 데이터 캡처(CDC: Change Data Capture) 및 실시간 복제 사용 사례를 제공하는 Datastream 제품을 확인해 보세요. 오픈소스 기술을 기반으로 하는 솔루션을 원한다면 Debezium 커넥터를 사용하여 메시지를 Pub/Sub에 게시한 다음 BigQuery에 작성하는 변경 데이터 캡처 Dataflow 템플릿도 살펴보세요.

Dataflow 활용에 도움이 되기를 바랍니다.


1. 예약 일정에 따라 작업을 실행할 필요가 없는 경우 '작업' 페이지의 '템플릿에서 작업 만들기' 워크플로를 사용하는 것이 좋습니다.
게시 위치