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

[HeatWavejp Meetup #07] DWHとしてのHeatwave利用にあたっての考慮事項(機能、非機能) [gho4d76g 氏]

[HeatWavejp Meetup #07] DWHとしてのHeatwave利用にあたっての考慮事項(機能、非機能) [gho4d76g 氏]

HeatWavejp Meetup #07 「🌸祝1周年🌸 はじめてでもわかる!MySQL HeatWave 全体解剖 LT大会!!」(2024/4/11 開催)の講演資料です。

【講演内容】
DWHとしてのHeatwave利用にあたっての考慮事項(機能、非機能)

 - AWS上に構築された既存のワークロードからMySQL Heatwave Serviceを利用する上での検討事項
  ・構成の選択肢
  ・考慮事項
  ・通信のレイテンシ
  ・通信コスト
 - MySQL Heatwave Serviceの運用に関する考慮事項
  (1) MySQL Heatwave Serviceの運用管理機能
  (2) メンテナンス・コントローラビリティ
 - DWHの特性を踏まえた構成のアイデア(失敗)

【発表者】
gho4d76g 氏

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

More Decks by HeatWavejp(MySQL HeatWave Japan User Group)

Other Decks in Business

Transcript

  1. 本名: 自己紹介 山田 脩 所属: 株式会社アイル (https://www.ill.co.jp/) 主業務: 当社クラウド事業(CROSSシリ ーズ)のインフラ基盤の企画・構

    築・運用管理を通貫して担当。オ ンプレミス・AWSのハイブリッド 出典: https://www.ill.co.jp/business/ より抜粋
  2. • AWS上に構築された既存のワークロードからMySQL Heatwave Serviceを利用する上での検討事項 ◦ Heatwave on OCI vs Heatwave

    on AWS • MySQL Heatwave Serviceの運用にあたっての考慮事項 ◦ 高可用性構成を考える • 商用環境データのマイグレーション方式 • HeatWave AutoML、HeatWave Lakehouse 今日お話しすること・しないこと
  3. サービス アクセス経路 実装方法 備考 MySQL HeatWave Service (on OCI) Public

    Access (OCI) Network Load Balancer (+ NSG + SL) 引用[1] Virtual Private Network Access Site-to-Site VPN (+ NSG + SL) 引用[2] Private Access (AWS)TransitGateway- Megaport-(OCI) FastConnect 引用[3] HeatWave on AWS Public Access(Inner AWS Global Network) MySQL Enterprise Firewall Private Access AWS PrivateLink - 構成の選択肢 ※ 2024年3月末時点で、Heatwave On AWSではAWS PrivateLinkは非サポート
  4. 構成の選択肢 サービス機能 MySQL HeatWave Service MySQL HeatWave Service on AWS

    備考 ベース MySQL Enterprise Edition MySQL Enterprise Edition MDSノードシェイプ ECPU(8タイプ), OCPU(3タイ プ) AWSに最適化4タイプのシェイプ HeatWaveノードシェイプ(RAM) ECPU/OCPU(32GB, 512GB) 16GB, 256GB PITR(Point-In-Time Recovery)の サポート あり - 高可用性構成のサポート あり - 読み取りレプリカのサポート あり - ※注2 クエリエディタコンソール - あり Heatwave AutoMLコンソール - あり ※ 注: 読み取りレプリカはECPUの場合MySQL.8以上、OCUPの場合MySQL.VM.Standard.E3.4.64GB以上を選択する必要があります。
  5. • クラウド間通信におけるデータ・グラビティ(AWS⇒OCI) ◦ 通信のレイテンシ(RTT, BandWidth) ▪ OCIの可用性ゾーン内通信の水準が必要か否かを検討 ◦ 通信のコスト ▪

    主に、AWSからのアウトバウンド通信に対するコスト • 特にOCIへのデータ・ロードに係る通信(方式・コスト)を検討 ◦ (自サービスの)セキュリティ・ポリシー ▪ セキュリティホワイトペーパー等で情報資産(DB)の所在に関して謳 っている場合は改訂のための働きかけも必要 考慮事項
  6. • 一般論として ◦ MySQL Client-Server間はTCPで通信 ◦ 距離が遠い = Round Trip

    Time(RTT)に反映 通信のレイテンシ: 例 RTT(min) RTT(avg) RTT(max) Note OCIの同一FD上のコンピュー トインスタンス ⇒ MDSノー ド 0.133 0.191 8.884 ping -c 1000 Site-to-Site VPNで接続した AWS EC2インスタンス ⇒ OCI上のMDSノード 4.284 4.65 47.625 ping -c 1000 表: RTT測定値(単位ms) ※ AWS VPC、OCI VCNはいずれも東京リージョン
  7. • AWS から OCIへのクラウド間通信コスト ◦ OCI NLB経由でpublicアクセス ▪ EC2がEIPを持っている場合はアウトバウンドトラフィックに対しては 課金されないが、ワークロードをNAT

    Gateway下に収容している場合 は注意が必要 ◦ VPN/Transit Gateway経由のPrivateアクセスの場合 ▪ 通信量に応じて従量課金が発生 ◦ データ・ロードをオブジェクトストレージ経由にするなどの工 夫が必要 ▪ 分析対象のデータ鮮度とのトレードオフで判断 通信コスト:
  8. まとめ MySQL HeatWave Service on AWS を選択する判断基準 ❏ リアルタイム性の要求される大容量のデータロードまたは、更新量 の多いデータソース(Amazon

    Aurora等)からのレプリケーションが 必要か? ❏ YESの場合: ❏ データ転送コストとDBシステムのコストを加味したTCOを 精査し、コストメリットがあれば「MySQL HeatWave Service on AWS」を選択 ❏ 当社のワークロードでは「No」と判断
  9. • High-Availability ◦ 高可用性構成 ▪ MySQL InooDB Cluster (Group Replication)

    を基盤としたマネ ージドクラスタ管理機能を提供 • Scalability ◦ 読み取り用レプリカ ▪ 非同期レプリケーションを基盤としたスケーラブルなリードレプリ カノード管理機能を提供 (1) MySQL Heatwave Serviceの運用管理機能
  10. MySQL HeatWave Serviceの高可用性構成 High-Availability • MDSノードは3台構成 ◦ ランニングコストはスタンド アローンの2.5倍 •

    R/Wエンドポイント以外は隠ぺい • マルチマスター構成は制限 ◦ group_replication_single_pri mary_mode=ON • Heatwaveクラスターは共有
  11. MySQL HeatWave Serviceの高可用性構成 Scalability • MDSノード+ストレージ分のコスト • 最大18ノードまで作成可 • 読み取りエンドポイントとして、LB

    の代表エンドポイントとノード毎の エンドポイントの両方が利用可 • 別リージョンへの配置は不可 • レプリカノードの昇格は不可
  12. • メンテナンスのないシステムは存在しない ◦ マネージドなOSレイヤのセキュリティパッチ ▪ システムアップグレードのコントロール ◦ データベースエンジンのライフサイクル追従 ▪ マイナー/メジャーバージョンアップのコントール

    ◦ HeatWaveを利用する場合、構成要素が増える ▪ HeatWaveノードのメンテナンスについても考慮が必要? (2) メンテナンス・コントローラビリティ まだメンテナンス予定を受けたこ とがないので、知見のある方にご 教示いただきたく
  13. メンテナンス時の振る舞い スタンドアローン 読み取りリードレ プリカなし 読み取りリードレ プリカあり 接続を閉じてメンテナンス実行(この間サ ービスダウンタイム) レプリケーションソースのMDSノードと 同時にすべてのリードレプリカのメンテナ

    ンスを実行(この間サービスダウンタイ ム) 高可用性構成 1. セカンダリDBの1台をGroup Replixation(GR)から除去しメンテナ ンス実行しGRに戻す 2. セカンダリDBの2台目も同様 3. プライマリノードの接続を閉じてて から、セカンダリノードを昇格(こ の間サービス断) 4. 旧プライマリDBをメンテナンスして からGRに戻す / 引用[4]。 1. 読み取りレプリカを1つずつアップグ レード(2ノード以上でダウンタイム なし) 2. 以降、上の手順でMDSノードのメン テナンスを順次実行 /引用[5]
  14. Self Serviceでメンテナンスに備える • あらかじめMDSノード前段にネット ワークロードバランサを配置する必 要 ◦ エンドポイント固定 • スタンバイDBシステムを配置しレプ

    リケーションを構成 • スタンバイDBシステム側で HeatWaveクラスタを常時稼働させ るかはコストとRTOの観点で判断。 • 必要時に、サービス閉塞の上、スタ ンバイDBシステムを昇格 →LoadBalancer側で経路を切り替え
  15. • 次のような特性を備えたDWHとして運用する場合を考える ◦ Write: ▪ 書き込みタイミングをシステムによってコントロールが可能 ▪ 限られた書き込みクライアント ◦ Read:

    ▪ (サービスのユーザ―によって)アドホックに問い合わせ • コントロールは難しい ▪ クライアント数はサービストラフィック量に依存 ▪ DWHにかかるワークロードはReadが支配的 DWHの特性を踏まえた構成のアイデア(失敗)
  16. 1. Connecting to a MySQL HeatWave Database Instance Using an

    OCI Network Load Balancer 2. VPN Connection to AWS 3. Enable multicloud high availability and data protection across OCI and AWS with Megaport 4. Read replicas on MySQL Database Service 5. Maintenance of a High Availability DB System 引用