HeatWave AutoMLによるデータベース内機械学習

Michael Chen | コンテンツ・ストラテジスト | 2024年10月15日

データベース内機械学習とは、機械学習アルゴリズムや手法をデータベース管理システムに統合することを指します。これにより、データセットの選択、アルゴリズムのトレーニング、モデルの評価など、すべての処理がデータベース内で完結します。データベース内機械学習を利用することで、組織は複雑な分析タスクをデータベース内で直接実施でき、システム間でデータを移動させる必要がなくなります。それにより、データのインポートやエクスポート時に発生する遅延やデータ整合性・セキュリティへの懸念を解消できます。

たとえば、突然顧客離れが増加した企業を考えてみましょう。機械学習のアルゴリズムは、競合他社に流出する可能性が高い顧客を予測し、パーソナライズされたマーケティングキャンペーンや再度顧客の関心を引くための施策を提案できます。また、売れ筋商品の在庫過多が発生した場合には、特別プロモーションを実施することで在庫を処分し、顧客満足度の向上につなげることもできます。データベース内で機械学習を直接活用できれば、こうした提案も最新データに基づき、より迅速に生成できます。その結果、企業は迅速に方針転換を図ることが可能となります。外部の機械学習エンジンにデータを移動させる必要がないため、お客様の情報が漏洩するリスクも排除されます。

データベース内機械学習とは

データベース内機械学習は、機械学習アルゴリズムを直接データベースに組み込むことで、データを他のシステム間でやり取りする必要をなくします。従来の機械学習では、データベースからデータを抽出し、別の機械学習用分析プラットフォームやツールで処理する必要がありました。この方法は、特に大規模データセットを扱う場合、時間とリソースを多く消費します。

データベース内機械学習を使えば、データを移動せず、機械学習アルゴリズムをデータベース環境内で直接実行できます。機械学習アルゴリズムをデータベース内に組み込む最大の利点は、より速く効率的な分析が可能になることです。

つまり、データを動かすことがすべてを遅くする要因なのです。

データベース内機械学習は、たとえばAIモデルをトレーニングするときなど、大容量データを扱う場面で特に有効です。データベース内機械学習では、コーディング・モデル構築・テストの各作業を、そのプラットフォーム独自のツールを使ってデータベース環境内で行うことができます。そのため、わずか数クリックで、データベース内のすべての表をデータ集約型プロジェクトに活用することができます。

データベース内機械学習は、トレーニングから本番環境へのデプロイまで、インフラの一貫性を維持します。そのため、ITチームは新たな本番環境の構築や、それに伴うメンテナンス、品質保証(QA)の作業から解放され、次のモデル活用段階に集中できます。

主なポイント

  • データベース内機械学習を活用することで、組織はデータベース環境内で機械学習モデルのコーディング、構築、テスト、デプロイまでを一貫して行えます。
  • このプロセスはデータベース内で完結するため、非常に効率的です。
  • また、データベース内機械学習で作成されるモデルは、環境内部の機能を活用するため、独立したツールで作る場合よりも構造がシンプルになるケースが多いです。

データベース内機械学習の基本

データベース内機械学習は、従業員が普段使い慣れているデータベースシステムやツールを利用しながらシームレスに活用できるという特長があります。同様に、アナリストも新たなソフトウェアやハードウェアを追加で導入せず、既存のデータベースやおなじみのクエリ言語で高度な分析を実現できます。データをデータベース内で直接分析することで、組織は最新データをもとに価値あるインサイトを見出し、より迅速かつデータドリブンな意思決定を下せるようになります。

データベース内機械学習を使わない場合、機械学習分析を実現するには、抽出・変換・ロード(ETL)または抽出・ロード・変換(ELT)作業が必要となり、データを外部システムへ移動しなければなりません。従来のやり方では、データサイエンティストが手作業でデータをインポート/エクスポートしたり、システム間をAPIで接続したりすることになり、機械学習用データセットを整えるために複数の追加手順が必要でした。こうした手順により、次のような問題が生じるリスクがあります。

  • データの重複による誤り
  • データ破損
  • セキュリティ上の不備
  • 過度なリソース・計算コストが発生
  • システム統合の互換性問題
  • データ形式の互換性問題

データベース内機械学習では、エクスポートやインポートの手順を省略でき、データ自体が格納されている環境内で機械学習タスクを完結できるため、互換性を確保するための再構築や再フォーマット作業も不要です。データベース内で完結することで、データのやり取りを担うシステムの維持・管理も必要なくなります。

データベース内機械学習の重要性

特にAIモデルの学習など、大規模かつ多様なデータソースを活用した機械学習タスクにはさまざまな課題が存在します。主な事項は以下の通りです。

  • モデル学習の制約: 多くのデータセットは非常に大きいため、常にETLやELT処理を行うことは現実的ではなく、データチームは通常、一部のデータのみを使って学習させます。この方法では、実際の運用環境で遭遇する可能性のあるすべての状況をモデルが十分に学習できないという制限があります。
  • データソースの複雑さ: データソースは多岐にわたります。たとえば、工場のリアルタイムIoTセンサー、長期間かけて蓄積されたフィールド数の多い顧客データベース、膨大なセキュリティログなどが挙げられます。統一性や単純化されたフォーマットがない場合は、ビジネス・インテリジェンス・システムなどのアプリケーション利用時だけでなく、機械学習のような複雑な処理でも問題が発生します。

データ量や種類が急速に増え続けている現在、データベース内で機械学習を行うことは非常に重要です。データ集約型のタスクは今後ますます複雑化するため、データベース内機械学習をワークフローに統合することがカギとなります。

データベース内機械学習の仕組み

基本的な仕組みは、標準的な機械学習と同様です。最大の違いは、システム間でデータを移動するための抽出や変換、クレンジングといった一連の工程が不要になる点です。一方で、データベース環境で処理するため、いくつかの制約や条件も発生します。

データベース内機械学習の大まかな流れは次の通りです。

1. 分析用データベースへのデータのロード、前処理

最初にデータベースにデータをロードします。ただし、データベースがこの機能をサポートしており、データの近くでコードを実行できる必要があります。これによってデータベース内機械学習の効率を最大化できます。

2. 機械学習アルゴリズムの最適化

機械学習アルゴリズムがデータベース内にある場合も外部プラットフォームの場合も、必要な最適化プロセスを経る必要があります。つまり、モデルのトレーニング、結果の評価、ファインチューニングは必要となります。データベース内機械学習の最大の違いは、これらの作業を、別のシステムではなく、データが格納されているデータベース環境内で実行できる点にあります。そのため、モデル最適化のために複数の異なるシステムやデータストア間でデータを移動させる必要がなくなります。

3. データサイエンティストが専用APIを利用して機械学習を実施

従来の機械学習では、モデルのトレーニングや結果の評価、各アルゴリズムやパラメータの調整などの作業を行うために、データベースからデータレイクなどのリポジトリへデータを移動させる必要がありました。こうした一連の工程は、多くのコンピュートリソースを消費し、インフラに負荷をかけます。一方、データベースネイティブなAPIであれば、これらの作業をデータの移動なしに実行でき、モデルが開発環境からテスト、さらには本番環境へ移る際にも柔軟に対応できます。

4. 業務の中断なく予測インサイトを業務システム上で直接実行

データベース内機械学習を活用することで、機械モデルの修正は、表のバージョン管理を通じて、開発・テスト・本番データベースに容易に反映できます。モデルの改善も即座に統合されるため、追加の手順や過度な計算リソースによる遅延なく、各種機能を業務システム上で途切れることなく実行することが可能です。

5. リアルタイムで正確な結果を取得可能

機械学習モデルをデータベース内で直接活用してインサイトを生成することで、追加の処理やETL/ELTによる遅延、データ整合性への懸念を持つことなく、ほぼリアルタイムでインサイトが得られます。

他の手法と比較したデータベース内機械学習のメリット

データベース内機械学習は、業務プロセスの短縮やハードウェア要件の削減を自然に実現できるため、多くの利点があります。もちろんいくつかの制約も存在しますが、主な利点は以下のとおりです。

分析処理の高速化

システム間でデータを移動する作業は、煩雑であり、最悪の場合にはエラーや遅延、セキュリティリスクを伴い、業務全体の速度を低下させる恐れがあります。分析タスクをデータベース内で完結させることで、エクスポート・データ変換・ロードといったELT/ETL工程による余計なハードルが解消され、分析プロセス全体を可能な限り迅速に進められます。

保有コストの削減

大量データの移動が不要になることで、ストレージや専門人材にかかるコスト、さらには遅延コストも削減できます。時間はコストに直結するため、こうした効率化は大きな節約効果を生みます。さらに、運用効率の向上によって、ハードウェアやソフトウェアのトラブルシューティングにかかる労力・時間も減り、コスト削減が一層促進されます。

拡張性の向上

拡張性は多くの場合、リソースに依存します。プロセスに多くの費用や人員、CPUリソースが必要になるほど、必要に応じたスケーリングは難しくなります。データ移動プロセスを削減することで、エクスポートやフォーマット変換といった処理に必要な余分な計算リソースが不要となります。データをデータベース内に保持することで、互換性対応の負担も軽減され、計算効率が向上し、より柔軟かつ容易に需要に応じた拡張が可能となります。

パフォーマンスと精度の向上

ELT/ETLプロセスは、ネットワーク内における重複データの主な発生源です。重複は、たとえばエクスポート中のハードウェア障害によってデータが破損したり、データ変換ツールの問題でデータが誤って編集・削除されたりすることが原因となります。ELT/ETLの各工程はデータセットの品質や精度を損なうリスクを生じさせ、同時にプロセス全体の効率を低下させます。

自動化されたデプロイとメンテナンス

データベース内機械学習では、データを一元管理できるため、データ移動の必要がなくなり、エクスポート/インポートや入出力処理も削減されます。その結果、プロセスはネイティブ環境の中で完結し、他システムに依存せずに実行できます。これにより、デプロイ、監査、メンテナンスチェックなど、さまざまな作業を自動化ツールや機能で効率化できます。ユーザーは、互換性や統合に関する問題を心配することなく、これら自動化のメリットを享受できます。

データベース内機械学習向けツールおよびサービス

データベース内機械学習のツールは、そのサービス内容や機能に幅広いバリエーションがあります。多くの場合、こうしたツールはデータベースベンダーが個別に提供しているものと似ており、統合機能の一部として用意されているケースや、ベンダー独自の機械学習プラットフォームと連携しているケースもあります。たとえば、Oracle Databaseでは、データをシステム間で移動させる必要をなくすために、環境内で機械学習機能を提供しています。この場合、Oracle Databaseは、SQL、R、Python、REST、AutoML(自動機械学習)、ノーコードインターフェースなどのOracle Machine Learningツールと幅広いアルゴリズムを用い、データの探索・準備・モデリングを実現します。

Oracle Machine Learningダッシュボードのスクリーンショット

データベース内機械学習の課題

多くのメリットがある一方で、データベース内機械学習は、利用するデータベース環境の機能や性能に大きく依存します。そのため、将来的なシステム移行や、機械学習モデルがデータベース本来の機能を超える要件を必要とする場合には問題が生じる可能性があります。

データベース内機械学習によくみられる主な課題・制約は以下の通りです。

モデルの展開が難しくなる場合がある

プロジェクトの機械学習要件や目標がすべて整っていれば、テストから本番への展開は比較的容易です。しかし、こうしたモデルは各組織のデータベース内ツールの機能に依存しています。もしプロジェクトがより複雑化したり、将来的に移行が必要になった場合はどうでしょうか。データベース内ツールを使うことで目先の機械学習処理はスピーディかつ効率的に行えますが、将来を見据えた際に課題が残ることもあるため、長期的な目標が現状の機能と一致しているかを十分に検討することが重要です。

モデルの複雑性の制限

データベース内機械学習は、対応したデータベースアプリケーション上でのみ動作し、利用できるAPIも制限されている場合があります。こうした状況は、データベース内機械学習システムの機能が拡張されるにつれて徐々に変わってきていますが、一般的には、スタンドアロンツールの方がより多くの機能や強力な性能を備えており、それらを活用する専門家も多いという特徴があります。

データの透明性不足

データベース内機械学習の最大の強みの一つは、データをデータベース環境内にとどめたまま処理できる点ですが、これは同時に大きなデメリットにもなります。ETL/ELT工程を省略できることで監査やデータクレンジングのタイミングを逃しやすくなり、データの透明性確保が難しくなる場合があります。

計算リソースの制限

多くの場合、データベースは機械学習ツールほどの計算リソースを提供できません。特に大規模または極めて複雑なモデルには、高パフォーマンスコンピューティングが必要となります。そのため、データベース内機械学習モデルの規模や複雑さには上限があるのが一般的です。企業ごとにシステム構成は異なり、プロジェクトごとに要件も異なりますので、導入初期の計画段階でこのトレードオフを十分に考慮する必要があります。

HeatWave AutoMLによるデータベース内機械学習のはじめ方

HeatWaveは、トランザクション処理からレイクハウス規模の分析に至るまで、自動化・統合・セキュアな生成AIおよび機械学習を、ひとつのクラウドサービスで提供します。HeatWave AutoMLには、ユーザーがHeatWave上で機械学習モデルを構築・学習・説明するために必要な要素がすべて組み込まれており、追加コストは発生しません。HeatWaveのデータベース内機械学習を活用すれば、データを別の機械学習サービスに移動する必要がありません。MySQL内とオブジェクトストア内のデータに対して、トレーニング、推論、説明を簡単かつセキュアに適用できます。HeatWaveは、Oracle Cloud Infrastructure、Amazon Web Services、Microsoft Azure上で利用可能です。

利用を開始するには、お使いのデータベースがデータベース内機械学習を提供していることを確認する必要があります。これは、機械学習の力を最大限に活用したい組織にとって、非常に大きな変化をもたらす可能性があります。データを機械学習アルゴリズムに「移動する」のではなく、アルゴリズムをデータに「持ち込む」ことで、意思決定者がより迅速かつ効率的にデータ分析を実現できます。

データとAI : CIOを成功に導くためのガイド

AIモデルには、LLMのように大規模かつ複雑なものから、よりシンプルな機械学習モデルまでさまざまな種類がありますが、いずれにも共通するのは「高いデータ需要」です。ここでは、AI対応型データ基盤を実現するための4つの要素をご紹介します。

データベース内機械学習に関するよくある質問

データベース内機械学習を効果的に活用するにはどうすればよいですか?

データベース内機械学習を活用するには、その機能をサポートするデータベースを導入する必要があります。また、利用するデータベースの計算リソース基盤や、データベースや機械学習モデルの規模・範囲もあわせて考慮することが重要です。

データベース内機械学習のメリットは何ですか?

データベース内機械学習を導入することで、システム間でデータを抽出・移動する必要がなくなります。これにより効率性が大幅に向上し、場合によってはETL/ELTなど外部ツールへの依存を排除することで、処理期間が数週間から数日に短縮されるケースもあります。さらに全体的に見ても、リソース消費が減ることで保有コストの削減や、スケーラビリティ・運用効率の向上といったメリットが得られます。

データベース内機械学習を利用する際に考慮すべき課題は何ですか?

データベース内機械学習をプロジェクトで活用する前に、次の点を検討することが重要です。

  • プロジェクトにはどれくらいのスピードが求められているか?
  • モデルの複雑さはどの程度か?
  • 専門家がモデルやデータへのアクセスを必要とするか?その場合、どのツールを好むか?
  • データベースで利用できる計算リソースは、スタンドアロンの機械学習ツールと比べてどうか?

これらの質問を通じて、データベース内機械学習のメリットとデメリットが明確になり、プロジェクトごとの適切な判断につながります。

データベース内機械学習の今後のトレンドについて教えてください。

各プロバイダーはデータベース内機械学習の機能向上・拡充を進めており、それに伴いいくつかのトレンドが見えてきます。より多くのツールやプラットフォームがデータベース内機械学習をサポートすることで、データサイエンティストはさらに複雑なモデルの作成・展開が可能になります。また、モデルが統合プラットフォーム上に存在することで透明性が高まり、機械学習ツールを利用する特定の担当者だけでなく、多くの人が活用できるようになります。さらに、機能の向上により、より大規模なデータセットでも利用可能になり、学習、テスト、展開のスピードも向上します。