2023-02-09
Mroonga 13.00リリース
Mroonga 13.00をリリースしました!
メジャーバージョンアップです! メジャーバージョンアップですが、互換性は壊れていないので、データベースを再構築することなく13.00へアップグレードできます!
注意
現在、Percona Server向けMroonga 13.00のパッケージを提供していません。Percona Server向けパッケージのビルドに問題があるためです。
この問題が解決したら、再度Percona Server向けパッケージを提供します。
変更点
主な変更点は以下の通りです。
改良
- CentOS, AlmaLinux MariaDB 10.3.38、10.4.28、10.5.19、10.6.12、10.7.8、10.8.7、10.9.5、10.10.3をサポートしました。
おわりに
今回のリリースの詳細については、 リリースノート または、 リリース自慢会 を参照してください。
それでは、Mroongaでガンガン検索してください!
2023-01-29
Mroonga 12.12リリース
Mroonga 12.12をリリースしました!
変更点
主な変更点は以下の通りです。
改良
以下のようにMroongaストレージエンジンを使ったテーブルに複合主キーを設定しているときは、通常のカラムを更新できませんでした。
CREATE TABLE scores (
name char(30) NOT NULL,
score int NOT NULL,
PRIMARY KEY (name, score),
note char(30),
FULLTEXT INDEX search_note_idx (note)
) ENGINE = Mroonga DEFAULT CHARSET=utf8mb4;
INSERT INTO scores (name, score) VALUES ("Taro Yamada", 29);
UPDATE scores SET note = "Note"
WHERE name = "Taro Yamada" AND score = 29;
ERROR 1265 (01000): data truncated for primary key column: <name>
このエラーはMariaDB向けMroongaでは発生しません。
感謝
おわりに
今回のリリースの詳細については、 リリースノート または、 リリース自慢会 を参照してください。
それでは、Mroongaでガンガン検索してください!
2023-01-06
Mroonga 12.11リリース!
Mroonga 12.11 をリリースしました!
変更点
今回の変更点は以下の通りです。
改良
修正
おわりに
今回のリリースの詳細については、 リリースノート または、 リリース自慢会 を参照してください。
それでは、Mroongaでガンガン検索してください!
2022-11-29
Mroonga 12.10リリース!
Mroonga 12.10 をリリースしました!
変更点
今回の変更点は以下の通りです。
改良
-
CentOS, AlmaLinux MariaDB 10.3.37、10.4.27、10.5.18、10.6.11、10.7.7、10.8.6、10.9.4をサポートしました。
-
CentOS, AlmaLinux Percona Server 8.0.30-22をサポートしました。
-
CentOS Percona Server 5.7.40-43をサポートしました。
-
Windows MariaDB 10.7、10.8、10.9をサポートしました。
-
Windows 32bitバージョンのサポートをやめました。
最近のMariaDBは32bitのWindowsでビルドできず、32bit向けの公式パッケージも存在しないためです。
-
mroonga_highlight_html() 新しいパラメータ open_tag
と close_tag
を追加しました。
ハイライトに使うタグを open_tag
と close_tag
で指定できるようになりました。
今までは固定で <span class=\"keyword\">...</span>
というタグを使用しており、 class
の変更や、別のタグが指定できず不便でした。
今回からタグを指定できるようになったので、 <mark>...</mark>
などのハイライト用のタグも使えるようになって便利になりました。
SELECT mroonga_highlight_html('Mroonga is the Groonga based storage engine.', 'groonga',
'<mark>' AS open_tag, '</mark>' AS close_tag) AS highlighted;
-- +-----------------------------------------------------------+
-- | highlighted |
-- +-----------------------------------------------------------+
-- | Mroonga is the <mark>Groonga</mark> based storage engine. |
-- +-----------------------------------------------------------+
詳細は mroonga_highlight_html() を参照してください。
-
参照カウントモードをサポートしました。
この機能によりメモリー使用量を一定量に保つことができますが、パフォーマンスが悪化します。
そのため、メモリー不足の場合には、この機能を使用する前に、メモリーを増強することを検討してください。
参照カウントモードは MySQLの table_open_cache とともに使用します。
MySQLは table_open_cache
で指定した個数のテーブルをキャッシュしておくことができます。
キャッシュされているテーブルはまだ使用中なので、Groongaのオブジェクトも解放されません。
table_open_cache
で指定した個数よりも多いテーブルが開かれたとき、使用頻度が低いテーブルが閉じられます。
参照カウントモードが有効なとき、そのタイミングでGroongaのオブジェクトも閉じられます。
このようにして参照カウントモードではメモリー使用量を一定に保っています。
実際に使用する際には、ステータス変数の 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
を小さくすればするほど、パフォーマンスが悪化するので、小さくするのはメモリー使用量が許容範囲内に収まる程度までにしておきます。
参照カウントモードを有効にするには、my.cnfに以下の値を設定します。
loose-mroonga-enable-reference-count = ON
注: MySQL起動後に変数で指定しても参照カウントモードは有効になりません。my.cnfで指定してください。
SET GLOBAL mroonga_enable_reference_count = ON
修正
おわりに
今回のリリースの詳細については、 リリースノート または、 リリース自慢会 を参照してください。
それでは、Mroongaでガンガン検索してください!
2022-10-28
Mroonga 12.09リリース!
Mroonga 12.09 をリリースしました!
変更点
今回の変更点は以下の通りです。
改良
-
CentOS, AlmaLinux MariaDB 10.9 をサポートしました。
-
Ubuntu Ubuntu 22.04 (Jammy Jellyfish) の MariaDB 10.6 をサポートしました。
-
クエリーのタイムアウトパラメータをサポートしました。
本バージョンから、Mroongaは指定された時間でクエリーを中断できるようになり、タイムアウトパラメータ(MySQL では MAX_EXECUTION_TIME
、MariaDBでは max_statement_time
)が正しく動作するようになりました。
修正
おわりに
今回のリリースの詳細については、 リリースノート または、 リリース自慢会 を参照してください。
それでは、Mroongaでガンガン検索してください!