Mroongaブログ

2021-08-29

Mroonga 11.06リリース!

Mroonga 11.06 をリリースしました!

変更点

今回の変更点は以下の通りです。

改良

  • CentOS MariaDB 10.2.40, 10.3.31, 10.4.21, 10.5.12 をサポートしました。

  • CentOS MariaDB 10.6.4 をサポートしました。

  • CentOS Percona Server 5.7.35 をサポートしました。

  • Debian Debian 11 (bullseye) をサポートしました。

おわりに

11.05からの詳細な変更点は11.06リリース - 2021-08-29を確認してください。

それでは、Mroongaでガンガン検索してください!

2021-07-30

Mroonga 11.05リリース!

Mroonga 11.05 をリリースしました!

変更点

今回の変更点は以下の通りです。

改良

  • CentOS Percona Server 8.0.25 をサポートしました。

  • CentOS MySQL 5.7.35, 8.0.26をサポートしました。

    • MySQL8 のパッケージには以下の制限があります。

  • Ubuntu Ubuntu 20.10 (Groovy Gorilla)サポートをやめました。

    • 2021年7月22日でEOLとなったためです。

修正

  • MySQL/MariaDBのアップグレード後にクラッシュすることがある問題を修正しました。

    • MySQL/MariaDB をアップグレード後に、 SELECT ... MATCH AGAINST を実行するとMroongaがクラッシュすることがあります。

おわりに

11.04からの詳細な変更点は11.05リリース - 2021-07-30を確認してください。

それでは、Mroongaでガンガン検索してください!

2021-06-29

Mroonga 11.04リリース!

Mroonga 11.04 をリリースしました!

変更点

今回の変更点は以下の通りです。

改良

  • サーバ変数の一覧 mroonga_enable_operations_recording をデフォルトで無効にしました。

    mroonga_enable_operations_recording 自動リカバリーのために操作の記録を有効にするかどうかを決めるものです。

    この操作記録はMroongaがクラッシュしたときに自動的にリカバリーするためのものです。通常、Mroonga内にロックが残留している場合、 INSERT/DELETE/UPDATEは実行できませんが、 mroonga_enable_operations_recording が有効な場合、 INSERT/DELETE/UPDATEに加えてSELECTも実行出来ないことがあります。 自動リカバリーがロックの残留によって、ブロックされるためです。

    したがって、このバージョンから、デフォルト値を OFF にしました。ISERT/DELETE/UPDATE は、ロックの残留によって変わらず ブロックされますが、操作記録を無効にすることで、SELECTは動作する可能性があります。

    残留したロックに対する正しい対処は以下の通りです。

    • https://www.clear-code.com/blog/2021/6/1/mroonga-recover-lock-failed-2021.html (日本語のみ)
  • Debian GNU/Linux Debian GNU/Linux 向けの Oracle の MySQLパッケージ を使用した Mroonga のインストール手順を追加しました。

    Mroonga 11.03にて、Debian GNU/Linux 向けの Oracle の MySQLパッケージ を使用した Mroongaをサポートしました。 これらのパッケージのインストール手順をドキュメントに記載しました。 これらのパッケージをインストールする際には、このドキュメントを参考にしてください。

  • CentOS MariaDB 10.2.39、10.3.30、10.4.20、10.5.11をサポートしました。

修正

  • 検索を実行した際にクラッシュする問題を修正しました。

    この問題は通常は発生しません。

    発生条件は以下の通りです。

    • mroonga_command を使ってGroongaに直接テーブルやカラムを作成している。
    • 検索の実行と同時に上記のテーブルやカラムを削除する。

    上記の条件が成立した時にMroongaがクラッシュします。

おわりに

11.03からの詳細な変更点は11.04リリース - 2021-06-29を確認してください。

それでは、Mroongaでガンガン検索してください!

2021-05-31

Mroonga 11.03リリース!

Mroonga 11.03 をリリースしました!

重要なお知らせ

このバージョンにはアップグレードとアンインストールに関する重大な問題があります。 もし、このバージョンをインストールした場合、Mroongaのアップグレードとアンインストールに失敗します。 したがって、このバージョンのMroongaは使用しないでください。

すでに、このバージョンをインストールしている場合は、以下の回避策を使うことでMroongaをアップグレード したり、アンインストールできるようになります。

  1. % echo "#!/bin/sh" > /usr/share/mroonga/deb/postrm.sh
  2. % chmod u+x /usr/share/mroonga/deb/postrm.sh
  3. Mroongaのアップグレード、または、アンインストール

また、このバージョン以降へのアップグレードについて、注意点があります。

1.

  • このリリースから、パッケージ名が変更になります。 この変更の影響で、このバージョンへアップグレード後、Mroongaが無効になることがあります。

  • アップグレード後にMroongaが無効だった場合は、手動で再度Mroongaをインストールする必要があります。 Mroongaの手動インストール方法および、Mroongaが有効かどうかの確認については、以下のURLを参照してください。

  • また、今後も、Mroonga 11.03をまたいでMroongaをアップグレードする場合は、この現象が発生するので、注意してください。

  • このバージョンにアップグレード後に、Mroongaは有効だがバージョンが古いという場合は、MySQL、MariaDB、PerconaServerを再起動する必要があります。 Mroongaのバージョンは以下のコマンドで確認できます。

    • SHOW VARIABLES LIKE 'mroonga_version';

2.

  • このバージョンには、非互換の変更があります。

  • GEOMETORY 型を使用しているユーザーはMroonga 11.03にアップグレードする前に現在のデータを保存し、アップグレード後に保存したデータをリストアする必要があります。 データのダンプ/リストアには、以下の方法が使えます。

    • mysqldump
    • アップグレード前に ALTER TABLE ENGINE=InnoDB を実行し、アップグレード後に ALTER TABLE ENGINE=Mroonga を実行する。

変更点

今回の変更点は以下の通りです。

改良

  • 以下のようにパッケージ名を変更しました。

    • mariadb-server-10.x-mroonga -> mariadb-10.x-mroonga
    • mysql-server-5.x-mroonga -> mysql-community-5.x-mroonga
    • mysql-server-8.x-mroonga -> mysql-community-8.x-mroonga
    • percona-server-5x-mroonga -> percona-server-5.x-mroonga
    • percona-server-8x-mroonga -> percona-server-8.x-mroonga
  • Debian GNU/Linux Oracle の MySQL 5.7 と Oracle の MySQL 8.0 をサポートしました。

    • このリリースから、新たに Debian GNU/Linux 向けに Oracle の MySQL 5.7 と 8.0 を使用した Mroonga パッケージを提供しました。

      • これにより、MroongaのDockerイメージをDocker公式のMySQLイメージを使って作成できます。
    • MySQL8 のパッケージには以下の制限があります。

  • 空間インデックスのSRIDをサポートしました。

    • 今回のリリースから MBRContains 関数を使った検索で、Mroongaのインデックスが使用されます。
  • コンディションプッシュダウンを適用する条件式を追加しました。

    注意

    • コンディションプッシュダウンは、MySQLではなく、Mroonga内で条件式を評価します。
    • したがって、多くのクエリーは、高速になりますが、Mroongaが条件式を評価することで、今までと異なる検索結果を返すことがあります。
    • もし、Mroongaが意図しない検索結果を返した場合、以下のURLから報告してください。そして、コンディションプッシュダウンを無効にしてください。

      • https://github.com/mroonga/mroonga/issues/
    • コンディションプッシュダウンは以下のように無効にできます。

    • SET GLOBAL mroonga_condition_push_down_type = "NONE"
  • CentOS Percona Server 8.0.23 をサポートしました。

修正

  • 緯度と経度を逆に保存していた問題を修正しました。

    重要

    • この修正によって、後方互換性が壊れます。

    • GEOMETRY 型を使用しているユーザーは、Mroonga 11.03にアップグレードする前に現在のデータを保存し、アップグレード後に保存したデータをリストアする必要があります。 データのダンプ/リストアには、以下の方法が使えます。

      • mysqldump

      • アップグレード前に ALTER TABLE ENGINE=InnoDB を実行し、アップグレード後に ALTER TABLE ENGINE=Mroonga を実行する。

    • この修正を適用しない場合、 INSERT/UPDATE/SELECT/SELECT はうまく動作しますが、データはGroongaが誤った(緯度と経度はGroonga内で逆にされます)保存をします。そのため、 空間データに対する、 mroonga_command('select ...') は動作しません。

おわりに

11.02からの詳細な変更点は11.03リリース - 2021-05-31を確認してください。

それでは、Mroongaでガンガン検索してください!

2021-05-10

Mroonga 11.02リリース!

Mroonga 11.02 をリリースしました!

変更点

今回の変更点は以下の通りです。

改良

  • CentOS MySQL 5.7.34, 8.0.25をサポートしました。

    • MySQL8 のパッケージには以下の制限があります。

      • [ラッパーモード] ラッパーモードは未対応です。
      • [ストレージモード] ストレージモードでは、以下の機能が未対応です。

        • 最適化関連の機能
        • 空間インデックスのSRID

          • 例えば、MBRContains関数を使った検索では、Mroongaのインデックスは使用されません。 (シーケンシャルサーチで検索します。)
  • CentOS MariaDB 10.2.38、10.3.29、10.4.19、10.5.10をサポートしました。

  • Ubuntu Ubuntu 16.04 (Xenial Xerus)のサポートをやめました。

    • 2021年4月でEnd of Standard Supportとなったためです。

おわりに

11.01からの詳細な変更点は11.02リリース - 2021-05-10を確認してください。

それでは、Mroongaでガンガン検索してください!