次世代RDB・劔"Tsurugi"のオープンソース版公開までに読むべき記事

NECとノーチラス・テクノロジーズが開発した次世代RDB・劔"Tsurugi"(以下「劔」)について、オープンソース版を2023年9月中旬に公開するという発表がありました。  

劔は「世界最速レベルの性能」を謳ったデータベースで、過去には
「PostgreSQL互換のRDBをOSSスクラッチで作り上げるプロジェクト」
「いつまでたっても新しいアーキテクチャのRDBができないので、作ります」
というアクティブかつチャレンジングな発言もありました。素晴らしい！

劔を予習してオープンソース版公開に備えるために、過去に公開された記事などを集めてみました。  

## この記事に書いていないこと

例えば以下のような技術的なポイントは全然理解していないので触れていません！  
- 劔はどのように世界最速レベルの性能を実現しているか
- 劔のトランザクションエンジンがどういう仕組みで動いているか
- 劔の性能を最大限発揮するためにはどのようなハードウェアを使えばいいのか
- 劔が適しているワークロード

以下に紹介する記事を熟読したらもう少し理解できるかも。  

## 製品情報

[劔コミュニティサイト](https://www.tsurugidb.com/)
https://www.tsurugidb.com/
定期的にウォッチしていきたい。  

[劔製品紹介ページ](https://www.nautilus-technologies.com/service/tsurugi.html)
https://www.nautilus-technologies.com/service/tsurugi.html
劔の特長が最速で分かります。  

[劔プレスリリース](https://www.nautilus-technologies.com/topics/20230710-00.html)
https://www.nautilus-technologies.com/topics/20230710-00.html
コンポーネントの構成が紹介されています。  

## 技術情報

[Open Source Conference 2023 Online/Spring：データベース劔について(1)](https://www.youtube.com/watch?v=cEwQpu4IgsA)
https://www.youtube.com/watch?v=cEwQpu4IgsA
劔のコンセプト、開発体制、応用アプリケーション、ベンチマーク結果の解説、様々なRDBが存在する中で劔がどういう位置付けになるのか？について解説されています。  

[Open Source Conference 2023 Online/Spring：データベース劔について(2)](https://www.youtube.com/watch?v=byHul9XJFWE)
https://www.youtube.com/watch?v=byHul9XJFWE
上記の続き。

[分散コンピューティング部会公開資料](https://www.osscons.jp/distributed_computing/download/)
https://www.osscons.jp/distributed_computing/download/
劔の開発体制とその経緯、応用アプリケーション、HTAPをどうやって実現するのか？については、ここの資料が参考になりそうです。  
劔は他のデータベース(PostgreSQLやApache Spark)でOLAPを実現する、というところは理解しておかないといけないかも。  

[プロジェクト全体状況](https://www.osscons.jp/distributed_computing/download/?action=cabinet_action_main_download&block_id=926&room_id=306&cabinet_id=26&file_id=634&upload_id=1323)
https://www.osscons.jp/distributed_computing/download/?action=cabinet_action_main_download&block_id=926&room_id=306&cabinet_id=26&file_id=634&upload_id=1323
上記のうち個人的に特に重要だと思ったもの。  
> 2022にα版がとりあえず出る
> 間違ってもいきなり本番突撃とか止めてくださいね。

ですよね。  

[(Preprint) Shirakami: A Hybrid Concurrency Control Protocol for Tsurugi Relational Database System](https://www.researchgate.net/publication/369740825_Shirakami_A_Hybrid_Concurrency_Control_Protocol_for_Tsurugi_Relational_Database_System)
https://www.researchgate.net/publication/369740825_Shirakami_A_Hybrid_Concurrency_Control_Protocol_for_Tsurugi_Relational_Database_System
劔のトランザクションエンジン(Concurrency Control Protocol)であるShirakamiについて、公開されている文書の中でおそらく一番詳しいもの。  
ショートトランザクション向けのプロトコルとロングトランザクション向けのプロトコルをどのようにハイブリッドにするか？について書かれた論文みたいです。  

[OSC2023 Online/SpringでのTsurugiの話のメモ](https://blog.goo.ne.jp/hishidama/e/561d53d0298d673a569fc16a49a86e3d)
https://blog.goo.ne.jp/hishidama/e/561d53d0298d673a569fc16a49a86e3d
ポイントを押さえていて分かりやすい！特にShirakamiの解説セッションは録画配信がなかったので貴重。  

## これまでの経緯

[DB TECH SHOWCASE 2022：「もう一つのTsurugi」幻のプロトタイプ・プロトコルOze(尾瀬)の概要](http://www.db-tech-showcase.com/2022/schedule/)
http://www.db-tech-showcase.com/2022/schedule/
劔のトランザクションエンジン(Concurrency Control Protocol)としてはShirakamiとOzeの2つが開発されていて、そのうちShirakamiじゃない方の解説だそうです。  
2023/7/15現時点ではまだ視聴可能。  

[Tsurugi前史](http://www.ne.jp/asahi/hishidama/home/tech/tsurugi/prehistory.html)
http://www.ne.jp/asahi/hishidama/home/tech/tsurugi/prehistory.html
> 同時に解説本も発売される  

めちゃめちゃ重要な情報じゃないですかァ！  

## 名称関連

[TsurugiDBの開発コードネーム](https://zenn.dev/rjkuro/articles/b41ea783449729)
https://zenn.dev/rjkuro/articles/b41ea783449729
yakushimaだけちょっと毛色が違うような…白神山地と世界遺産つながりかな？  

[Tsurugiの略称は何でしょう？](https://blog.goo.ne.jp/hishidama/e/227fdc22e8f9a69b688ca2d06e52da3b)
https://blog.goo.ne.jp/hishidama/e/227fdc22e8f9a69b688ca2d06e52da3b
PostgreSQL＝pgに倣ってtgがいいという発想、好き。  

[Tsurugiのググり方](https://blog.goo.ne.jp/hishidama/e/4f87bfd8dad6716df74a9447762ea1f3)
https://blog.goo.ne.jp/hishidama/e/4f87bfd8dad6716df74a9447762ea1f3
ググラビリティを考えるとTsurugiDBというキーワードを使うのがいいんじゃないの？ってお話。「劔」ってちょっと入力しづらいですしね。  

## 番外編

開発者の皆様が書いた面白かった記事。

[好きなSQL嫌いなSQL](https://zenn.dev/rjkuro/articles/36caecae415985)
https://zenn.dev/rjkuro/articles/36caecae415985
みんなー！NULLは嫌いだよね！  

[DBMS開発に使っているプロファイリングツール](https://zenn.dev/rjkuro/articles/1d45f3f2f1c8d9)
https://zenn.dev/rjkuro/articles/1d45f3f2f1c8d9
普通に参考になる…ありがたい。