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でガンガン検索してください!