Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[HeatWavejp Meetup #01] AWSから 分析基盤を移行!その理由と効果 [鈴木 誠司 氏(ファンコミュニケーションズ)]

[HeatWavejp Meetup #01] AWSから 分析基盤を移行!その理由と効果 [鈴木 誠司 氏(ファンコミュニケーションズ)]

HeatWavejp Meetup #01 「MySQL HeatWave とは何か?」(2023/04/25 開催)の講演資料です。

【講演内容】
◆ユーザー事例紹介◆ AWSから分析基盤を移行!その理由と効果

約2万社の広告を300万のサイトに24時間365日配信するアフィリエイト・ネットワークサービス「A8.net」を提供しています。
従来使用していたAWS環境で生じていたデータベースの課題解決として、OCIへの移行を実施。 基幹データベースとして Autonomous Database 分析基盤としてMySQL HeatWave Database Service を採用しました。
今回は、AWS Aurora から MySQL HeatWave へ移行した理由とその効果を中心にお話します。

【発表者】
鈴木 誠司 氏
株式会社ファンコミュニケーションズ A8事業部 システム運用課 Tech Lead

【イベント情報】
HeatWavejp Meetup #01
https://heatwavejp.connpass.com/event/276817/

More Decks by HeatWavejp(MySQL HeatWave Japan User Group)

Other Decks in Technology

Transcript

  1. システム構成 自社データセンター アプリケーション郡 (管理系) 他社SaaS (顧客管理等) 自社拠点 分析ツール AWS A8.net

    基幹システム 分析基盤 アプリケーション群 RDS for Oracle Amazon Aurora データ連携 プロジェクト HeatWaveに変更 Amazon Redshift データ連携
  2. 開発者側の要件がかなり厳しく 実現に苦戦していた • 開発者側の要件 • 現行だと1年分のデータしか検索対象にできなかったが、もっと対象期間を長くした い • 数億あるレコードから、複数の条件で検索したい(応答要件1桁秒) •

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

    数億あるレコードから、数百万件を検索し、集計したい(応答要件2桁秒前半) • また、これらを1つのテーブルで実現したい(テーブル分割・DB分割不可) • MySQLでやりたい • Aurora(MySQL)のみで、構築すると不具合が出てしまっていた • 当社が持つデータ設計・シャーディングなどでも、予算内での要件を満たすことが難 しかった • 複雑な構造になって、通常のMySQLコマンドまで数秒では返ってこなくなった • チューニングするのにも時間を要していた上に、効果が得られていなかった OCIユーザ会で 「HeatWave」の存在を知る https://fullenergy-oci.connpass.com/
  4. スペック • 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
  5. Redshiftからのデータ流し込みには苦戦した • Redshiftからのデータ流し込みに苦労した • Aurora(MySQL)時代は、パフォーマンスが出ていないため 全件ロードできていなかった • HeatWaveに移行後は、パフォーマンスが出てきたので Redshiftから全件ロードした •

    これが、めちゃくちゃ大変で数日間Redshiftを起動しっぱなしで 移行したため、普段コストの倍かかった。。。 (Redshiftはコスト高なので、普段は夜間停止している) MySQL Database Service with HeatWave Amazon Redshift
  6. とにかく速くなった • Auroraでは • テーブル設計が甘い(当社の設計) • シャーディングしても辛い • DBインスタンスサイズを上げるしか無い サイズアップしても、要件を満たすのが大変

    (性能・予算) • HeatWaveなら • このままの状態でも!予算の範囲内で実現 • 数秒で結果を返すことを実現するプロダクト 60秒以上もしく は実行できない クエリもあった どのクエリも 10秒以内で実行可能 Aurora HeatWave 最大10倍の性能向上を 予算の範囲内で実現
  7. 費用は? • 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月の請求レート
  8. 新しいシステム構成 自社データセンター アプリケーション郡 (管理系) 他社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
  9. 補足 • すでにMySQLを利用しているシステムでは 移行性も高く、選択肢として検討してみることをおすすめします • MySQL → MySQL Database Service

    – HeatWave • 今回の実績をもとに他システムも移行を検討しています • まずは、データベースに詳しくなくても使えます • チューニングの学習コストを払っている時間がない場合など、 急ぎのパフォーマンス向上が期待できると考えています
  10. まとめ • 今回は、新しいサービスの厳しい要件を満たすために 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/