MySQL HeatWaveは、MySQLでトランザクション・ワークロードと分析ワークロードが混在している場合、または分析のためにデータを別のデータベースに移動している場合、完全に意味があります。複雑なETLパイプラインを作成してデータを移動するのではなく、組み込みの高パフォーマンスのインメモリ・クエリ・アクセラレータであるHeatWaveは、現在のアプリケーションを変更することなく、分析と混合ワークロードの桁違いにMySQLのパフォーマンスを高速化します。このサービスはMySQL Enterprise Edition上に構築されており、開発者は世界で最も人気のあるオープン・ソース・データベースを使用して、セキュアなクラウド・ネイティブ・アプリケーションを迅速に作成およびデプロイできます。
Oracleは、開発者がアプリケーションに集中できるようにMySQL HeatWaveを設計しました。OLTPとOLAPの2つのデータベースを管理する必要はありません。また、ETLの重複の複雑さ、レイテンシ、コストを発生させることなく、リアルタイムでセキュアな分析を行うことができます。MySQL HeatWaveは、バックアップ、リカバリ、データベースやオペレーティング・システムのパッチ適用などのタスクを自動化するフルマネージド・サービスです。「気にしないで、もっとくつろぎなさい!」と、言われました。MySQL HeatWaveは、OracleのMySQL開発チームによって開発およびサポートされています。
OCIを開始するには、VCNを作成し、MySQL DB Systemをデプロイし、HeatWaveクラスタを作成してデータを取得し、分析します。MySQL HeatWave on AWSを使い始めるこれにより、マルチクラウドのシナリオでMySQL HeatWaveを活用する方法がわかります。生きている時間はなんと!
最初から実際に開始して、適切なアクセス権を持つVCNを作成し、OCIでHeatWaveクラスタを作成する方法を見てみましょう。
この例では、合理化されたアプローチを使用して、HeatWaveを使用するように設定しています。
まずは基本から始めましょう!
メニュー: ホーム>ネットワーク> Virtual Cloud Networks
「Virtual Cloud Networks」→「Start VCN Wizard」→「Create a VCN with Internet Connectivity」を使用して、VCNおよびサブネットを作成します。もちろん、プライベート・サブネットも取得できます。
便利なウィザードでは、システム用のネットワーク環境の作成について説明しますが、これを構成する方法は多数ありますが、気を散らさないようにしましょう。前に設定したコンパートメントmy_heatwave_testingを選択しました。これは重要であるためです。
次に、MySQL Database Serviceポートを介したトラフィックを許可するようにVCNのセキュリティ・リストを構成します。作成したVCNのプライベート・サブネットをクリックし、そのセキュリティ・リストをクリックします。
「セキュリティの追加」リストをクリックします。
適切なポート3306および33060を有効にするために必要なイングレス・ルールをいくつか追加します。詳細はこちら:
Source CIDR: 0.0.0.0/0
Destination Port Range: 3306,33060
Description: MySQL Port
「イングレス・ルールの追加」をクリックします。
今のところよく見える!
すでに管理者である場合は、次のステップに進むことができますが、DB Systemを管理するためのアクセスも必要なOCIテナンシにユーザーを追加する場合は、ここにあります。「簡素化」の例でも許可を設定し、アクセスをいくらか制限する必要がありますが、グループの管理についての詳細はこちらを参照してください。通常、グループを作成し、ポリシーを作成し、ユーザーをグループに追加します。
アイデンティティとセキュリティのオプションについて知り合いになりましょう。
ユーザー用のグループを作成します。この例では、MySQL Adminsというグループを作成しました。
グループにユーザーを追加します。この例では、このグループに自分を追加します。
もちろん、グループの場合、必要なすべてのユーザーを最初に作成し、ユーザーが決定したレベルでアクセスが必要なユーザーをグループに追加し、適切なアクセス制御で緩やかに設定できます。
ポリシーを設定してアクセスを許可し、1つのグループにフル・アクセス(管理者)および制限付きアクセス(データベース・ユーザーなど)を持つグループを許可します。
サンプル・ポリシー:
Allow group MySQLAdmins to {SUBNET_READ, SUBNET_ATTACH, SUBNET_DETACH, VCN_READ, COMPARTMENT_INSPECT} in tenancy
Allow group MySQLAdmins to manage mysql-family in tenancy
Allow group MySQLAdmins to use tag-namespaces in tenancy
これは、コンパートメントを構成および管理し、データベース・インスタンスに適用されるアクセスのスコープを定義できるようにするだけです。
OCIでのユーザーの追加およびポリシーの設定の詳細は、このドキュメントを参照してください。
「メニュー」→「データベース」→「DBシステム」
DB Systemの作成
ユーザーやVCNなどをまだ設定していない場合は、警告メッセージが表示されます。いいね。これを作成するコンパートメントを、左側の「リスト範囲」で再度確認することを忘れないでください。「DB Systemの作成」をクリックします。
コンパートメントを再確認し、名前を指定して、HeatWaveを選択します(もちろん)。
管理資格証明を作成します。便利だが安全な場所に保存してください。
「Configure Networking」では、前に作成したVirtual Cloud Networkを使用しますが、プライベート・サブネットを使用します。デフォルトの可用性ドメインをそのままにして、「Configure Hardware」に移動します。
「Configure Hardware」セクションで、選択したシェイプが「MySQL」であることを確認します。HeatWave。VM.Standard。
また:
「バックアップの構成」セクションでは、デフォルトのバックアップ・ウィンドウを7日間そのままにしておくことができます。
スクロールしたまま、「拡張オプションの表示」をクリックします。
「ネットワーキング」タブに移動し、「ホスト名」フィールドにDB Systemの正確な名前を入力します。これにより、クラスタはDNSに登録でき、完全修飾ドメイン名(FQDN)を介してホストにアクセスできます。
ポート構成が次に対応していることを確認します。
この例では、事前認証済リクエスト(PAR)を介して使用可能になるオブジェクト・ストレージ・バケットに格納されているデータを使用して、リソース作成中にデータを自動的にインポートします。
MySQLシェルを使用してデータをロードする場合は、このステップをスキップできます。
「データ・インポート」タブを選択します。PARのURLをここに貼り付けるように求められます。オブジェクトのPAR URLは、MySQLシェル・ダンプutilityHereのociParaMifestオプションを使用して作成できるマニフェスト・ファイルである必要があります。オブジェクト・ストレージ・バケットPARまたは接頭辞PARを持つオブジェクトを使用することもできます。
試用目的でAirport-DBをインポートするために使用できるサンプル・リンクを次に示します。
https://objectstorage.us-ashburn-1.oraclecloud.com/p/zRBSs7nKURyZRcIoV4QlYhascC5gkZcJeQoBS8c2ssyEPID3PSDAnh73OMClQQH4/n/idazzjlcjqzj/b/airportdb-bucket-10282022/o/airportdb/@.manifest.json
すべてのセット...「作成」をクリックします。
今回は黄色の六角形が表示され、最終的に緑色になり、DB Systemが起動して稼働します。お茶を飲んだり、水を一杯飲んだり、たくさんのことをやった。
便利なクラウド・シェルを使用して、MySQLおよびMySQLシェルに接続します。これは、OCIダッシュボードに埋め込まれたLinux端末です(そして、可愛いです)。右上隅のCloud Shellプロンプト・アイコンをクリックすると、ブラウザの下部にコマンドラインが開きます。前に作成したVCNを選択して、クラウド・シェルのプライベート・ネットワーク設定を構成してください。
MySQLシェルはすでにインストールされています。
HeatWave互換のDB Systemを作成したら、MySQLシェルを使用して接続します。
mysqlsh --host <dbsystemendpointipaddress> -u <username> -p</username></dbsystemendpointipaddress>
MySQLシェルについてさらに学習できます。
データベース・システムの接続の詳細。
PARオプションを使用してリソース作成時にデータをインポートすることを選択した場合は、このステップをスキップできます。それ以外の場合は、AirportDBのインポート(PDF)に進むことができます。
クラウド・シェルで:
wget https://downloads.mysql.com/docs/airport-db.tar.gz
tar xvzf airport-db.tar.gz
これにより、データファイルを含むairport-dbという名前の単一ディレクトリが作成されます。
MySQLシェルを起動し、MySQL DB Systemエンドポイントに接続します:
mysqlsh _Username@DBSystem_IP_Address_or_host_Name
プロンプトが表示されたら、前に指定した管理パスワードを入力します。接続したら、ダンプ・ロード・ユーティリティを使用してデータをインポートします。
MySQL>JS> util.loadDump("airport-db", {threads: 16, deferTableIndexes: "all", ignoreVersion: true})
インポートには数分かかるので、すぐに作業を進めることができます。
HeatWaveはビッグ・データ・セット用に設計されているため、高速な分析が必要であるため、単なるサンプル・データベースをインポートする場合でも、必要なだけロードできます(ストレージを割り当てた場合)。さらに、問合せは、別のデータベースにオフロードせずにクラスタで実行できます。クラスタの作成には数分かかる場合があります。
開始するには、OCIコンソールで「データベース」>「DBシステム」のDB Systemに移動し、最近作成したDB Systemをクリックします。
「リソース」の下には、HeatWave (その他の便利なアイテム)が表示されます。これをクリックします。
もちろん、HeatWaveクラスタを追加するか(右側のボタン、ページの中間部分を使用)、上部の「More actions」メニューをクリックして「Add Heatwave cluster」を選択します。デフォルト(512GB RAMと1ノードを備えた16 CPUコア)をそのまま使用し、ボタンをクリックしてHeatWaveクラスタを追加します。
これには数分かかるため、クラスタがスピンアップしている間にその飲料を再ヒートできます。
最後に、面白い部分!HeatWaveクラスタが実行されると、次のようになります。
$> mysqlsh Username@DBSystem_IP_Address_or_Host_Name
MySQL>JS> \sql
MySQL>SQL> USE airportdb;
Default schema set to `airportdb`.Fetching table and column names from `airportdb` for auto-completion... Press ^C to stop.`
MySQL>SQL> call sys.heatwave_load(JSON_ARRAY(“airportdb”), NULL);
ここで、"プレーン・バニラ"のMySQL DB Systemの使用にかかる時間を見てみましょう。これを行うには、use_secondary_engine変数を無効にします。
これまでのOCIでの作業はすべて、MySQL用のポートを備えたVirtual Cloud Networkの設定、MySQLデータベースの設定、およびHeatWaveクラスタの追加です。その後、いくつかのテスト・データをインポートし、いくつかの問合せを実行して、HeatWaveとDB Systemの速度を独自に確認しました。
さらに知りたいですか?公開Slackチャネルのディスカッションにご参加ください。
このページは機械翻訳したものです。