본문 바로가기
3. 데이터관리

MySQL HeatWave 생성, 클러스터 추가 후 Report Query 성능 비교

by MY잭슨 2024. 2. 4.

 

HeatWave는 Oracle MySQL Database Service용으로 개발된 인메모리 쿼리 가속기로, OCI에서만 사용할 수 있고 HeatWave를 사용하는 Oracle MySQL Database Service를 통해 MySQL 데이터베이스에서 애플리케이션 변경 없이 온라인 트랜잭션 처리 (OLTP) 및 온라인 분석 처리 (OLAP) 워크로드를 직접 실행 가능하며 이를 통해 별도의 분석 데이터베이스가 필요하지 않고 Oracle Analytics Cloud를 사용하면 데이터를 분석하고 실시간으로 보고서를 작성할 수 있음.

 

 

인스턴스 정보 요약

----------------------------------------
Public Instance SG (bastion) - Instance-GWHWSG
Public Instance US (bastion) - Instance-GWHWUS
MySQL EndPoint SG : MDS + HeatWave(1  OCPU +  32GB Memory) 10.0.1.101
MySQL EndPoint US : MDS + HeatWave(16 OCPU + 512GB Memory) 10.0.1.201
MySQL EndPoint US FQDN : HEATWAVE-US.sub02030214391.heatwavevcnjk.oraclevcn.com
----------------------------------------

 

사전 준비

-------------------------------------------------------
-- Compartment, VCN, Private Security List(3306, 33060)
-------------------------------------------------------


진행 요약

  • 두 개의 리전을 활용하여 MDS (MySQL Database Service) 생성
  • (+ 분석 OAC 생성 + OAC에 Private Access Channel 연결)
  • MySQL Shell 설치 및 MDS에 샘플 데이터 로드 
  • HeatWave 클러스터를 생성 (SG HeatWave.32GB / US HeatWave.512GB)
  • HeatWave에 MDS 데이터 로드
  • use_secondary_engine=ON/OFF 를 통해서 쿼리 성능 확인
  • OAC에 MySQL 연결하여 대시보드 생성 확인

 

 

두 개의 리전을 활용하여 MDS (MySQL Database Service) 생성

-- MDS Region SG
Development or testing
HEATWAVE-SG
Standalone
Configure MySQL HeatWave
admin
16 OCPU
512 GB
HEATWAVE-SG
10.0.1.102

-- MDS Region US
Development or testing
HEATWAVE-US
Standalone
Configure MySQL HeatWave
admin
16 OCPU
512 GB
HEATWAVE-US
10.0.1.201

 

 

(+ 분석 OAC 생성 + OAC에 Private Access Channel 연결)

-- OAC Region US
HWOACUS
Oracle Analytics Cloud HeatWave Test
Capacity Type : Users
User Count : 10
License Included
Enterprise Edition

-- Connection
HeatWaveUS
HeatWaveUS
HEATWAVE-US.sub02030214391.heatwavevcnjk.oraclevcn.com
3306
airportdb

 

 

MySQL Shell 설치 및 MDS에 샘플 데이터 로드

wget https://objectstorage.us-ashburn-1.oraclecloud.com/p/MdFkX2s2_x9Miktl08UoorNTIyE-bIULjDXcbYuU1ukSfw1g48AEUkmH0-UcN5bQ/n/idazzjlcjqzj/b/irportdb-bucket-20230123-2124/o/airportdb_ysqlsh_331.zip
unzip airportdb_ysqlsh_331.zip

sudo dnf install -y mysql-shell
mysqlsh --version

mysqlsh -uadmin -p -h 10.0.1.102
(mysqlsh -uadmin -p -h 10.0.1.201)

\js
util.loadDump("airportdb", {threads: 16, deferTableIndexes: "all", ignoreVersion: true, loadIndexes:false})

\sql
SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'airportdb';

\q

 

 

HeatWave 클러스터를 생성 (SG HeatWave.32GB / US HeatWave.512GB)

 

HEATWAVE-SG

 

HEATWAVE-US

 

HeatWave에 MDS 데이터 로드

※ 아래 이미지 우측이 더 큰 shape HeatWave.512GB 을 사용하고 있고 데이터 로드하는 속도도 빠름

mysqlsh -uadmin -p -h 10.0.1.102 --sql
(mysqlsh -uadmin -p -h 10.0.1.201 --sql)

CALL sys.heatwave_load(JSON_ARRAY('airportdb'), NULL); -- first SG then US

USE performance_schema;
SELECT NAME, LOAD_STATUS FROM rpd_tables,rpd_table_id WHERE rpd_tables.ID = rpd_table_id.ID;

\q

 

use_secondary_engine=ON/OFF 를 통해서 쿼리 성능 확인

↑  상단 인스턴스 : SG 리전 MDS + HeatWave(1  OCPU +  32GB Memory)
↓  하단 인스턴스 : US 리전 MDS + HeatWave(16 OCPU + 512GB Memory)

← 좌측 인스턴스 : use_secondary_engine=OFF

→ 우측 인스턴스 : use_secondary_engine=ON 

종류 결과 시간
쿼리 1 80.2 sec 1.5 sec
79.9 sec 0.2 sec
쿼리 2 47.8 sec 5.9 sec
47.8 sec 0.3 sec

 

 

 

 

 

20240203-MDS HW Cluster-OAC.sql
0.00MB

 

 

참고

Turbocharge Business Insight with MySQL HeatWave

https://docs.oracle.com/en/solutions/oac-with-heatwave/index.html#GUID-AEA19027-94F9-4342-8B5F-14BFA63F2BEA

댓글