Mroongaブログ

2021-05-31

Mroonga 11.03リリース!

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

重要なお知らせ

このバージョンへのアップグレードについて、いくつかの注意点があります。 このバージョンへアップグレードする場合は、必ず以下の点を確認してください。

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

2021-04-02

Mroonga 11.01リリース!

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

変更点

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

改良

  • CentOS MariaDB 10.2.37、10.3.28、10.4.18、10.5.9をサポートしました。

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

修正

  • 外部キー制約が登録されない問題を修正しました。

    • この問題は MySQL8.0 でのみ発生します。
  • 対象のデータベースに外部キー制約があると、 DROP DATABASE に失敗する問題を修正しました。

  • 対象のテーブルが別のテーブルから参照されていると、 DROP COLUMN に失敗する問題を修正しました。

  • MariaDB 10.3.28、 10.4.18、 10.5.9 との組み合わせでMroongaをビルドすると、ビルドエラーになる問題を修正しました。

  • MariaDBのMroongaでアップデートに失敗する問題を修正しました。

おわりに

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

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

2021-02-09

Mroonga 11.00リリース!

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

メジャーバージョンアップです! メジャーバージョンアップですが、互換性は壊れていないので、 データベースを再構築することなく11.00へアップグレードできます。

今回のリリースでは、MySQL、MariaDB、PerconaServerが自動的に再起動します。 Mroonga 11.00が必要としているGroonga 11.0.0が、MySQL、MariaDB、PerconaServerが 再起動されるまで有効にならないためです。

変更点

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

  • CentOS MySQL 5.6のサポートをやめました。

    • 2021年2月1日でEOLとなったためです。
  • CentOS Percona Server 5.6 のサポートをやめました。

  • Ubuntu 18.04 LTSのMariaDB 10.1のサポートをやめました。

    • MariaDB 10.1は、既にアップストリームでEOLとなったためです。
  • Mroongaが要求するGroongaのバージョンを11.0.0以降に更新しました。

    • Groonga 11.0.0 で影響の大きなインデックス破損の問題が修正されているためです。

おわりに

10.11からの詳細な変更点は11.00リリース - 2021-02-09を確認してください。

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

2021-01-29

Mroonga 10.11リリース!

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

変更点

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

  • lexicon_flags パラメータをサポートしました。

    • このパラメータを使うことで、全文検索インデックスではない USING HASH なインデックスに KEY_LARGE フラグを追加できます。
  • CentOS MySQL 5.6.51、5.7.33、MySQL 8.0.23をサポートしました。

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

      • [ラッパーモード] ラッパーモードは未対応です。
      • [ストレージモード] JSONデータ型は未対応です。
  • 最適化 "WHERE COLUMN IN (SUBQUERY)" が存在する時、 "fast order limit" の最適化が効かない問題を修正しました。

    • インデックスが付与されたカラムのデータ型を変更する時 インプレースの ALTER TABLE が使えない問題を修正しました。
    • この問題は、 ALTER TABLEALGORITHM=INPLACE で実行した時に発生します。 したがって、 ALTER TABLEALGORITHM=COPY で実行した場合は、発生しません。

おわりに

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

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