HeatWavejp_Meetup_03_HeatWaveとMDS性能比較してみた

>100 Views

February 25, 25

スライド概要

profile-image

HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

HeatWaveとMDS 性能比較してみた 2023/8/7(月) 株式会社データベーステクノロジ システム技術G 後藤義雄 © 2023 Database Technology Inc. All Rights Reserved.

2.

自己紹介 後藤 義雄(Yoshio Goto) X(twitter):@gotodti - 株式会社データベーステクノロジ (主にインフラ担当) - OracleDatabase業務従事 - クラウド業務従事 - 休日の過ごし方:ウォーキング © 2023 Database Technology Inc. All Rights Reserved. 2

3.

弊社のご紹介 会社概要 沿革 屋号 株式会社データベーステクノロジ https://www.db-tec.com/ 所在地 京都市中京区柳八幡町65番地 設立 1995年 DB構築サービスを専業として大阪市中央区に設立 2001年 DBパフォーマンス測定サービスを開始 1995年7月12日 2010年7月 本社を京都市中京区へ移転 パートナー資格 ORACLE Cloud Sell Partner 2015年8月 日本オラクル社とパートナー契約締結 許認可 Pマーク(第20002140号) 2015年9月 らくがきSQLを IT Pro EXPOへ出展 2019年12月 メール/チャット自動変換サービス chatveryをリリース マスコット キャラクター データベーチュ 親子 事業内容 クラウドサービス事業 インフラ基盤構築・Lift&Shift・運用監視アウトソース データベース関連事業 Oracle Master認定技術者によるデータベース設計/構築/運用 MySQLやSQLサーバについても対応可能 ソフトウェア開発事業 生産管理・販売管理・会計管理・営業支援 業種:金融・製薬・小売/レンタル・メーカー・学術/研究機関 ERPパッケージ導入事業 Oracle E-Business Suite© © 2023 Database Technology Inc. All Rights Reserved. 3

4.

ちなみに… YouTubeチャンネルやってます! https://www.youtube.com/@databasetechnologyinc.7441/ チャンネル登録 お願いします! © 2023 Database Technology Inc. All Rights Reserved. 4

5.

HeatWave MDS © 2023 Database Technology Inc. All Rights Reserved. 5

6.

© 2023 Database Technology Inc. All Rights Reserved. 6

7.

名称:山崎さんの提案に則っています © 2023 Database Technology Inc. All Rights Reserved. 7

8.

HeatWave MDS © 2023 Database Technology Inc. All Rights Reserved. 8

9.

テスト環境 クライアント クライアント シェイプ VM.Standard.E3.Flex CPU 2 OCPU メモリ 16 GB ストレージ 1024 GB DBシステム HeatWave MDS MDSノード 構成 MDS シェイプ VM.Standard.E3.16.256GB HeatWave.VM.Standard.E3 CPU 16 OCPU 16 OCPU メモリ 256 GB 512 GB ストレージ 1024 GB 1024 GB(HeatWave 2ノード) HeatWaveノード © 2023 Database Technology Inc. All Rights Reserved. HeatWave 9

10.

やったこと  スタースキーマベンチマーク(SSB)のちょっと変形  Like検索 全文検索(青空文庫のデータ利用)  無理やりHeatwave利用 © 2023 Database Technology Inc. All Rights Reserved. 10

11.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 11

12.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 12

13.

データCSV 作成(dbgen 実行 unit=100) dbgen コンパイル $ git clone https://github.com/vadimtk/ssb-dbgen.git $ cd ssb-dbgen $ make データ生成 ※-s 100 は約6億行(67 GB) $ ./dbgen -s 100 -T c $ ./dbgen -s 100 -T l $ ./dbgen -s 100 -T p $ ./dbgen -s 100 -T s © 2023 Database Technology Inc. All Rights Reserved. 13

14.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 14

15.

テーブル作成(SSB) 4テーブル 分作成 customer part supplier lineorder lineorder表は 分割作成 一気にloadしようとすると ERROR 1197 発生 max_binlog_cache_size が不足 © 2023 Database Technology Inc. All Rights Reserved. 15

16.

意味なく掲載 © 2023 Database Technology Inc. All Rights Reserved. 16

17.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 17

18.

データ流し込み mysql>LOAD DATA LOCAL INFILE 'customer.tbl' INTO TABLE customer FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; mysql>LOAD DATA LOCAL INFILE 'part.tbl' INTO TABLE part FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; mysql>LOAD DATA LOCAL INFILE 'supplier.tbl' INTO TABLE supplier FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';  lineorder分割表へはcsvファイルを分割してそれぞれ insert © 2023 Database Technology Inc. All Rights Reserved. 18

19.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 19

20.

非正規化テーブル作成 行数 データサイズ © 2023 Database Technology Inc. All Rights Reserved. 6億 行 (600,037,902行) 237GB(255,246,467,072Bytes) 20

21.

データ流し込み、 正規化の時間 MDS HeatWave 各テーブル Load時間 03:46:13 03:51:47 非正規化 (lineorder_flat作成) 06:29:21 06:58:14 PK追加 04:13:33 03:00:59 合計 14:29:07 13:51:00 PK追加で時間差が出ているが メモリ搭載量に影響されたと考えられる © 2023 Database Technology Inc. All Rights Reserved. 21

22.

スタースキーマベンチ 処理の流れ データCSV 作成(dbgen 実行 unit=100) テーブル作成(SSB) データ流し込み 非正規化テーブル作成 評価SQL 実行 © 2023 Database Technology Inc. All Rights Reserved. 22

23.

HeatWaveのお約束 © 2023 Database Technology Inc. All Rights Reserved. 23

24.

HeatWave環境でのおまじない  lineorder_flat 表に対して HeatWaveを有効化します mysql> ALTER TABLE lineorder_flat SECONDARY_ENGINE=RAPID; • lineorder_flat 表をHeatWaveへロード mysql> ALTER TABLE lineorder_flat SECONDARY_LOAD; ロード時間 © 2023 Database Technology Inc. All Rights Reserved. 00:07:15 24

25.

評価SQL 実行 Q1.1 SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue FROM lineorder_flat WHERE DATE_FORMAT(LO_ORDERDATE, '%Y') = '1993' AND LO_DISCOUNT BETWEEN 1 AND 3 AND LO_QUANTITY < 25; Q1.2 SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue FROM lineorder_flat WHERE DATE_FORMAT(LO_ORDERDATE, '%Y%m') = '199401' AND LO_DISCOUNT BETWEEN 4 AND 6 AND LO_QUANTITY BETWEEN 26 AND 35; Q1.3 SELECT sum(LO_EXTENDEDPRICE * LO_DISCOUNT) AS revenue FROM lineorder_flat WHERE WEEK(LO_ORDERDATE) = 6 AND DATE_FORMAT(LO_ORDERDATE, '%Y') = '1994' AND LO_DISCOUNT BETWEEN 5 AND 7 AND LO_QUANTITY BETWEEN 26 AND 35; Q4.3 SELECT DATE_FORMAT(LO_ORDERDATE, '%Y') AS year, S_CITY, P_BRAND, sum(LO_REVENUE - LO_SUPPLYCOST) AS profit FROM lineorder_flat WHERE S_NATION = 'UNITED STATES' AND (DATE_FORMAT(LO_ORDERDATE, '%Y') = '1997' OR DATE_FORMAT(LO_ORDERDATE, '%Y') = '1998') AND P_CATEGORY = 'MFGR#14' GROUP BY year, S_CITY, P_BRAND ORDER BY year ASC, S_CITY ASC, P_BRAND ASC; Q2.1 SELECT sum(LO_REVENUE), DATE_FORMAT(LO_ORDERDATE, '%Y') AS year, P_BRAND FROM lineorder_flat WHERE P_CATEGORY = 'MFGR#12' AND S_REGION = 'AMERICA' GROUP BY year, P_BRAND ORDER BY year, P_BRAND; © 2023 Database Technology Inc. All Rights Reserved. 25 合計 13 SQL

26.

評価SQL 実行 レスポンス時間 合計の比較 14:00:00 12:10:43 12:00:00 約1000分の1 10:00:00 08:00:00 06:00:00 03:36:04 04:00:00 約300分の1 02:00:00 0 00:00:00 MDS 索引無し © 2023 Database Technology Inc. All Rights Reserved. MDS 索引有り 26 系列4 00:00:45 HeatWave

27.

追加で作成した索引 ALTER TABLE lineorder_flat add KEY index1 (LO_DISCOUNT,LO_QUANTITY,LO_ORDERDATE_YEAR,LO_ORDERDATE_WEEK), add KEY index2 (LO_DISCOUNT,LO_QUANTITY,LO_ORDERDATE_MONTH), add KEY index4 (S_REGION,P_CATEGORY,P_BRAND,LO_ORDERDATE_YEAR), add KEY index5 (S_REGION,P_BRAND, LO_ORDERDATE_YEAR), add KEY index7 (C_REGION,S_REGION,LO_ORDERDATE_YEAR,C_NATION,S_NATION), add KEY index8 (C_NATION,S_NATION,C_CITY,S_CITY,LO_ORDERDATE_YEAR), add KEY index9 (C_CITY,S_CITY,LO_ORDERDATE_YEAR), add KEY index10 (C_CITY,S_CITY,LO_ORDERDATE_MONTH), add KEY index11 (C_REGION,S_REGION,P_MFGR,LO_ORDERDATE_YEAR,C_NATION,S_NATION,P_CATEGORY), add KEY index13 (S_NATION,P_CATEGORY,LO_ORDERDATE_YEAR,S_CITY,P_BRAND) ; © 2023 Database Technology Inc. All Rights Reserved. 27

28.

ベンチマーク各種SQLの時間の割合 100% 50% 12:10:43 00:53:10 00:54:07 40% 00:56:29 00:56:18 03:36:04 00:00:11 00:00:19 00:00:06 00:00:49 00:08:19 00:17:00 00:00:00 00:00:02 00:00:55 44.55秒 5.06秒 00:04:53 6.35秒 00:49:05 Q4.2 3.94秒 00:57:22 30% 00:59:03 20% 10% 3.48秒 00:58:44 00:49:14 Q4.3 4.43秒 Q4.1 Q3.4 Q3.3 Q3.2 Q3.1 00:57:03 3.94秒 00:57:39 5.26秒 Q2.2 00:56:52 1.87秒 Q2.1 2.96秒 Q1.3 2.12秒 1.79秒 1.70秒 1.65秒 Q1.2 00:54:36 Q2.3 01:25:11 00:55:05 00:54:16 0% MDS 索引なし © 2023 Database Technology Inc. All Rights Reserved. MDS 索引あり 28 HeatWave Q1.1

29.

ベンチマーク各種SQLの時間の割合 100% 50% 12:10:43 00:53:10 00:54:07 40% 00:56:29 00:56:18 03:36:04 00:00:11 00:00:19 00:00:06 00:00:49 00:08:19 00:17:00 00:00:00 00:00:02 00:00:55 44.55秒 5.06秒 00:04:53 6.35秒 00:49:05 Q4.2 3.94秒 00:57:22 30% 00:59:03 20% 10% 3.48秒 00:58:44 00:49:14 Q4.3 4.43秒 Q4.1 Q3.4 Q3.3 Q3.2 Q3.1 00:57:03 3.94秒 00:57:39 5.26秒 Q2.2 00:56:52 1.87秒 Q2.1 2.96秒 Q1.3 2.12秒 1.79秒 1.70秒 1.65秒 Q1.2 00:54:36 Q2.3 01:25:11 00:55:05 00:54:16 0% MDS 索引なし © 2023 Database Technology Inc. All Rights Reserved. MDS 索引あり 29 HeatWave Q1.1

30.

評価SQL 実行 レスポンス時間 合計の比較 14:00:00 12:10:43 12:00:00 約1000分の1 10:00:00 08:00:00 06:00:00 03:36:04 04:00:00 約300分の1 02:00:00 0 00:00:00 MDS 索引無し © 2023 Database Technology Inc. All Rights Reserved. MDS 索引有り 30 系列4 00:00:45 HeatWave

31.

LIKE検索 全文検索  青空文庫のテキストデータを利用 https://github.com/aozorahack/aozorabunko_text クライアント HeatWave HeatWaveノード © 2023 Database Technology Inc. All Rights Reserved. 31 CSV MDSノード テ キ ス ト デ ー タ 取 得 文 字 コ ー ド 変・ 換 改 行 コ ー ド 変 換 テ ー ブ ル へ 挿 入 検 索 し て み る

32.

青空文庫 データCSV変換 © 2023 Database Technology Inc. All Rights Reserved. 32

33.

LIKE検索 全文検索  青空文庫のテキストデータを利用 https://github.com/aozorahack/aozorabunko_text クライアント HeatWaveノー ド © 2023 Database Technology Inc. All Rights Reserved. 33 CSV MDSノード テ キ ス ト デ ー タ 取 得 文 字 コ ー ド 変・ 換 改 行 コ ー ド 変 換 テ ー ブ ル へ 挿 入 検 索 し て み る

34.

© 2023 Database Technology Inc. All Rights Reserved. 34

35.

全文検索 LIKE検索  青空文庫のテキストデータを利用 https://github.com/aozorahack/aozorabunko_text クライアント HeatWave HeatWaveノード © 2023 Database Technology Inc. All Rights Reserved. 35 CSV MDSノード テ キ ス ト デ ー タ 取 得 文 字 コ ー ド 変・ 換 改 行 コ ー ド 変 換 テ ー ブ ル へ 挿 入 検 索 し て み る

36.

検索  有るキーワードを含むタイトル抽出  有るキーワードのヒット数  有るキーワードの作者毎出現数  有るキーワードのタイトル毎出現数 © 2023 Database Technology Inc. All Rights Reserved. 36

37.

テーブルサイズ:約1.3GB 行数:約388万行 LIKE検索 (HeatWave有効/無効)の比較 SQL応答時間 5.00 秒 4.14 秒 4.00 秒 4.15 秒 4.13 秒 3.93 秒 3.00 秒 2.00 秒 1.00 秒 0.14 秒 0.10 秒 0.13 秒 Q1 Q2 Q3 0.41 秒 0.00 秒 HeatWave無効 © 2023 Database Technology Inc. All Rights Reserved. HeatWave有効 37 Q4

38.

テーブルサイズ:約1.3GB 行数:約388万行 LIKE検索(HeatWave有効)と全文検索の比較 SQL応答時間 0.50 秒 0.41 秒 0.40 秒 0.30 秒 0.20 秒 0.14 秒 0.13 秒 0.10 秒 0.10 秒 0.02 秒 0.01 秒 0.01 秒 0.01 秒 Q1 Q2 Q3 Q4 0.00 秒 HeatWave有効 LIKE検索 © 2023 Database Technology Inc. All Rights Reserved. HeatWave無効 全文検索 38

39.

無理やりHeatwave利用  HeatWave での実行が選択されなかったSQLを HeatWaveで実行する! © 2023 Database Technology Inc. All Rights Reserved. 39

40.

無理やりHeatwave利用  ヒント句 /*+ SET_VAR(use_secondary_engine=FORCED) */ を利用する  実行時 HeatWaveが利用されないSQLを利用する ※確認は EXPLAINで RAPIDエンジンが使われて いるかどうかで行う 結果: HeatWaveを利用したほうが 遅かった © 2023 Database Technology Inc. All Rights Reserved. 40

41.

© 2023 Database Technology Inc. All Rights Reserved. 41

42.

比較をやってみて  実際に自分の目で条件を把握した上で速さが実感できた  ちょっとした思いつきで条件を変えて試すことが出来た  ここには載せられない結果も試すことが出来た(意味がない検証 が・・・) © 2023 Database Technology Inc. All Rights Reserved. 42

43.

御清聴ありがとうございました © 2023 Database Technology Inc. All Rights Reserved. 43