目次
はじめに
みなさん、こんにちは。
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を構成する前に、使用する環境のサービスリミットを確認し、後述する最小構成を満たしていることが必要です。
サービスリミットが最小構成を満たしてい無い場合は、事前にサービスリミットの引上げ申請を出す必要があります。
- コンソール左上のメニューをクリックしてメニューを表示し、一番下までスクロールします。
ガバナンス → 制限、割当ておよび使用状況 をクリックします。
- サービスは 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以上になっていることを確認します。
- サービスリミットが最小構成を満たしていない場合は、右上のサービス制限の引上げリンクをクリックし、必要事項を記入して リクエストの送信 ボタンをクリックすることでサービス制限の引上げリクエストを登録できます。
作成してみた
前提として、今回使用するVCNとインスタンスは、すでに作成してあります。
今回の検証の流れは以下の通りです。
- MDSの作成
MDSとはOracle MySQL Database Serviceの略です。
OCI内にデプロイされた完全に管理されたデータベース・サービスで、セキュアなクラウドネイティブ・アプリケーションを迅速にデプロイしようとするオペレータおよび開発者をサポートします。 - MySQL HeatWaveノードの構成(HeatWaveノードの追加)
- セキュリティリストの修正(イングレス・ルールの追加)
- MySQLクライアントのインストール
- サンプルデータベースの構築
- HeatWaveへのデータのロード
- HeatWaveの確認
MDSの作成
- OCIコンソール画面の左上のメニューを展開し「データベース」>「DBシステム」を選択します。
- 「DBシステムの作成」を選択します。
- 立ち上がった 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シェル・ダンプからデータをインポートします。
- タグネームスペース・・・
タグ名を選択します。 - タグ・キー・・・
タグ・キーを選択します。 - タグ値・・・
タグの値を指定します。
- デフォルトの設定・・・
- MDSが作成中になるのでしばらく待ちます。(概ね15分)
MDSの作成が完了するとアイコンが緑色に変化し、作成中からアクティブへ変化します。
- ページ左下の リソース → エンドポイント をクリックして、ホスト名、IPアドレスを確認しておきます。
これでMDSの作成は完了です!
MySQL HeatWaveの構成(HeatWaveノードの追加)
続いて、作成したMDSにHeatWaveノードを追加していきます。
- HeatWaveクラスタ情報の確認
クラスタが存在しないことを確認し、「HeatWaveクラスタの追加」を選択します。
- シェイプの変更を選択します。
- 「MySQL HeatWave VM Standard E3」を選択します。
- 今回はノード数は2で作成していきます。
- クラスタが作成中になるのでしばらく待ちます。(概ね10分)
クラスタの作成が完了するとアイコンが緑色に変化し、作成中からアクティブへ変化します。
これでHeatWaveノードの追加は完了です!
セキュリティリストの修正(イングレス・ルールの追加)
次は作成したMDSと通信するために、VCNのセキュリティリストにイングレス・ルールを追加していきます!
こちらの内容は前回の記事
OCIでMySQL Database Service(MDS)を作成してみました。
の方で詳細に説明しておりますので、そちらを参照ください。
今回は流れだけの記載とさせていただきます。
- OCIコンソール画面の左上のメニューを展開し「ネットワーキング」>「仮想クラウドネットワーク」を選択し、作成済みのVCNを選択します。
※今回はすでに「TutorialVCN」というVCNを作成しております。以降はVCNが「TutorialVCN」である前提で説明を記述していきます。
- プライベート・サブネット-TutorialVCNをクリックします。
- プライベート・サブネット-TutorialVCNのセキュリティ・リスト をクリックします。
- イングレス・ルールの追加 をクリックします。
- 先ほど指定したポートに対するイングレス・ルールが追加されたことを確認します。
これでMDSと通信する準備が整いました!
次回に続く
今回は、OCIの入門編チュートリアルにある、MySQLで高速分析を体験する を実際に検証し、作成してみました。
次回は「4.MySQLクライアントのインストール」以降を説明します。
ここまでご覧いただきありがとうございました!
次回もよろしくお願いします!
Oracle Cloudをご検討の際は当社までお気軽にお問い合わせください。