はじめに

みなさん、こんにちは。
Oracle Cloud Infrastructure 検証チームです。

今回は、OCIの入門編チュートリアルにもある MySQLで高速分析を体験するを実際に検証し、構築してみましたのでご紹介したいと思います。

2023年1月に同じチュートリアルにあるクラウドでMySQL Databaseを使うを検証した記事も投稿してますので、まだ見ていないという方は先にそちらもご覧ください。

 

前回記事はこちら!
OCIでMySQL Database Service(MDS)を作成してみました。

MySQL HeatWaveとは

MySQL HeatWave(以後HeatWave)は、
MySQL Database Serviceの拡張機能で、検索処理を高速化できるクエリーアクセラレーターです

今回、構築検証するHeatWaveの構成図は以下のようになります。

HeatWaveには以下のような特徴があります。

  • インメモリで超並列処理を実現し、分析系のSQLも高速に実行できる
  • MySQL 8.0ベースのサービスとなっていますので、今までMySQLで実行していたSQLをそのまま使える
  • オンプレミスや他社クラウド環境のMySQLのデータとシームレスに連携しETL不要かつリアルタイムでデータ同期ができる

    MySQL HeatWave構築時の注意事項

HeatWaveを構成する前に、使用する環境のサービスリミットを確認し、後述する最小構成を満たしていることが必要です。

サービスリミットが最小構成を満たしてい無い場合は、事前にサービスリミットの引上げ申請を出す必要があります。

  1. コンソール左上のメニューをクリックしてメニューを表示し、一番下までスクロールします。
    ガバナンス → 制限、割当ておよび使用状況 をクリックします。
  2. サービスは MySQL 、スコープは XXXX:AP-TOKYO-1-AD-1 を選択します(東京リージョンを使用している場合)。”XXXX”部分は固有の文字列になります。リソースは MySQL Database for HeatWave VM.Standard.E3 Nodes Count MySQL HeatWave VM.Standard.E3 Nodes Count を選択します。表示された MySQL Database for HeatWave VM.Standard.E3 Nodes Count が1以上、ySQL HeatWave VM.Standard.E3 Nodes Count が2以上になっていることを確認します。
  3. サービスリミットが最小構成を満たしていない場合は、右上のサービス制限の引上げリンクをクリックし、必要事項を記入して リクエストの送信 ボタンをクリックすることでサービス制限の引上げリクエストを登録できます。

作成してみた

前提として、今回使用するVCNとインスタンスは、すでに作成してあります。

今回の検証の流れは以下の通りです。

  1. MDSの作成
    MDSとはOracle MySQL Database Serviceの略です。
    OCI内にデプロイされた完全に管理されたデータベース・サービスで、セキュアなクラウドネイティブ・アプリケーションを迅速にデプロイしようとするオペレータおよび開発者をサポートします。
  2. MySQL HeatWaveノードの構成(HeatWaveノードの追加)
  3. セキュリティリストの修正(イングレス・ルールの追加)
  4. MySQLクライアントのインストール
  5. サンプルデータベースの構築
  6. HeatWaveへのデータのロード
  7. HeatWaveの確認

MDSの作成

  1. OCIコンソール画面の左上のメニューを展開し「データベース」>「DBシステム」を選択します。

  2. 「DBシステムの作成」を選択します。
  3. 立ち上がった MySQL DBシステムの作成 ウィンドウで以下の項目を入力します。
    • デフォルトの設定・・・
      今回は検証ですので、「開発またはテスト」を選択します。
    • コンパ―トメントに作成・・・
      作成するコンパ―トメントを指定します。
    • 名前・・・
      任意の名前を入力します。ここでは「HeatWave」と入力しています。
    • 説明・・・
      このMDSの説明を入力します。ここでは「ハンズオン用」と入力しています。(入力は任意です)

    • DBシステム・・・
      「スタンドアロン」、「高可用性」の2種類から選択できます。ここでは「スタンドアロン」を選択しています。
    • MySQL HeatWaveの構成・・・
      今回の目玉です。チェックを入れます。

    • ユーザー名・・・
      MySQL Databaseの管理者ユーザーのユーザー名を指定します。ここでは「root」と入力しています。
    • パスワード・・・
      MySQL Databaseの管理者ユーザーのパスワードを指定します。パスワードは8文字から32文字までの長さで、大文字、小文字、数字および特殊文字をそれぞれ1つ以上含める必要があります。
    • パスワードの確認・・・
      パスワードを再入力します。

    • 仮想クラウド・ネットワーク・・・
      事前作成済みのVCNを選択します。(画像はTutorialVCN)
    • サブネット・・・
      事前作成済みのVCNを選択します。(画像はTutorialVCN(リージョナル))

    • シェイプの選択・・・
      「シェイプの変更」をクリックして、より高スペックなシェイプを選択できます。
    • データ・ストレージ・サイズ(GB)・・・
      ストレージサイズを変更できます。(画像は1000GB)


    MySQL.HeatWave.VM.Standard.E3を選択します。

    • 自動バックアップの有効化・・・
      選択することで、自動バックアップを有効化します。
    • バックアップ保持期間・・・
      バックアップを格納する長さを指定できます(日単位)。自動バックアップの保存期間を定義した後は、編集することはできません。
    • ポイント・イン・タイム・リストアを有効にします・・・
      選択することで、特定の時点でDBシステムを新しいDBシステムにリストアできるようにするオプションを有効化します。
    • バックアップ・ウィンドウの選択・・・
      選択することで、「ウィンドウの開始時間」を指定することができます。選択しない場合は、自動で定義されます。

    • 削除保護・・・
      DBシステムを削除操作から保護します。DBシステムを削除できるようにするには、このオプションを無効にします。デフォルトでは、DBシステムは削除保護されていません。
    • 自動バックアップの保持・・・
      DBシステムを削除した後に自動バックアップを保持します。デフォルトでは、DBシステムを削除すると自動バックアップが削除されます。
    • 最終バックアップが必要・・・
      DBシステムを削除する前に最終バックアップを作成します。デフォルトでは、最終バックアップは作成されません。

    • 構成の選択・・・
      「構成の選択」をクリックすることで、事前に作成した構成を適用することが出来ます。事前に構成を作成することで、MDSで変更可能なパラメータを変更できます。

    • クラッシュ・リカバリの有効化・・・
      予期しないサーバー・イグジットが発生した場合にDBシステムをデータ損失から保護します。これを無効にすると、大規模なデータ・インポートのパフォーマンスが向上します。
      ※無効にした場合、自動バックアップも無効になります。

    • メンテナンス・ウィンドウの開始時間・・・
      オペレーティング・システムやMySQLインスタンスのアップグレードなどのメンテナンス・アクティビティをスケジュールする日時(UTCタイムゾーン)を指定します。
      日時を指定しない場合は、Oracleによって選択されます。

    • ホスト名・・・
      任意の名前を入力します。ここでは「HeatWave」と入力しています。
    • IPアドレス・・・
      プライベートIPアドレスを定義して、DBシステムのエンドポイントに割り当てます。アドレスは、サブネットのCIDRで使用可能である必要があります。
      アドレスを指定しない場合は、サブネットからプライベートIPアドレスが自動的に割り当てられます。
    • MySQLポート・・・
      サーバーがリスニングするポートを指定します。MySQLポートのデフォルト値は「3306」です。
    • MySQL Xプロトコル・ポート・・・
      MySQLシェルなどのクライアントでサポートされているポートを指定します。ポートのデフォルト値は「33060」です。

    • PARソースURL・・・
      事前認証済リクエスト(PAR)を使用してオブジェクト・ストレージ・バケット内のMySQLシェル・ダンプからデータをインポートします。

    • タグネームスペース・・・
      タグ名を選択します。
    • タグ・キー・・・
      タグ・キーを選択します。
    • タグ値・・・
      タグの値を指定します。

  4. MDSが作成中になるのでしばらく待ちます。(概ね15分)

    MDSの作成が完了するとアイコンが緑色に変化し、作成中からアクティブへ変化します。
  5. ページ左下の リソース → エンドポイント をクリックして、ホスト名、IPアドレスを確認しておきます。

    これでMDSの作成は完了です!

MySQL HeatWaveの構成(HeatWaveノードの追加)

続いて、作成したMDSにHeatWaveノードを追加していきます。

  1. HeatWaveクラスタ情報の確認
    クラスタが存在しないことを確認し、「HeatWaveクラスタの追加」を選択します。
  2. シェイプの変更を選択します。
  3. 「MySQL HeatWave VM Standard E3」を選択します。
  4. 今回はノード数は2で作成していきます。
  5. クラスタが作成中になるのでしばらく待ちます。(概ね10分)

    クラスタの作成が完了するとアイコンが緑色に変化し、作成中からアクティブへ変化します。
    これでHeatWaveノードの追加は完了です!

セキュリティリストの修正(イングレス・ルールの追加)

次は作成したMDSと通信するために、VCNセキュリティリストイングレス・ルールを追加していきます!

こちらの内容は前回の記事
OCIでMySQL Database Service(MDS)を作成してみました。
の方で詳細に説明しておりますので、そちらを参照ください。

今回は流れだけの記載とさせていただきます。

  1. OCIコンソール画面の左上のメニューを展開し「ネットワーキング」>「仮想クラウドネットワーク」を選択し、作成済みのVCNを選択します。
    ※今回はすでに「TutorialVCN」というVCNを作成しております。以降はVCNが「TutorialVCN」である前提で説明を記述していきます。
  2. プライベート・サブネット-TutorialVCNをクリックします。
  3. プライベート・サブネット-TutorialVCNのセキュリティ・リスト をクリックします。
  4. イングレス・ルールの追加 をクリックします。
  5. 先ほど指定したポートに対するイングレス・ルールが追加されたことを確認します。

    これでMDSと通信する準備が整いました!

次回に続く

今回は、OCIの入門編チュートリアルにある、MySQLで高速分析を体験する を実際に検証し、作成してみました。

次回は「4.MySQLクライアントのインストール」以降を説明します。
ここまでご覧いただきありがとうございました!
次回もよろしくお願いします!

Oracle Cloudをご検討の際は当社までお気軽にお問い合わせください。