クラウドを活用してアプリケーションを開発するのは当たり前になったが、クラウドベンダーが提供する特定の機能を使って開発したアプリケーションは基本的にそこでしか使えない。「実質的なベンダーロックイン」を回避する方法はあるのか。
日本オラクルは2023年5月、オンラインで開催された「MySQL HeatWave技術アップデート・セミナー」にて、「MySQL HeatWave」に関する最新情報を紹介した。
オラクルは3つの形態(コミュニティー版ソフトウェア、商用版ソフトウェア、マネージドサービス)でMySQLを提供している。どの形態においても同じバージョンをオンプレミスとクラウドで利用できる点が特徴で、その柔軟性の高さからさまざまな企業で利用されている。「データベースは自社で運用したいが、インフラはクラウドを使いたい」といった要望にも「MySQL Enterprise Edition」で対応。その他、Kubernetesクラスタ上の環境でMySQLを運用するための製品もリリースしている。
そういったMySQL関連製品、サービスの中で注目されているのがMySQL HeatWaveだ。オラクルのMySQL技術チームが開発しているマネージドサービスで、オラクルが進めている「マルチクラウド戦略」の一環として展開されており、「Microsoft Azure」(Azure)や「Amazon Web Services」(AWS)などとの連携を強めている。サブスクリプションによるサポートサービスに加えて、セキュリティ機能の拡張もでき、例えばファイアウォール機能を拡張して「SQLインジェクションをデータベースレベルで防ぐ」といったことも可能だ。
MySQL HeatWaveの最大の特徴はその“処理能力の高さ”にある。
「MySQLをベースにしているので互換性がある」とうたっているサービスはオラクル以外の企業からも提供されているが、それらとMySQL HeatWaveの違いは何か。日本オラクルの梶山隆輔氏(MySQLソリューション エンジニアリングディレクター)は例として「ベースとなるMySQLが異なること」を挙げる。
「オラクル以外の企業が提供する“MySQLに互換性があると称しているサービス”は、ほとんどがコミュニティー版(無料版)をベースに各企業で独自の改変を加えていると考えられる。コミュニティー版のMySQLは同時に来た命令をまとめて処理しようとするため、繁忙期など件数が増えてくると、急に動作が遅くなったり、止まったりしているような状態に陥ることがある」(梶山氏)
MySQL Enterprise EditionやMySQL HeatWaveには競合状態を防ぐ“スレッドプール”の仕組みがあるため、こうした速度低下は起きにくいという。梶山氏は「データベースをMySQL HeatWaveに切り替えることで、簡単に性能を高められる」と話す。
MySQL HeatWaveは「更新系」「分析系」「機械学習による予測処理系」を1つのデータベースで実現する。また、オブジェクトストレージのデータと連携してデータ分析環境を構築することも可能だ。
更新系と分析系のデータベースが分かれている場合、間をつなぐETL(Extract、Transform、Load)のツールが必要になる。ツールの費用や開発の時間、データ連携の調整にかかる手間などその影響は大きい。一方、データベースが1つであれば、ETLツールやそれに付随する作業は不要で、登録されたデータに対し、即座に分析クエリを実行できる。梶山氏は「データを移動する必要がないのでセキュリティ面のメリットも大きい」と語る。
アプリケーション側から見ると、データ分析処理は「MySQLサーバに対してSQLクエリを入力するだけ」だ。重い処理が実行された場合は、内蔵のオプティマイザーが自動的に外部の「HeatWaveノード」にデータを送って並列処理を実行する。分析結果はMySQLサーバに戻されるため、複雑な分析でも高速な処理が可能だ。
MySQL HeatWaveでのデータ分析処理が高速な理由は、この“HeatWaveノードのインメモリデータベース”によるところが大きい。梶山氏によると、オラクルの研究部門ではメモリ上の分析処理技術について長年研究しており、MySQL HeatWaveはそれを活用している。分析処理に最適なカラムナーデータベースの構造を構築し、複数のノードで分散処理できる仕組みになっている。
また、MySQL HeatWaveには、使うアプリケーションによって最適なデータベースの処理能力(CPUコアとメモリ容量)を診断し、最もコストパフォーマンスのよい運用をアドバイスする「自動シェイプ予測」の機能がある。ワークロードを診断し、時間経過に伴う予測をダッシュボードに表示する。単に高負荷時に処理能力を増やすだけでなく、運用の分析からオーバースペックになっている部分を削り、最適化する提案を含んでいることが特徴だ。
MySQL HeatWaveは、データを機械学習する際の効率化にも大きく寄与するという。これまで機械学習を実行する場合は、データストアからデータを取り出して学習環境に入力し、手動で「訓練、予測、説明」といった手順で進めなければいけなかった。機械学習のためのマシン環境も高性能なものが必要となり、コストもかさむ。
MySQL HeatWaveに実装されている「AutoML」は、データベース内で機械学習を完結させる仕組みになっている。機械学習のコストを大幅に削減し、内部で完結するためデータのセキュリティも保持できる。「AutoMLは、オラクルの研究開発部門が開発した技術により、機械学習のデータの前処理からモデルのチューニングまでのライフサイクルを自動化する機能を採用し、機械学習の効率化と説明可能性の確保を両立させている」と梶山氏は言う。
MySQL HeatWaveは、もともとは「OCI」(Oracle Cloud Infrastructure)のネイティブサービスとして提供されたが、前述したように各クラウドサービスとの連携も進めている。「MySQL HeatWave for Azure」はAzure上からインターコネクトを介してOCI上のMySQL HeatWaveを利用できる。
2023年5月にAWS東京リージョンでの稼働が始まった「MySQL HeatWave on AWS」はMySQL HeatWave for Azureとは違い、AWSの中に構築してあるオラクルの環境で利用できるサービスだ。ユーザーはAWSの中でインスタンスを構築してサービスを利用することになる。
ただ、すでに多くのアプリケーションをAWS上に構築しており、「AWS以外のクラウドに乗り換えることは難しい」という企業はあるだろう。また、アプリケーションはAWS、データベースはOCIという形で分離させてしまうと、AWSから外部への通信コストが膨大になるといった問題もある。MySQL HeatWave on AWSは、こうした課題を解決する。
「『MySQL HeatWaveを使ってみたいと思ったが、すでにAWS上でアプリケーションを構築してしまった』という企業にとって、MySQL HeatWave on AWSは待望のサービスだと思っている」(梶山氏)
OCIでの提供と同様、MySQL HeatWave on AWSもその高速性が強みとなっている。オラクルは独自にベンチマークテストを実施しており、その手順をGitHub上に公開している。ベンダー提供のデータをユーザー自身が追認できるように情報を公開しており、その自信の高さがうかがえる。「当社はユーザーの皆さんがテスト結果を公開してくださることを歓迎する」と梶山氏は話す。
高速性の他にもMySQL HeatWave on AWSには特徴的な機能が幾つかある。例えばデータベース内のデータのマスキング。クレジットカードの番号などに伏せ文字が使われるが、「xxxx」など表示方法や文字位置などが固定されていることが多い。MySQL HeatWave on AWSではそれらを柔軟に変更できる。梶山氏は「日本固有の要望があれば、オラクル本社の開発チームが対応するので問い合わせてほしい」と語る。
「コンソール機能」にも注目だ。機械学習処理を実施する際にSQLコマンドを入力しなくても、画面のGUIから操作できる。MySQL HeatWaveのOCI版にもない機能のため、「ビジネスユーザーの利用も見込める」(梶山氏)という。
MySQL HeatWave on AWSは2023年8月現在、米国と東京をはじめ、世界各地への展開が進められている。
もう1つ忘れてはならないのが「即座にセキュリティパッチが適用される」という特徴だ。これはMySQL HeatWave on AWSを含むMySQL HeatWave製品シリーズに共通するメリットになる。
「他社のMySQL関連のサービスは、オラクルがコミュニティー版のセキュリティパッチを公開した後、自社のサービスにあわせた調整とテストが必要になる。そのため、パッチが公開されてからサービスに反映されるまで数カ月遅れる場合もしばしばある。安全性の面でMySQL HeatWave on AWSの優位性は非常に高いといえる」(梶山氏)
2023年7月には、より幅広いデータ基盤との連携を実現する「MySQL HeatWave Lakehouse」も登場した。これはリレーショナルデータベースの外側に置かれるオブジェクトストレージのデータを、MySQL HeatWaveのメモリ上にロードして分析処理するシステムだ。IoTデバイスのデータなど数百T(テラ)B級の大きなデータであっても高速な分析処理が可能だ。
MySQL HeatWave on AWSの利用にはOCIのアカウントが必要だ。また、オラクルユーザーであればMySQL HeatWave(OCI版またはAWS版)を30日間試用できるプログラムがある。データ分析や機械学習に興味があり、最適なデータベースを探している人は一度試してみてはいかがだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2023年9月1日