Slide 1

Slide 1 text

AWSから 分析基盤を移行!その理由と効果 HeatWavejp 株式会社ファンコミュニケーションズ A8事業部 システム運用課 Tech Lead 鈴木 誠司

Slide 2

Slide 2 text

おことわり この資料で述べられている 内容・検証結果はあくまで、 2023年4月現在の情報で、 クラウドサービスは常に進化している ので、この限りではありません

Slide 3

Slide 3 text

自己紹介 • 鈴木 誠司 • 株式会社ファンコミュニケーションズ A8事業部 システム運用課 TechLead • 2011年入社 • A8->情シス->A8 @snicker_jp blog

Slide 4

Slide 4 text

今日話すこと • 担当するサービス「A8.net」について • サービスの紹介 • サービスの規模感 • システム構成 • 分析基盤にHeatWaveを採用したことについて

Slide 5

Slide 5 text

「A8.net」について エーハチドットネット

Slide 6

Slide 6 text

「A8.net」とは? • 株式会社ファンコミュニケーションズが提供する 成果報酬型広告サービス • 「アフィリエイト広告」のサービスプロバイダ • 2000年サービス提供開始

Slide 7

Slide 7 text

システム構成 自社データセンター アプリケーション郡 (管理系) 他社SaaS (顧客管理等) 自社拠点 分析ツール AWS A8.net 基幹システム 分析基盤 アプリケーション群 RDS for Oracle Amazon Aurora データ連携 プロジェクト HeatWaveに変更 Amazon Redshift データ連携

Slide 8

Slide 8 text

今日話すこと • 担当するサービス「A8.net」について • サービスの紹介 • サービスの規模感 • システム構成 • 分析基盤の移行について

Slide 9

Slide 9 text

今回のシステム概要 • 広告成果のレポーティング • 現行とは別で新機能としてリリース • 現行のA8レポートにない機能を盛り込む • 多角化されたレポートの提供を目標としている • いろんな切り口での、フィルタや検索

Slide 10

Slide 10 text

開発者側の要件がかなり厳しく 実現に苦戦していた • 開発者側の要件 • 現行だと1年分のデータしか検索対象にできなかったが、もっと対象期間を長くした い • 数億あるレコードから、複数の条件で検索したい(応答要件1桁秒) • 数億あるレコードから、数百万件を検索し、集計したい(応答要件2桁秒前半) • また、これらを1つのテーブルで実現したい(テーブル分割・DB分割不可) • MySQLでやりたい • Aurora(MySQL)のみで、構築すると不具合が出てしまっていた • 当社が持つデータ設計・シャーディングなどでも、予算内での要件を満たすことが難 しかった • 複雑な構造になって、通常のMySQLコマンドまで数秒では返ってこなくなった • チューニングするのにも時間を要していた上に、効果が得られていなかった

Slide 11

Slide 11 text

開発者側の要件がかなり厳しく 実現に苦戦していた • 開発者側の要件 • 現行だと1年分のデータしか検索対象にできなかったが、もっと対象期間を長くした い • 数億あるレコードから、複数の条件で検索したい(応答要件1桁秒) • 数億あるレコードから、数百万件を検索し、集計したい(応答要件2桁秒前半) • また、これらを1つのテーブルで実現したい(テーブル分割・DB分割不可) • MySQLでやりたい • Aurora(MySQL)のみで、構築すると不具合が出てしまっていた • 当社が持つデータ設計・シャーディングなどでも、予算内での要件を満たすことが難 しかった • 複雑な構造になって、通常のMySQLコマンドまで数秒では返ってこなくなった • チューニングするのにも時間を要していた上に、効果が得られていなかった OCIユーザ会で 「HeatWave」の存在を知る https://fullenergy-oci.connpass.com/

Slide 12

Slide 12 text

MySQL Database Service - HeatWave * 日本オラクル資料より MySQLの後ろで インメモリデータ分析エンジンである 「HeatWave」が稼働

Slide 13

Slide 13 text

OCIjpで知って、社内で展開 https://www.youtube.com/watch?v=jXexICBzlLA https://www.youtube.com/watch?v=TIC7UvKLFDE https://speakerdeck.com/oracle4engineer/heatwaveru-men • いろいろ見た 自分なりに 理解してから 社内展開した コロナ禍で イベント オンライン配信されてて 日本語最新情報手に入れるのに助かった

Slide 14

Slide 14 text

スペック • Aurora(MySQL) • 構成(移行前) • db.r5.xlarge(vCPU4,Mem32GB) • Storage 4TB • MySQL Database Service - HeatWave • 構成 • MySQL.HeatWave.VM.Standard.E3 • CPU Core Count 16 • Memory 512GB • Storage 4TB

Slide 15

Slide 15 text

MySQLとの互換性がありがたかった • Embulkを使った 他DB(Oracle,Redshift)からのデータロード • embulk-output-mysqlがそのまま使えた • アプリケーションからの接続 • 接続先を変更するだけ

Slide 16

Slide 16 text

Auroraからの移行は、簡単だったが • Aurora(MySQL)から移行 • mysqldumpでダンプファイル作成 • ダンプファイルをインポート 以上 MySQL Database Service with HeatWave Amazon Aurora

Slide 17

Slide 17 text

Redshiftからのデータ流し込みには苦戦した • Redshiftからのデータ流し込みに苦労した • Aurora(MySQL)時代は、パフォーマンスが出ていないため 全件ロードできていなかった • HeatWaveに移行後は、パフォーマンスが出てきたので Redshiftから全件ロードした • これが、めちゃくちゃ大変で数日間Redshiftを起動しっぱなしで 移行したため、普段コストの倍かかった。。。 (Redshiftはコスト高なので、普段は夜間停止している) MySQL Database Service with HeatWave Amazon Redshift

Slide 18

Slide 18 text

ようやく準備はできた 検証してみよう!

Slide 19

Slide 19 text

とにかく速くなった • Auroraでは • テーブル設計が甘い(当社の設計) • シャーディングしても辛い • DBインスタンスサイズを上げるしか無い サイズアップしても、要件を満たすのが大変 (性能・予算) • HeatWaveなら • このままの状態でも!予算の範囲内で実現 • 数秒で結果を返すことを実現するプロダクト 60秒以上もしく は実行できない クエリもあった どのクエリも 10秒以内で実行可能 Aurora HeatWave 最大10倍の性能向上を 予算の範囲内で実現

Slide 20

Slide 20 text

費用は? • Aurora(MySQL) • 構成(移行前) • db.r5.xlarge(vCPU4,Mem32GB) • Storage 4TB • コスト:$1619.27x135円=218601.45円/月 • HeatWave • 構成 • MySQL.HeatWave.VM.Standard.E3 • CPU Core Count 16 • Memory 512GB • Storage 4TB • コスト:63,138.82(クラスターノード) + 31,569.41(MDS) + 19,200.00(ストレージ)= 113908.23円/月 218601.45円/月 113908.23円/月 Aurora HeatWave 当社の環境では 約48%コスト削減 AWSは1ドル135円は2023年3月の請求レート

Slide 21

Slide 21 text

新しいシステム構成 自社データセンター アプリケーション郡 (管理系) 他社SaaS (顧客管理等) 自社拠点 分析ツール AWS A8.net 基幹システム アプリケーション群 OCI A8.net 基幹システム 分析基盤 Autonomous Database MySQL Database Service with HeatWave データ連携 自社データセンター アプリケーション郡 (管理系) 他社SaaS (顧客管理等) 自社拠点 分析ツール AWS A8.net 基幹システム 分析基盤 アプリケーション群 RDS for Oracle Amazon Aurora データ連携 Amazon Redshift データ連携 Amazon Redshift

Slide 22

Slide 22 text

補足 • すでにMySQLを利用しているシステムでは 移行性も高く、選択肢として検討してみることをおすすめします • MySQL → MySQL Database Service – HeatWave • 今回の実績をもとに他システムも移行を検討しています • まずは、データベースに詳しくなくても使えます • チューニングの学習コストを払っている時間がない場合など、 急ぎのパフォーマンス向上が期待できると考えています

Slide 23

Slide 23 text

まとめ • 今回は、新しいサービスの厳しい要件を満たすために Oracle Cloud Infrastructureで提供されている 先進的なHeatWaveサービスを活用しました ・今はAWSにもHeatWaveあるらしい #1 • MySQLの利用感そのままで、とにかく速くなります • 体感できるほどです ※当社データの場合 • 当社の性能要件では、他社MySQLクラウドサービスよりも コストパフォーマンスが良かったです • HeatWaveは圧倒的です(on OCI) • MySQL開発元の安心感 • MySQLもHeatWaveもOracle社が開発している安心感 #1 https://www.oracle.com/jp/news/announcement/mysql- heatwave-on-aws-2022-09-12/

Slide 24

Slide 24 text

おまけ 事例化ページがあるので よろしければ参照いただければと 思います https://www.oracle.com/customers/fan comi/

Slide 25

Slide 25 text

ご静聴ありがとうございました 何かの参考になれば幸いです