修正されたセキュリティ脆弱性
CVE | CVSSベーススコア |
CVE-2025-21490 | 4.9 |
ストレージエンジンの変更
- このリリースには、MariaDB ColumnStoreエンジンのバージョン 23.10.3が組み込まれています。
バックポート
ベクトル検索
ベクトル検索機能がMariaDB Enterprise Server 11.4リリースに追加されました。ブログ投稿で、新しいベクトル検索機能の考え方について詳しく説明しています。(MENT-2233)
ベクトル埋め込み
ベクトル埋め込みは、多次元空間でデータの意味論的意味または特徴を捉える数値表現 [0.2、-0.5、0.8、0.1、...] です。埋め込みは、テキスト、画像、音声、ビデオなどの単純なデータから複雑なデータまでを、多次元ベクトル空間で類似の項目が一緒に配置される一連の数値 (ベクトル) に変換します。
例えば、"dog"という単語の単語埋め込みは、ベクトル埋め込み空間では"puppy"という単語に近いですが、"dog"は"airplane"という単語に近いわけではありません。埋め込み表現は、類似性検索、推奨システム、またはより一般的には従来のAI/MLシステムやGenAIシステムで使用できます。
新しいデータ型 VECTOR(N)
RCリリースでは、ベクトル列を表すために新しいデータ型 VECTOR(N) が追加されました。ここで、Nは次元の数です。例:
CREATE TABLE myVectorSearch (
id INT PRIMARY KEY,
v VECTOR(5) NOT NULL,
VECTOR INDEX (v)
);
変換関数
VEC_FromText() は、ベクトルのテキスト表現 (数値のJSON 配列) をベクトル (バイトのリトルエンディアン IEEE 浮動小数点シーケンス、浮動小数点あたり4バイト) に変換します。
例:
select hex(vec_fromtext('[1,2,3]'));
+------------------------------+
| hex(vec_fromtext('[1,2,3]')) |
+------------------------------+
| 0000803F0000004000004040 |
+------------------------------+
VEC_ToText() は、バイナリベクトルを数値 (浮動小数点) のJSON配列に変換します。例:
SELECT VEC_ToText(x'e360d63ebe554f3fcdbc523f4522193f5236083d');
+---------------------------------------------------------+
| VEC_ToText(x'e360d63ebe554f3fcdbc523f4522193f5236083d') |
+---------------------------------------------------------+
| [0.418708,0.809902,0.823193,0.598179,0.033255] |
+---------------------------------------------------------+
比較関数
ベクトルを比較し、それらの近さを計算することは、ベクトル検索を使用するアプリケーションに必要な主要な機能です。ベクトル間の距離を計算する関数は2つあります。どちらを使用するかは、アプリケーションとベクトルの生成方法によって異なります。
VEC_DISTANCE_EUCLIDEAN() は、2つのベクトルを受け取り、ベクトル空間内の2つの多次元点間の直線 (L2) ユークリッド距離を計算します。
例:
INSERT INTO v VALUES
(1, x'e360d63ebe554f3fcdbc523f4522193f5236083d'),
(2, x'f511303f72224a3fdd05fe3eb22a133ffae86a3f'),
(3,x'f09baa3ea172763f123def3e0c7fe53e288bf33e'),
(4,x'b97a523f2a193e3eb4f62e3f2d23583e9dd60d3f'),
(5,x'f7c5df3e984b2b3e65e59d3d7376db3eac63773e'),
(6,x'de01453ffa486d3f10aa4d3fdd66813c71cb163f'),
(7,x'76edfc3e4b57243f10f8423fb158713f020bda3e'),
(8,x'56926c3fdf098d3e2c8c5e3d1ad4953daa9d0b3e'),
(9,x'7b713f3e5258323f80d1113d673b2b3f66e3583f'),
(10,x'6ca1d43e9df91b3fe580da3e1c247d3f147cf33e');
SELECT id FROM v
ORDER BY VEC_DISTANCE_EUCLIDEAN(v, x'6ca1d43e9df91b3fe580da3e1c247d3f147cf33e');
+----+
| id |
+----+
| 10 |
| 7 |
| 3 |
| 9 |
| 2 |
| 1 |
| 5 |
| 4 |
| 6 |
| 8 |
+----+
VEC_DISTANCE_COSINE() は、多次元ベクトル空間内の2つのベクトル間のコサイン距離を測定します。
例:
SELECT VEC_DISTANCE_COSINE(VEC_FROMTEXT('[1,2,3]'), VEC_FROMTEXT('[3,5,7]'));
+-----------------------------------------------------------------------+
| VEC_DISTANCE_COSINE(VEC_FROMTEXT('[1,2,3]'), VEC_FROMTEXT('[3,5,7]')) |
+-----------------------------------------------------------------------+
| 0.00258509695694209 |
+-----------------------------------------------------------------------+
設定オプション
ベクター検索機能では、一般的な動作を制御するためにいくつかの新しいシステム変数が必要です。4つの新しいシステム変数が追加されました:
- mhnsw_max_cache_size - 1つのMHNSWベクトルインデックスキャッシュの上限
- mhnsw_default_distance - DISTANCEベクトルインデックスオプションのデフォルト値
- mhnsw_default_m - Mベクトルインデックスオプションのデフォルト値
- mhnsw_ef_search - ORDER BY ... LIMIT N クエリのベクトルインデックスで検索する結果候補の最小数。
注目すべき変更点
- このリリースから、ダウンロードアーカイブで提供されるソフトウェア部品表 (SBOM) JSON ファイルが生成されます。このファイルは、MariaDB Enterprise Server ダウンロードページの"All Files"リンクからアクセスできます (MENT-2234)
- Innochecksumの新しいパラメータ --skip-freed-pages。このパラメータを使用すると、解放されたundoログが既存のundoログページとして報告されなくなります (MDEV-35394)
- Galeraプロトコルバージョンがshow statusに表示されるようになりました。Galeraライブラリ 26.4.21+ のインストールで変更可能 (MDEV-35505)
- MariaDB は、PARTIAL_UPDATE_ROWS_EVENT、TRANSACTION_PAYLOAD_EVENT、HEARTBEAT_LOG_EVENT_V2などのMySQL 8.0 バイナリログイベントをサポートするようになりました (MDEV-35643)
- InnoDBデッドロック出力クエリの長さが長くなり、デッドロックされたステートメントの可視性が向上しました (MDEV-32576)
- Galeraが26.4.21に更新されました
- 注意: GCSプロトコルバージョンの増加が含まれます。これにより、全てのノードが更新されるとすぐに、クラスター内の個々のノードがダウングレードされるのを防ぎます
修正された問題
データ損失が発生する可能性があるもの
- バイナリログへのタイムスタンプの誤った書き込みにより、バイナリログの再生時に不一致が発生する問題を修正 (MDEV-31761)
- "FOR EACH ROW insert into table2(`id`, `name`) values (NEW.`id`, NEW.`name`);"を使用して別のテーブルに行を追加する"CREATE TRIGGER `table1_after_insert` AFTER INSERT"で作成されたトリガーを修正します。これは、アプリケーションで一括挿入が使用される場合は正しく機能しませんでした。一括挿入の最初の行のみがテーブルに追加されます (MDEV-34958)
- システムバージョン管理が有効になっている場合、履歴は異なるGaleraノードの同じパーティションに保存されるようになりました (MDEV-35096)
- DESCキーまたはHASHキーのない一意のキーとnopad照合によるアサーションエラーとインデックス破損の可能性を修正 (MDEV-30111)
ハングまたはクラッシュを引き起こす可能性があるもの
- クライアントが文字セットをutf32に設定した後にコマンドがクライアントでクラッシュする問題を修正 (MDEV-34090)
- サーバーが入力からジオメトリオブジェクトを構築できなかった場合に発生する可能性のあるクラッシュを修正 (MDEV-33987)
- バッファプールが不足している時に発生する可能性のあるInnoDBのハングを修正 (MDEV-35409)
- 2回目のINSERTで'Update'状態でSpiderスレッドがハングする可能性のある問題を修正 (MDEV-35064)
- システムテーブル'mysql.servers'のテーブル定義を変更した後、CREATE SERVERを続けて実行すると、以前はサーバーがクラッシュしました。
- 注意: システムテーブルは、ユーザーによって変更されるべきではありません (MDEV-33783)
- innodb_snapshot_isolationによるストリーミングレプリケーショントランザクションのクラッシュを修正 (MDEV-35281)
- 並列レプリケーションが有効になっているGalera非同期レプリカノードでの非同期レプリケーションの散発的なエラーを修正 (MDEV-35465)
- 中断とレプリケーションエラーを引き起こす失敗したアサーションを修正 (MDEV-24035)
- ユーザーがデフォルトのデータディレクトリとは異なるaria_log_dir_pathを指定した場合に、wsrep_sst_rsync SSTスクリプトが失敗する可能性がある問題を修正 (MDEV-35387)
- UNIONおよびLIMIT ROWS EXAMINEDを使用したパーティションテーブルでのクエリ後の接続ハングを修正 (MDEV-35571)
- ORDER BYを使用したビューへのINSERT後のget_sort_by_table/make_join_statisticsでのサーバークラッシュを修正 (MDEV-29935)
- 特にinnodb_snapshot_isolationが有効になっている場合に、CREATE TABLE...SELECT エラー処理中に発生する可能性のあるハングを修正 (MDEV-35647)
- LOCK_log/LOCK_commit_ordered および LOCK_global_system_variablesの誤ったロック順序を修正 (MDEV-29744)
- SHUTDOWN時に発生する可能性のあるメモリリークを修正 (MDEV-35326)
- auth_gssapiプラグインをインストールした後、サーバーをシャットダウンする際に発生する可能性のあるメモリリークを修正 (MDEV-35575)
- HEAPテーブルからのDELETE時に発生する可能性のあるクラッシュを修正 (MDEV-22695)
- 仮想列を含むテーブルでINSERT DELAYEDを使用する際に発生する可能性のあるサーバークラッシュを修正 (MDEV-26891)
- `tree_search_next`を使用したインデックストラバーサル中に発生する可能性のあるクラッシュを修正 (MDEV-28130)
- ALTER TABLE中のHASHインデックスを使用したInnoDBパージ中に発生する可能性のあるハングまたはクラッシュを修正 (MDEV-25654)
- ゼロオフセットがNULLポインターに適用されるとハングまたはクラッシュする可能性がある問題を修正 (MDEV-35864)
- spider_sys_open_tableの起動時にクラッシュする可能性がある問題を修正 (MDEV-32822、MDEV-34302、MDEV-34925)
- 接続キーの最初のバイトが変更されるとSpiderがクラッシュまたはハングする可能性がある問題を修正 (MDEV-34849)
- XA RECOVERがゼロオフセットをNULL ポインターに適用すると発生する可能性のあるランタイムエラーを修正 (MDEV-35549)
- 親にvcolインデックスがあるテーブルのカスケード外部キー更新でのアサーションエラーを修正 (MDEV-29182)
- 条件プッシュダウン中にCURRENT_USERが正しくコピーされなかったアサーションエラーを修正 (MDEV-35090)
- スレッドプールが使用されている場合にシャットダウン中にクラスタノードがハングする問題を修正 (MDEV-35710)
- 3つ以上のテーブルで結合を実行し、USING句で存在しない列名を参照するストアドルーチンを呼び出すと、以前は2回目の呼び出しでクラッシュが発生する可能性がありました。 (MDEV-24935)
- ノード間の通信が失われたためにGaleraクラスターが'split-brain'状態になった時に発生する可能性のあるアサーションエラーを修正 (修正には Galeraライブラリ 26.4.21以降が必要です) (MENT-2175)
- GaleraクラスターノードでXA PREPARE (および場合によっては他のXAステートメント) を実行する時に発生する可能性のあるアサーションエラーを修正 (MENT-2212)
- GaleraクラスターノードでXAステートメントを実行する時に発生する可能性のあるアサーションエラーを修正 (MENT-2214)
- まれに、ネットワークレイテンシが非常に低いクラスターで (例えば、両方のノードが同じ物理マシンで実行されている場合) NBOモードを使用すると、ALTER TABLEまたはその他の操作がハングすることがありました (MENT-2215)
- Total Order Isolation (wsrep_OSU_method=TOI) で実行されているMariaDB ClusterおよびALTER INPLACEは、InnoDBでDML INSERT操作を正しく中止するようになりました (MDEV-33064)
- wsrep_check_sequenceで発生する可能性のあるクラッシュを修正 (MDEV-33245)
予期しない動作を引き起こす可能性があるもの
- --ps-protocol BF トランザクションが中止された状態でデッドロックエラーが発生した場合に、散発的に成功が報告される問題を修正 (MDEV-35446)
- Galeraクラスターのセカンダリノードでbinlogエントリが誤ったタイムスタンプを受け取り、レプリケーションの精度に影響を与える可能性があるという稀なケースを修正 (MDEV-35157)
- ed25519認証プラグインを使用した認証の場合、CREATE USERステートメントのパスワードが監査ログでマスクされるようになりました (MDEV-35507)
- MariaDB Auditがパスワードをマスクするための全てのDCL形式を検出するようになりました (MDEV-35522)
- ROW_FORMAT=COMPRESSEDかつ変更バッファリングが有効になっている場合のセカンダリインデックスの潜在的な問題を修正 (MDEV-35679)
- sql_mode='NO_UNSIGNED_SUBTRACTION'が複数の符号なし整数で機能するようになりました (MDEV-35651)
- innodb_checksum_algorithm=full_crc32 暗号化ページの二重書き込みリカバリを修正 (MDEV-34898)
- START TRANSACTIONは、COMMITまたはROLLBACKが以前に実行されていないため暗黙的なコミットをトリガーする時に、最後のSTART TRANSACTIONコマンドに追加されたオプションの特性をリセットするようになりました (MDEV-35335)
- --stop-datetimeが指定されている場合、mariadb-binlogは複数のログファイルを正しく処理できるようになりました (MDEV-35528)
- wsrep_gtid_mode = 1が使用されている時、以前はレプリカの遅延に関する誤った情報をもたらしていたテーブル mysql.gtid_slave_posの行がGaleraノードで正しく削除されるようになりました (MDEV-34924)
- EXCHANGE PARTITIONは、一意のBLOBを持つテーブルで機能するようになりました (MDEV-35612)
- 特定の文字セットを持つテーブルのデフォルト値の関数がSHOW CREATEおよびmariadb-dumpを壊す可能性がある問題を修正(MDEV-29968)
- 以前は、`pseudo_thread_id`を4バイトを超える値に設定すると、バイナリログへの書き込み時に切り捨てが発生しました (MDEV-35646)
- 以前は、明示的な値なしでNOT NULLと定義された列にNULL値が追加され、DEFAULTが指定されていない場合、BEFORE INSERT トリガーは"Field 'xxx' doesn't have a default value"というエラーを返しました (MDEV-19761)
- GaleraクラスターノードでINSERT DELAYEDを実行しようとすると、未定義の動作が発生する可能性がありました (MDEV-35852)
- NOT NULL列にON UPDATE SET NULLを指定できない問題を修正 (MDEV-35445)
- テーブルがパーティションを持ち、パーティションキーではないインデックスを持つ列を変更しようとする場合、algorithm = Instantを正しく使用できるようになりました。以前は、次のエラーが発生しました。"ERROR 1846 (0A000): ALGORITHM=INSTANT is not supported. Reason: ADD INDEX. Try ALGORITHM=NOCOPY" (MDEV-34813)
- 子テーブルのDROP TABLEと親テーブルのUPDATEが同時に適用されると、メタデータロック BF-BF競合が発生する可能性がある問題を修正しました。 (MDEV-35018)
- プレフィックスとして外部キーを含む長いUNIQUEマルチカラムインデックスを持つテーブルに外部キーを正しく追加できるようになりました (MDEV-33658)
- ウィンドウ関数を使用した縮退サブクエリ (SELECT
) を使用した場合の誤った結果を修正 (MDEV-35869) - "Failed to write to mysql.slow_log"というエラーが、エラーの詳細な理由なしで表示されることがなくなりました (MDEV-20281)
- 非標準ソケットパスを使用した場合のdebian-startスクリプトの失敗を修正 (MDEV-35907)
- wsrep_sst_mariabackup.shは、準備段階に数時間かかることがあった --use-memory デフォルト (100 MB) を使用しなくなりました (MDEV-35749)
- Show-Slave-StatusのReplicate_* フィールドが切り捨てられ、レプリケーション監視に影響する場合があります (MENT-2238)
パフォーマンスに関連するもの
- SPローカル変数を含む条件が派生テーブルにプッシュされるようになりました。以前の動作では、プッシュダウンされた条件を使用する代わりに、パフォーマンスの低下や、テーブルスキャンが発生していました (MDEV-35910)
- IN述語と単一列を使用したNULL対応のマテリアライゼーションで、ソートされたOrdered_key構造の構築がスキップされなくなりました (MDEV-34665)
- InnoDBテーブル統計を保存中にテーブル統計のクローンが作成されるのを回避できるようになりました (MDEV-35363)
プラットフォーム
エンタープライズライフサイクルに合わせて、MariaDB Enterprise Server 11.4.5-3は以下に対して提供されます:
- Debian 11 (x86_64、ARM64)
- Debian 12 (x86_64、ARM64)
- Red Hat Enterprise Linux 8 (x86_64、ARM64)
- Red Hat Enterprise Linux 9 (x86_64、ARM64、PPC64LE)
- AlmaLinux 8 (x86_64、ARM64)
- AlmaLinux 9 (x86_64、ARM64)
- Rocky Linux 8 (x86_64、ARM64)
- Rocky Linux 9 (x86_64、ARM64)
- SUSE Linux Enterprise Server 15 (x86_64、ARM64)
- Ubuntu 20.04 (x86_64、ARM64)
- Ubuntu 22.04 (x86_64、ARM64)
- Ubuntu 24.04 (x86_64、ARM64)
- Microsoft Windows (x86_64) (MariaDB Enterprise Cluster (Galera) のサポートなし)
- Red Hat UBI 8 (x86_64、ARM64)
- Red Hat UBI 8は、Enterprise Server Docker イメージの一部です。MariaDB Enterprise Cluster (Galera) または MariaDB ColumnStore はサポートされていません。
MariaDB Enterprise Serverの一部のコンポーネントは、プラットフォームのサブセットでサポートされています。詳細については、MariaDB Engineering Policiesを参照してください。
MariaDB Enterprise Server 11.4.5-3 リリースノート(MariaDB社ウェブサイト):
https://mariadb.com/kb/en/release-notes-for-mariadb-enterprise-server-11-4-5-3/
MariaDBプロダクト・サポート・サービス
MariaDBプロダクト・サポート・サービスは、MariaDBおよびその関連製品をご利用されているお客様へ、必要なソフトウェアや専門的なサポートなどを提供するサービスです。