goo blog サービス終了のお知らせ 

ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Tsurugiのバージョン体系

2024-12-02 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2024の2日目です。

Tsurugi本体のバージョンは、初公開されたものがTsurugi 1.0.0-BETA1で、その後BETA2, BETA3…とバージョンアップしてきました。
今年の9月にBETAが取れてTsurugi 1.0.0となり、現在のバージョンは0.1上がってTsurugi 1.1.0、次のバージョンは1.2.0になる見込みです。

一方、TsurugiにJavaでアクセスする為の通信ライブラリーであるTsubakuroのバージョンは、初公開時が1.0.1で(1.0.0はリリースミスがあったため、すぐに1.0.1が出ました^^;)、その後Tsurugi本体がバージョンアップするのに合わせて1.1.0, 1.2.0…と0.1ずつ上がってきました。

そして、Tsubakuroを使用しているJavaライブラリー(高レベルAPIであるIceaxe)やJavaアプリケーション(Tsurugi SQLコンソール(tgsql)原価計算ベンチマーク請求処理ベンチマーク等)のバージョンはTsubakuroのバージョンと一致しており、Tsubakuroのバージョンアップに合わせてバージョンが上がっています。

そういうわけで、Tsurugi 1.1.0に対応するJavaライブラリーやJavaアプリケーションのバージョンは1.7.0です。
バージョンの値がずれていて分かりにくいですが^^;、そもそも、Tsurugi本体のバージョンアップとクライアントライブラリーのバージョンアップは同時に行われるとは限らないものです。今後、開発が安定してくれば、Tsurugi本体のバージョンが上がってもクライアントライブラリーのバージョンは上がらないことが有り得えると思います。


ちなみに、Tsurugi公式ではなく自分が個人的に作っているTsurugiのEmbulkプラグイン(embulk-input-tsurugidbembulk-output-tsurugidb)もTsubakuroを使っていますが、初公開が0.1.0で、その後は0.0.1ずつバージョンアップしてきました。
Tsubakuroのバージョンアップだけでなくプラグイン本体の修正でもバージョンアップしてきたので、対応するTsurugiのバージョンとは、さらに不一致でした^^;

なので、Tsurugiが1.0.0になるのに合わせてプラグインも1.0.0にしました。これなら分かりやすいと思います!

…しかしこれを書いていて思ったんですが、今後、Tsubakuroのバージョンが上がらなくなったらプラグインのバージョンも上がらなくなるので、そうしたらTsurugi本体のバージョンとは乖離してしまいますねorz

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Tsurugiとは(2024年版)

2024-12-01 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2024の1日目です。

Tsurugi』は、メニーコア・大容量メモリーをターゲットとしたOSSのRDBMS(インメモリーDB)です。
Tsurugiは数十コア~100コア超でスケールすることを目指しています。(10コア以下ではPostgreSQLの方が性能が良いらしいです)

昨年10月に初公開となるTsurugi 1.0.0-BETA1がリリースされ、その後BETA2, BETA3…とバージョンアップしてゆき、今年の9月にTsurugi 1.0.0(BETAが取れたGA版)となりました。

1.0.0になってもSQLの機能的にはまだ足りない部分もあるのですが^^;、1.0.0(GA版)がリリースされたことにより、商用サポートも始まりました。

現時点の最新バージョンは1.1.0であり、今後もまだまだバージョンアップしていくと思われます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

劔の文字コード

2023-12-24 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2023の24日目です。

RDBMSのTsurugiのことを自分は「Tsurugi」と書くことが多いですが、漢字で書かれることもあります。
「劔」ですね。

しかし劔には異体字(異なる文字コードのもの)がいくつもあって、どれを使えばいいか迷うこともあるかもしれません。そんなときに覚えやすいのが、劔の文字コードはShift_JISで0x9999である!ということです。

皆さんが常備しているJShellを使えば、一発で出せます!

jshell> new String(java.nio.ByteBuffer.allocate(2).putShort((short)0x9999).array(), "MS932")$1 ==> "劔"

 

参考:Tsurugiの正しい漢字の出し方

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

(Tsurugi)tgsql 1.1.0の変更点

2023-12-23 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2023の23日目です。

2023/12/7にTsurugi 1.0.0-BETA2が公開されましたが、そのときにTsurugi SQLコンソール(tgsql)は1.1.0になりました。

tgsql 1.0.1と1.1.0の違いは、以下の3つくらいかと思います。

  • tgsql --versionでバージョン情報を出すようになった。
  • 暗黙にトランザクションを開始した場合、SQL実行後に自動的にコミットするようになった。
  • 細かすぎて伝わらない地味な修正点
    • 更新系SQLの処理件数を表示するようになった。
    • selectの実行結果が1件だったとき、単位を「row」と表示するようになった。
    • コンソールモードで、コメントのみの行をスキップするようになった。

暗黙のトランザクションに関する変更は、注意が必要です。
tgsqlでは、トランザクションを開始せずに(beginを実行せずに)SQLを実行すると、暗黙にトランザクションを開始します。
今までは、暗黙に開始されたトランザクションはそのまま継続されるので、自分でcommitを実行する必要がありました。
tgsql 1.1.0では、暗黙にトランザクションが開始された場合はSQL実行後に自動的にコミットされるようになったので、特に修正の効かないupdateやdeleteを実行する際は要注意です!

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

(Tsurugi)Iceaxe 1.1.0の変更点

2023-12-22 00:00:00 | PG(RDBMS)

Tsurugi Advent Calendar 2023の22日目です。

2023/12/7にTsurugi 1.0.0-BETA2が公開されましたが、そのときにJavaライブラリーであるIceaxeは1.1.0になりました。

Iceaxe 1.0.1と1.1.0の一番大きな違いは、TsurugiTransactionのexecuteAndGetCountメソッドが更新系SQLの処理件数を正しく返すようになったことだと思います。(今まではTsurugiサーバー側にその実装が無かったので、常に-1を返すようになっていました)

なお、executeAndGetCountメソッドの戻り値の型はintですが、実際は、Tsurugiサーバーからはlongで返って来ています。なので、intでは足らん!という人は、Iceaxe 1.1.0で追加されたexecuteAndGetCountDetailメソッドを使うと良いでしょう。こちらは実行したSQLの種類ごとにlongで処理件数が返ってきます。ちなみにinsert or replaceの件数はMERGED_ROWSという名前になっています。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする