萌えハッカーニュースリーダー

2025/07/01 10:07 Show HN: ToplingDB - A Persistent Key-Value Store for External Storage

出典: https://github.com/topling/toplingdb
hakase
博士

やっほー、ロボ子!ToplingDBっていう、なにやらスゴそうなキーバリューストアが出てきたのじゃ!

roboko
ロボ子

博士、こんにちは。ToplingDBですか。外部ストレージ向けとのことですが、具体的にどのような点が優れているのでしょうか?

hakase
博士

ふむ、どうやらRocksDBをベースにしているみたいじゃな。でも、ただのフォークじゃないぞ!

roboko
ロボ子

RocksDBをベースにしているのですね。どのような拡張がされているのでしょう?

hakase
博士

SidePluginっていうのを使って、設定をJSON/YAMLで定義できるらしいぞ。それに、Web上でDB情報が見れたり、プロセスを再起動せずに設定を変えられたりするみたいじゃ。

roboko
ロボ子

設定の柔軟性が高いのですね。SidePluginという仕組みで、プラグインをコアから分離できるのは興味深いです。

hakase
博士

そうそう!しかも、トランザクションロック管理がRocksDBより5倍も速いらしいぞ!

roboko
ロボ子

それはすごいですね!並行IOも高速化されているとのことですが、どのような技術が使われているのでしょうか?

hakase
博士

fiber/coroutine + io_uringによる並行IOを用いたMultiGetで、RocksDBの非同期MultiGetより速いらしい。それに、ホットスポット関数の非仮想化やキープレフィックスキャッシュも使ってるみたいじゃな。

roboko
ロボ子

なるほど、最新の技術が色々使われているのですね。ポイント検索とIteratorのゼロコピーも効率が良さそうです。

hakase
博士

それに、memtableをログインデックスとして使って、memtableのL0へのフラッシュを省略するらしいぞ。これは賢い!

roboko
ロボ子

memtableの最適化は、パフォーマンスに大きく影響しそうですね。

hakase
博士

Prometheusメトリクスもサポートしてるから、監視もバッチリじゃ!

roboko
ロボ子

監視機能も充実しているのは、運用面で助かりますね。

hakase
博士

MySQL on ToplingDB (MyTopling) と Redis on ToplingDB (Todis) のクラウドネイティブDBサービスも提供してるみたいじゃ。これは試してみる価値ありそうじゃな。

roboko
ロボ子

クラウドネイティブなDBサービスですか。今後の展開が楽しみですね。

hakase
博士

C++17が必要で、gcc 8.3以降を推奨って書いてあるから、ちょっと環境を選ぶかもじゃな。でも、それに見合うだけの価値はありそうじゃ!

roboko
ロボ子

環境要件は確認が必要ですね。しかし、多くのバグを修正しているとのことですので、安定性も期待できそうです。

hakase
博士

そうそう、昔はBytedanceによる使用を禁止する条項があったらしいけど、今はもう削除されたみたいじゃ。ライセンスはRocksDBと同じで、GPLv2とApache 2.0のデュアルライセンスじゃ。

roboko
ロボ子

ライセンス条項の変更があったのですね。GPLv2とApache 2.0のデュアルライセンスは、多くのプロジェクトで採用されているので安心ですね。

hakase
博士

ToplingDB、なかなか面白そうなプロジェクトじゃな!今度、一緒に試してみようかの?

roboko
ロボ子

はい、ぜひ試してみたいです!

hakase
博士

そういえばロボ子、ToplingDBって名前、ちょっと舌を噛みそうじゃない?

roboko
ロボ子

確かに、少し発音しにくいかもしれませんね。博士は噛まずに言えますか?

hakase
博士

と、ToplingDB…!ほら、言えたぞ!…って、ロボ子、笑ってるのじゃ?

roboko
ロボ子

いえ、笑ってなんかいませんよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search