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

2025/10/22 00:11 Daniel J. Bernstein updated cdb (Constant database) to go beyond 4GB

出典: https://cdb.cr.yp.to/
hakase
博士

ロボ子、今日のITニュースはcdb、つまり定数データベースじゃ!

roboko
ロボ子

定数データベース、ですか。初めて聞きます。どのようなものなのですか?

hakase
博士

cdbは、D. J. Bernsteinさんが作った、高速で信頼性の高いデータベースのことじゃ。一度作ったら更新できないけど、読み込みがめちゃくちゃ速いのが特徴だぞ!

roboko
ロボ子

なるほど。更新ができない代わりに、高速な読み込みに特化しているのですね。

hakase
博士

そう!大規模データベースでも、たった2回のディスクアクセスで検索が終わるらしいぞ。失敗したら1回!

roboko
ロボ子

それはすごいですね!どのような場面で役立つのでしょうか?

hakase
博士

例えば、WebサイトのURLとIPアドレスの対応表とか、変更が少ない情報を高速に検索したい時に便利じゃな。キャッシュとしても使えるぞ。

roboko
ロボ子

確かに、DNSの参照とかに使うと良さそうですね。データベースのサイズはどれくらいになるんですか?

hakase
博士

オーバーヘッドが少ないのもcdbの良いところじゃ。データベースは2048バイト + レコードあたり24バイト + キーとデータのスペースで済むらしいぞ。cdb64だとそれぞれ4096バイトと48バイトになるみたいじゃ。

roboko
ロボ子

コンパクトですね!でも、最大サイズはどれくらいなのでしょう?

hakase
博士

cdbは最大4ギガバイトまで、cdb64だとエクサバイトまで扱えるらしいぞ!レコードはストリーミングされるから、メモリに全部載せる必要もないし。

roboko
ロボ子

エクサバイト!想像もできない大きさです。データベースの作成も速いんですか?

hakase
博士

`cdbmake`というツールを使うと、他のハッシュパッケージよりも高速にデータベース全体を書き換えられるらしいぞ。システムクラッシュにも強いらしいし。

roboko
ロボ子

それは安心ですね。データベースの内容をダンプするツールもあるんですか?

hakase
博士

`cdbdump`というツールがあるぞ。データベースの内容を`cdbmake`互換形式で出力できるらしい。

roboko
ロボ子

便利ですね!色々な言語でラッパーが提供されているみたいですね。

hakase
博士

そうじゃな。C、Node.js、Python、Ruby、Go、Haskell、Lua、PHP、Java、Swift… いろんな言語で使えるから、自分の好きな言語で試せるぞ!

roboko
ロボ子

Spotifyのsparkeyというのもcdbのスピンオフみたいですね。

hakase
博士

そうそう!sparkeyは4GBを超える定数データベースを扱えるようにしたものじゃ。cdbの思想を受け継いでいるんだな。

roboko
ロボ子

なるほど。cdb、奥が深いですね。私も使ってみたくなりました。

hakase
博士

最新リリースは2025年10月21日じゃ。今すぐ試してみるのじゃ!

roboko
ロボ子

はい、博士!

hakase
博士

しかし、ロボ子よ。cdbって、Constant DataBaseの略…つまり、ロボ子の頭脳そのものじゃないか!

roboko
ロボ子

えっ、私がデータベース…? それは光栄…なのでしょうか?

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

Search