お知らせ - 13系#
Release 13.05 - 2023-08-02#
Improvements#
[CentOS][AlmaLinux] MariaDB 10.4.30、10.5.21、10.6.14、10.8.8、10.9.7、10.10.5、10.11.4をサポートしました。
[Debian GNU/Linux] MariaDB 10.5.19をサポートしました。
[Debian GNU/Linux] Added newly support for Debian 12 (bookworm).
However, we only support Mroonga with MariaDB 10.11 in this release.
Because the source of MySQL Community Server for Debian 12 doesn't exist in MySQL APT Repository(https://repo.mysql.com/apt/debian/dists/) currently.
Therefore, we don't support Mroonga with MySQL community server 8.0 on Debian 12 temporarily. We will support Mroonga with MySQL community server 8.0 after the source of it for Debian 12 is available.
MariaDB 10.3のサポートをやめました。
2023-05-25 にEOLになったためです。
13.01リリース - 2023-03-29#
Improvements#
[CentOS][AlmaLinux] 新しくMariaDB 10.11をサポートしました。 [GitHub#606][Patched by Josep Sanz]
[Amazon Linux] MariaDB 10.5.18-1.amzn2をサポートしました。
[Oracle Linux] Dropped support for Oracle Linux 8 and 9 をサポートしました。
MroonaをMySQLの公式DockerイメージにインストールするためにOracle Linuxをサポートしました。しかし、MySQLの公式Dockerイメージにインストールするために必要なパッケージはMySQL community server minimal用のMroongaでした。
そのため、Oracle Linux用のMroongaを使ってもMySQLの公式DockerイメージにはMroongaをインストールできません。
[Ubuntu] Ubuntu 18.04 のサポートをやめました。
Ubuntu 18.04 はEOLとなったためです。
[AlmaLinux] MySQL community server minimal 8.0 をサポートしました。
このパッケージは、
mysql:8.0-oracle
Dockerイメージをサポートするためのものです。
13.00リリース - 2023-02-09#
メジャーバージョンアップです! メジャーバージョンアップですが、互換性は壊れていないので、データベースを再構築することなく13.00へアップグレードできます。
まずはじめに 13.00の主な変更点を紹介します。次に、Mroonga 12.00 から 12.12 までの変更点を紹介します。
13.00の新規機能と改良#
注釈
現在、Percona Server向けMroonga 13.00のパッケージを提供していません。Percona Server向けパッケージのビルドに問題があるためです。この問題が解決したら、再度Percona Server向けパッケージを提供します。
Improvements#
Mroonga 12.00から 12.12までの主な変更点#
ハイライト#
Added support for reference count mode.
Though this feature can keep fixed memory usage, its performance would be dropped. Thus, memory increments should be first consideration before using this feature.
The reference count mode is used with
table_open_cache <https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache>
_ of MySQL.MySQLは
table_open_cache
で指定した個数のテーブルをキャッシュしておくことができます。キャッシュされているテーブルはまだ使用中なので、Groongaのオブジェクトも解放されません。table_open_cache
で指定した個数よりも多いテーブルが開かれたとき、使用頻度が低いテーブルが閉じられます。参照カウントモードが有効なとき、そのタイミングでGroongaのオブジェクトも閉じられます。These are how the reference count mode keep fixed memory usage.
実際に使用する際には、ステータス変数の
Open_tables <https://dev.mysql.com/doc/refman/8.0/ja/server-status-variables.html#statvar_Open_tables>
_ の値とメモリー使用量を見ながらtable_open_cache
の値を調整することで、メモリー使用量とパフォーマンスのバランスを調整する必要があります。なぜなら、この機能はメモリー使用量を一定に保ちますが、その分パフォーマンスが悪化するためです。Open_tables
の確認方法は以下の通りです。SHOW GLOBAL STATUS LIKE 'Open_tables'; -- +---------------+-------+ -- | Variable_name | Value | -- +---------------+-------+ -- | Open_tables | 643 | -- +---------------+-------+
通常は
Open_tables
よりtable_open_cache
を大きくして常に使っているすべてテーブルをキャッシュします。しかし、メモリーに余裕がない環境では一部の使用頻度の低いテーブルをキャッシュから落として解放することでメモリー使用量を削減します。使用頻度の低いテーブルをキャッシュから落とすにはOpen_tables
よりtable_open_cache
を小さくします。table_open_cache
を小さくすればするほど、より多くのテーブルがキャッシュから落ちます。その分メモリー使用量は減りますが、テーブルの開き直しが必要になるためパフォーマンスは悪化します。table_open_cache
を小さくすればするほど、パフォーマンスが悪化するので、小さくするのはメモリー使用量が許容範囲内に収まる程度までにしておきます。In order to enable reference count mode, we need to specify values in my.cnf as follows;
loose-mroonga-enable-reference-count = ON
注釈
MySQL起動後に変数で指定しても参照カウントモードは有効になりません。my.cnfで指定してください。
SET GLOBAL mroonga_enable_reference_count = ON
Added support for execution timeout parameter.[GitHub #344][Reported by Kazuhiko]
MySQL/MariaDB はクエリーの実行時間がタイムアウトパラメータで指定した時間を超過した場合、クエリーを中断することができます。タイムアウトパラメータは、MySQL では
MAX_EXECUTION_TIME
、MariaDBではmax_statement_time
です。However, Mroonga did not abort executing queries even after MySQL/MariaDB abort the queries and return results. So if the Groonga queries match too many results, it could continue to consume memory and CPU resources even after MySQL/MariaDB abort the queries.
From this version, Mroonga can abort queries in the specified time and the execution timeout parameter works correctly. So Mroonga don't continue to consume memory and CPU resources after MySQL/MariaDB abort the queries.
The following how to use this feature.
Here is a sample for MySQL.
CREATE TABLE diaries( title TEXT FULLTEXT INDEX (title) ) ENGINE = Mroonga DEFAULT CHARSET=utf8mb4; INSERT INTO diaries (title) VALUES ("It'll be fine tomorrow."); INSERT INTO diaries (title) VALUES ("It'll rain tomorrow"); SELECT /*+ MAX_EXECUTION_TIME(1) */ title FROM diaries WHERE MATCH(title) AGAINST("+fine" IN BOOLEAN MODE);
Here is a sample for MariaDB.
CREATE TABLE diaries( title TEXT FULLTEXT INDEX (title) ) ENGINE = Mroonga DEFAULT CHARSET=utf8mb4; INSERT INTO diaries (title) VALUES ("It'll be fine tomorrow."); INSERT INTO diaries (title) VALUES ("It'll rain tomorrow"); SET STATEMENT max_statement_time = 0.001 FOR SELECT title FROM diaries WHERE MATCH(title) AGAINST("+fine" IN BOOLEAN MODE);
この機能は、
mroonga_command()
でも使えます。Fixed a bug to fail to install or upgrade Mroonga with install.sql.[GitHub #525][Reported by Tomohiro KATO][Patched by Jérome Perrin]
Broken install.sql caused this bug. This bug had occurred since Mroonga 12.06.
Fixed a memory leak on full text search. [Reported by OHTSUKA Soushi and Mitsuo Yoshida]
This is occurred when
order limit optimization <https://mroonga.org/ja/docs/reference/optimizations.html#order-by-limit>
_ is used. However, if we use MariaDB, this occurs even if we don't use order limit optimization.This bug had occurred since Mroonga 11.03.
Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.
概要#
Improvements#
[AlmaLinux] AlmaLinux 9 を新しくサポートしました。
[CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 8.0.32をサポートしました。
[CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 5.7.41をサポートしました。
Added support for updating normal columns with composite primary key table. [GitHub#592][Reported by handmound]
[Amazon Linux] MariaDB 10.5.10-2.amzn2.0.2をサポートしました。
[サーバ変数の一覧] 新しいサーバーステータス変数
libgroonga_support_mecab
を追加しました。[Debian GNU/Linux] MariaDB 10.5.18をサポートしました。
[CentOS][AlmaLinux] MariaDB 10.3.37、10.4.27、10.5.18、10.6.11、10.7.7、10.8.6、10.9.4をサポートしました。 [GitHub #564][Josep Sanzさんの報告][かとうさんがパッチ提供]
[CentOS] Percona Server 5.7.40-43をサポートしました。
[Windows] MariaDB 10.7、10.8、10.9をサポートしました。
[Windows] 32bitバージョンのサポートをやめました。
[mroonga_highlight_html()] 新しいパラメータ
open_tag
とclose_tag
を追加しました。 [GitHub #537][ishitakaさんによる報告]Added support for reference count mode.
[CentOS][AlmaLinux][Debian GNU/Linux][Ubuntu] MySQL 8.0.31をサポートしました。
[Ubuntu] Ubuntu 22.04 (Jammy Jellyfish) の MariaDB 10.6 をサポートしました。
Added support for execution timeout parameter.[GitHub #344][Reported by Kazuhiko]
[CentOS][AlmaLinux] MariaDB 10.6.10, 10.7.6, 10.8.5をサポートしました。
[Oracle Linux] MySQL 8.0.30をサポートしました。
[CentOS] MySQL 5.7.39をサポートしました。
[Debian GNU/Linux] Debian 10 (buster)のサポートをやめました。
Changed to not require to run update.sql for registering Mroonga to MySQL.[GitHub #509][Reported by Jérome Perrin]
[サーバ変数の一覧] 新しいサーバー変数
Mroonga_memory_map_size
を追加しました。[CentOS][AlmaLinux] MariaDB 10.2.44, 10.3.35、10.4.25、10.5.16、10.6.8、10.7.4をサポートしました。
Fixes#
[mroonga_highlight_html()]
mroonga_highlight_html
をAS query
と一緒に使った際にメモリーリークする問題を修正しました。Fixed a bug that initialization of MeCab is fail when we use Mroonga on MariaDB 10.9 or later for Windows.
Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.
Fixed a bug that Mroonga for Windows does not bundle groonga-normalizer-mysql.
Fixed a bug to fail to install or upgrade Mroonga with install.sql.[GitHub #525][Reported by Tomohiro KATO][Patched by Jérome Perrin]
MySQL 8.0 以上を使用しているとき、
mroonga_command()
が16進数ダンプで結果を返す問題を修正しました。[AlmaLinux] AlmaLinux 8 向けMroongaのインストール手順を修正しました。[Gitter/ja:62fe4ca5b16e8236e3ef225c][handmoundさんの報告]
Fixed a bug that Mroonga may update failed. [groonga-dev,04982, groonga-dev,04987][Reported by Mitsuo Yoshida and OHTSUKA Soushi]
Fixed a bug that Mroonga may fail create the index on MariaDB 10.5.14. [GitHub clear-code/redmine_full_text_search#103][Reported by wate]
Fixed a memory leak on full text search. [Reported by OHTSUKA Soushi and Mitsuo Yoshida]
Thanks#
handmound
Josep Sanz
Tomohiro KATO
ishitaka
Kazuhiko
Jérome Perrin
Mitsuo Yoshida
OHTSUKA Soushi
wate