フューチャー技術ブログ

次世代型データベース 劔"Tsurugi" とは何?公式サイトから調べてみた!

秋のブログ週間2023、3週目・14本目の記事です。

はじめに

こんにちは。新卒入社3年目の佐藤です。

2023年10月5日にオープンソースとしてリリースされたばかりの次世代RDB“Tsurugi”について公式サイトを元に調べてみたので、特徴や感想などをつらつらと書いいきます。

気になってた人も、聞いたことがまだ無い人も、ぜひゆるりと読んでいただければと思います。

次世代RDB 劔”Tsurugi”について

概要

まずは劔”Tsurugi”(以下、Tsurugi)とはなんぞやというところからですが、ジャンルとしてはRDBMS(MySQL、PostgreSQL、Microsoft SQL Serverなどの仲間)です。

RDBMSは決して入れ替わりが激しい分野ではなく、特にMySQLなどは20年も使われてきた実績があり、いわば既に完成された分野ではあるのですが、Tsurugiそんな中「純国産」「新型RDBMS」「次世代」というパワーワードをぶら下げて発表されました。

特に「次世代」がキーワードになるのですが、公式ページには

劔”Tsurugi”は、新しいハードウェアのアーキテクチャに合うRDBMSとして開発を行っています。
CPUは微細化が限界に達し、メニーコア化を進めていおり、一方で、メモリーデバイスも高機能(不揮発性メモリーの登場)・高密度化(メモリー容量の伸張)が進んでいます。

既存のRDBMSは、”コア数が少ない”、”メモリー容量は制限的である”という前提で作られており、基本的なアーキテクチャの思想としては永らく変わっておらず、新しいハードウェアアーキテクチャ(メニーコア・大容量メモリー)で性能を発揮しづらくなっています。

劔”Tsurugi”は、新しいハードウェアアーキテクチャに合わせた設計思想に基づいて開発され、その上で性能を最大限に発揮するデータベースです。

(引用元:https://www.tsurugidb.com/about.html

と記載があり、これを見てナルホド、要は「今までのRDBMSは省メモリ前提で作られてきたが、ハードウェアが進化してきた現代においてはその前提は古い!今こそ大容量メモリ前提で最適なRDBMSを出すぜ!」という思想なのかと合点がいきました。

特徴

ではここからはTsurugiの具体的な特徴ですが、こちらも公式ページを見ると、

①超高速バッチ処理が可能
②バッチ/オンライン併用が可能
③JavaAPIが利用可能

と書かれており、もう少し噛み砕くと、それぞれ

  • ハードウエアの性能が向上するほどシステムの性能が高まるように設計されているため、処理速度がめちゃめちゃ速い
  • バッチ処理(まとめて定期的にやる処理)を行いながらオンライン処理(リアルタイムで行う処理)が併用できるため、バッチ処理は夜間で…など運用を分けなくて良い
  • JavaやpostgresSQLなどの別の仕組みからでも呼び出しやすいインターフェースが用意されているため、システムと連携がしやすい

という特徴があるそうです。

ではどれくらい効果があるのか…?ということで、同ページ内に「実際に使ってみてどれくらい有効だったか」という例が4つ載っていたので、そちらも見ていきましょう。

運用例① … 画像処理

点群データ解析による新しい方式の混雑状況把握
― 画像処理:IoTデータのリアルタイムDBにおける運用(62Complex株式会社) ―

これは特徴②の「バッチ/オンライン併用が可能」が活きた例で、

通常ではデータ処理の取り込みがバッチ処理であるのに対して、劔”Tsurugi”を使用すると、リアルタイムで継続的にデータ処理・取り込みができることを確認しました。これにより、膨大なデータの格納、解析が高速化、効率化され、リアルタイムでの処理が可能になりました。

というコメントが書かれていました。こちらは数字はないものの、データ解析をする上で
データが取り込まれるのを待つ⇒処理する
という非効率的なフローが解消されており、こういうケースにも使えるんだ…!という学びになりますね。

運用例② … 超大規模データ解析

大量のデータを用いた探索的データ分析(大規模データ解析)
― 超大規模データ解析:e-Scienceへの適用(大学共同利用機関法人 自然科学研究機構国立天文台) ―

こちらは特徴①の「超高速バッチ処理が可能」が活きた例で、

従来システムに対して、分散クラスターでの速度の向上(10-100倍)の有効性が確認された

とのこと。
大分幅はあるものの、最大で100倍効率化されるというのはもはやロマンを感じてしまいます。シンプルにめっちゃ速くなってますね。

運用例③ … 災害対応

大規模災害発生後の初動・応急対策段階における情報整理のためのプラットフォームに適用
― 災害対応:災害発生後の初動・応急対策段階での活用(株式会社パスコ) ―

こちらも特徴①の「超高速バッチ処理が可能」が活きた例で、

膨大な空間情報の収集データを利用した検証で、登録・処理時間などの大幅な短縮につながることを確認しました。
大規模災害発生後の初動・応急対策段階における情報整理のためのプラットフォームへの適用・活用が期待

と記載されていました。
Tsurugiは「ハードウエアの性能が向上するほどシステムの性能が高まる」ため、緊急時などの「リソースは多く割いても良いから、とにかく速く」というケースに非常にマッチしていて良い例と思いました。
そういったケースが想定される場合は一考ですね。

運用例④ … 業務管理

原材料の計算・シミュレーションに適用で為替の変動にも対応
― 業務管理:生産性向上への適用(株式会社アンデルセンサービス) ―

こちらも特徴①の「超高速バッチ処理が可能」の例ですね。

分散処理のSparkで約50分かかっているところ、劔”Tsurugi”では25分の1となる約2分間で終了

最早コメントの余地すらないです。速くなりすぎです。。。

感想

最後まで読んでいただいて、ありがとうございました。

今回は秋の読書感想文ということでしたが、電車でたまたま「純国産!?のRDBMS!?」と目に入ったのをきっかけに記事にしてみました。

概要程度でさくっと読めるように書いてみたつもりなので「なんか超速いらしい!」程度に伝わっていれば幸いです。

日ごろ日本発のIT技術がもっとグローバルになれば…と考えているので、このTsurugiに使えそうなケースがあれば、導入を考えたいですね。

ありがとうございました。

気になった人向け

今回は書籍ではなく公式ページから情報を仕入れましたが、書籍も出版されているので紹介しておきます。

  • 次世代高速オープンソースRDB Tsurugi

https://amzn.asia/d/j4ScwcY

また、公式ページからも辿れますが、GitHubのリンクも掲載しておきます。

https://github.com/project-tsurugi/tsurugidb

引用

https://www.tsurugidb.com/about.html

※本記事の引用文は全て↑からの引用となります