Tsurugi 1.1.0 をリリースしました。

概要

本バージョンではSQL実行エンジンのジョブスケジューラーに対するいくつかの改善により、主に多数のクエリーを同時実行する際の性能が向上しています。

また、データベース起動時の最適化によりトランザクションログ圧縮実行後のデータベース起動時間が大幅に高速化されます。

加えて、本バージョンではいくつかの重要な不具合修正を行っています。
前バージョンを利用するすべてのユーザーは本バージョンへのアップグレードを強く推奨します。

機能追加と改善

  • SQL

    • ジョブスケジューラーの広範囲に対するレコード処理を分割制御することによる、SQLジョブの並列実行性の向上
    • ジョブスケジューラーのnon-stickyタスクに対するスケジューリング最適化による、SQLジョブの並列実行性の向上
    • sql.commit_response=AVAILABLE 設定時にトランザクションログの書き込みを不正に待ち合わせ
  • Transaction

    • トランザクションログ圧縮実行後のデータベース起動時間の大幅な高速化
      • 起動時間の改善状況は次のKnown Issuesを参照: TSURUGI-IS-289

バグ修正

  • SQL

    • TSURUGI-IS-957 CHAR 型に対する MIN , MAX 関数の結果が不正となることがある
    • 多数のテーブルを伴うJOIN句を含むクエリが、適切に最適化されずにフルスキャンを採用してしまうことがある
    • OR  IS NULL を組み合わせたクエリーが正しく動作しないことがある
  • Transaction

    • sql.commit_response=STORED 指定時にデータベースを不正に終了すると極めて稀にデータが欠損する可能性がある
      • 本修正による一部ケースに対する性能劣化の可能性については、次のKnown Issuesを参照: TSURUGI-IS-944
    • Ubuntu 24.04 上で tglogutil compaction の引数 <dblogdir> の末尾に / を指定したパスを指定すると No such file or directory エラーで不正終了した後に <dblogdir> で指定したディレクトリが消失することがある
    • あるRTXトランザクション実行中にデータが更新された後に別のRTXトランザクションを開始すると、そのトランザクションは過去に実行されたRTXトランザクションと同じスナップショットを読んでしまう
    • INSERT OR REPLACEを利用する複数のトランザクションが同一エポック内で処理された場合に、トランザクション整合性違反が検出されないことがある
  • Endpoint

    • ResultSetを最後まで読まずにクローズした場合に、データベースが不安定な状態となることがある
      • Tsubakuro や Iceaxe の利用時に ResultSet を最後まで読まずにクローズした場合に加え、 tgsql 上でクライアント変数設定 select.maxlines (デフォルト:1000) を超えるレコードを取得した場合にもこの不具合が発生することがあります。

既知の問題

本バージョンに対する既知の問題、および本バージョンにて修正された問題の補足情報については、以下のリンクを参照してください。

    その他

    本バージョンにおける変更内容の一覧は、以下のChangelogを参照してください。

    旧バージョンからのアップグレード手順については、以下のドキュメントを参照してくだいさい。