「MySQL 9.0」公開 JavaScriptストアドプログラムやVECTOR型をサポート:非推奨だった認証プラグイン「mysql_native_password」が削除される
オープンソースのリレーショナルデータベース管理システム「MySQL」の最新版「MySQL 9.0」がリリースされた。
Oracleは2024年7月3日(米国時間、以下同)に公式ブログで、オープンソースのリレーショナルデータベース管理システム(RDBMS)である「MySQL」の最新版「MySQL 9.0」を7月1日にリリースしたと発表した。
MySQLのリリースモデルはイノベーションリリースと「Long-Term Supported」(LTS)リリースに分かれる。MySQL 9.0はイノベーションリリースだ。
イノベーションリリース
約3カ月ごとにリリースされる。新機能、バグ修正、セキュリティパッチが含まれる。イノベーションリリースのサポートは、次のマイナーリリース(イノベーションまたはLTS)までに限られる。
LTSリリース
約2年ごとにリリースされる。5年間のプレミアムサポートと3年間の延長サポートが提供される。メジャーバージョンの最後のマイナーリリースとしてリリースされ、その次のイノベーションリリースによって、メジャーバージョンが更新される。2024年4月にリリースされた「MySQL 8.4」が最新のLTSリリースで、今回のMySQL 9.0はその次のイノベーションリリースに当たる。
MySQL 9.0で追加された機能、非推奨となった機能、削除された機能は以下の通り。
MySQL 9.0で追加された機能
JavaScriptストアドプログラム
MySQL Enterprise Editionが、JavaScriptで記述されたストアドプログラムをサポートした。
CREATE FUNCTION gcd(a INT, b INT) RETURNS INT NO SQL LANGUAGE JAVASCRIPT AS $mle$ let x = Math.abs(a) let y = Math.abs(b) while(y) { var t = y y = x % y x = t } return x $mle$ ;
JavaScriptで記述されたストアドプロシージャとストアド関数の両方がサポートされており、多言語エンジンコンポーネント(MLE)で提供される。MySQLのJavaScriptサポートは「ECMAScript 2023(ES2023)」仕様に準拠している。
VECTOR型のサポート
MySQL 9.0はVECTOR型をサポートしている。ベクトルは、バイナリ文字列値またはリスト形式の文字列として表現されるエントリ(4バイト浮動小数点値)のリストで構成されるデータ構造だ。
以下のように、CREATE TABLEを使用してVECTOR型のカラムを持つInnoDBテーブルを作成できる。
mysql> CREATE TABLE v1 (c1 VECTOR(5000)); Query OK, 0 rows affected (0.03 sec)
VECTORカラムは、どのようなキーとしても使用できない。その中にはプライマリーキー、外部キー、ユニークキー、パーティショニングキーが含まれる。
EXPLAIN ANALYZE INTOからのJSON出力の保存
以下のシンタックスを使用して、EXPLAIN ANALYZEからのJSON出力をユーザー変数に保存できるようになった。
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
プリペアドステートメント内のイベントDDL
イベントに関する下記のSQLコマンドをプリペアドステートメントとして使用可能になった。
- CREATE EVENT
- ALTER EVENT
- DROP EVENT
パフォーマンススキーマのシステム変数テーブル
パフォーマンススキーマに、サーバシステム変数に関する情報を提供する以下の2つの新しいテーブルが追加された。
- variables_metadataテーブル:システム変数に関する一般的な情報を提供
- global_variable_attributesテーブル:サーバがグローバルシステム変数に割り当てる属性と値のペアに関する情報を提供
非推奨となった機能
パフォーマンススキーマのvariables_infoテーブルのMIN_VALUEカラムとMAX_VALUEカラムが非推奨となり、MySQLの将来のリリースで削除される予定だ。代わりに、上に挙げたvariables_metadataテーブルのMIN_VALUEカラムとMAX_VALUEカラムを使用する必要がある。
削除された機能
MySQL 8.0で非推奨となったmysql_native_password認証プラグインが削除された。サーバは、CLIENT_PLUGIN_AUTH機能を持たない古いクライアントプログラムからのmysql_native認証リクエストを拒否するようになった。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ベクトルデータベース(Vector Database)/ベクトルストア(Vector Store)とは?
ベクトルデータベースとは、テキストなどのデータを数値ベクトル(埋め込み)として保存するデータベースを指す。「ベクトルストア」とも呼ばれる。ベクトル検索により、意味的に類似する情報を探せるのが特徴で、チャットAIのRAG構築に役立つ。本稿ではベクトル検索の機能を持つ代表的な製品の概要もそれぞれ簡単に紹介する。 - LINEヤフーはDB自動チューニング術を紹介――「KubeCon」で気になった最新のKubernetes×データベース運用ノウハウ
「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介していきます。今回は「KubeCon+CloudNativeCon North America 2023」で気になった内容をお届けします。 - MySQLを学べるアプリ開発者向け動画、PlanetScaleが無料公開
PlanetScaleは、アプリケーション開発者向けにMySQLを解説する動画を同社Webサイトで公開した。スキーマ、インデックス、クエリ、例題の4つの章に分けてMySQLを解説している。