Cloud DB Scanner 사용 예시

Prev Next

VPC 환경에서 이용 가능합니다.

시나리오 개요

Cloud DB for MySQL을 대상으로 스캐너를 생성하여 사용자가 원하는 소스 데이터의 스키마를 스캔하고 테이블을 생성하는 과정을 설명합니다.

소스 데이터

Cloud DB for MySQL에 저장된 소스 데이터는 대기 오염 측정 데이터로 일시, 측정소명, 오존농도, 아황산가스농도 등 다양한 측정 정보를 갖고 있습니다.

데이터 예시

date area_code area_name measure_center_code measure_center_name fine_dust_per_hour fine_dust_per_day ultrafine_dust_per_day ozone_ppm nitrogen_dioxide_concentration_ppm carbon_monoxide_concentration_ppm sulfurous_acid_gas_concentration_ppm
202210302300 100 downtown 111123 junggu 69 59 49 0.013 0.064 0.8 0.004
202210302300 100 downtown 111121 junggu-2 82 59 56 0.008 0.074 0.8 0.003
202210302300 100 downtown 111131 yongsangu 68 58 64 0.028 0.037 0.7 0.003

스캐너 생성 및 실행

커넥션 생성

# 기본정보
이름 : (atmosphere-mysql-connection)

# 소스 데이터
데이터유형 : (Cloud DB for MySQL)
DB 서비스 : (사용자가 가진 Cloud DB for MySQL의 DB 서비스명)
데이터베이스 : (DB 서비스에 있는 스캔할 데이터베이스명)

# 계정 생성
사용자 이름 : (Cloud DB for MySQL에 접속할 DB 계정명)
암호: (Cloud DB for MySQL에 접속할 DB 패스워드)
  • 계정 생성>사용자 이름 / 암호: 소스 데이터에 접근하는 DB 계정을 신규로 생성합니다. 신규로 생성된 계정은 읽기 권한만 부여되며 Data Catalog에서만 접근할 수 있도록 제한됩니다.
참고

입력한 사용자 이름이 다른 Connection에서 생성된 이름이거나 기존에 존재하는 사용자 이름인 경우, 이미 등록된 사용자 이름을 사용하게 되고, 입력한 암호는 무시됩니다. (기존에 등록한 사용자 이름, 암호는 변경하지 않습니다)

스캐너 생성

# 소스 데이터
데이터유형 : (Cloud DB for MySQL)
커넥션 : (atmosphere-mysql-connection)
경로 : (미입력)

# 실행 옵션
실행주기 : (온디맨드)
패턴 : (사용안함)
  • 경로: 값 입력시, '해당 값 + %'로 자동으로 처리되어 스캔할 데이터베이스가 가지고 있는 테이블 중 해당값으로 시작하는 이름의 테이블들을 대상으로 스캔합니다.
  • 패턴: 특정 패턴을 포함/제외하면, 해당 패턴에 대한 이름의 테이블만 스캔이 가능하며 사용 안할경우 선택한 데이터베이스 경로의 모든 테이블이 스캔됩니다.

경로와 패턴 조건을 모두 설정하면, 경로에 해당하는 테이블들 중에서 패턴 조건에 만족하는 테이블들을 스캔합니다.

# 출력 데이터
데이터베이스: (default)
prefix: (미입력)
스키마 추가 시: (테이블 정의 업데이트)
  • prefix: 출력데이터 테이블명에 prefix가 붙어 다른 스캔의 출력데이터와 구분할 수 있습니다.

  • 스키마 추가 시

    • 테이블 정의 업데이트: 스캔 시 테이블 변경과 관련된 모든 내용이 업데이트됩니다.
    • 새 열만 추가: 컬럼이 추가된 경우에만 스캔 시 업데이트 되며, 컬럼이 삭제된 경우는 무시합니다.
    • 무시: 스캔 시, 테이블이 변경되었어도 모두 무시합니다.

스캐너 실행

  • 실행 대기중인 스캐너를 [실행] 버튼을 눌러 스캔을 시작합니다.
  • 실행 시작 상태인 스캐너는 스캔이 완료됨과 동시에 실행 대기 상태로 변경됩니다.
  • 실행 내역 탭에서 결과를 확인할 수 있으며, 스키마는 Table 메뉴에서 확인할 수 있습니다.

스키마 실행 결과

추가 테이블 속성 정보 스키마
atmosphere-data connectionName,
mysqlCollation,
mysqlDataSize,
mysqlIndexSize,
mysqlIndexes,
mysqlRows,
mysqlTableSize,
scannerId,
scannerName, ...
date (bigint ) date (bigint )
area_code (double)
area_name (string)
measure_center_code (double)
measure_center_name (string)
fine_dust_per_hour (double)
fine_dust_per_day (double)
ultrafine_dust_per_day (double)
ozone_ppm (double)
nitrogen_dioxide_concentration_ppm (double)
carbon_monoxide_concentration_ppm (double)
sulfurous_acid_gas_concentration_ppm (double)

테이블 위치

스캔된 테이블은 각자의 위치 정보를 가지고 있으며 생성 규칙은 다음과 같습니다

테이블 이름: TableName
위치: /DatabaseName.TableName
  • 스캔 후 테이블 이름과 위치가 동일한 테이블이 이미 존재한다면, 스캔한 테이블은 기존 테이블로 인식하여 업데이트를 하게 됩니다.
  • 따라서 여러 개의 DBMS 스캔 시에 서로 같은 Database 이름, 테이블 이름을 가질 경우 DMBS가 달라도 업데이트를 하게 되니 주의해 주십시오. 테이블 이름에 Prefix를 추가하는 것을 권장합니다.