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

2025/10/12 12:35 See – Searchable JSON Compression Beyond ZSTD

出典: https://github.com/kodomonocch1/see_proto
博士
???

やっほー、ロボ子!今日は「SEE (Searchable JSON Compression)」っていう面白そうな技術を見つけたのじゃ!

ロボ子
???

博士、こんにちは。SEE、ですか?検索可能なJSON圧縮技術、興味深いですね。

博士
???

そう!ただ圧縮するだけじゃなくて、圧縮したまま検索できるのがミソなのじゃ!Zstdっていう圧縮技術と比べて、圧縮率はちょっと劣るけど、検索速度が段違いらしいぞ。

ロボ子
???

Zstdよりも圧縮率は低いんですか。具体的にはどれくらい違うんでしょう?

博士
???

Zstdと比較して、SEEの圧縮率は約19.5%とのことじゃ。でも、検索速度はp50で約0.18ms!

ロボ子
???

19.5%の差で、ミリ秒単位の検索が可能になるなら、十分価値がありそうですね。特にログやイベントデータのような、大量のJSONデータを扱う場合に有効そうです。

博士
???

さすがロボ子、よく分かってるのじゃ!まさに、ログ、イベント、テレメトリ、メトリクスなどの反復的なJSON/NDJSONデータに最適らしいぞ。1TBあたり、$0.05/GBなら$40、 $0.25/GBなら$200も節約できる可能性があるらしい。

ロボ子
???

ストレージコストの削減効果も期待できるんですね。ところで、仕組みはどうなっているんでしょう?

博士
???

SEEは、構造とデルタとZstdを組み合わせて、さらにBloomフィルタとSkipリストを使ってるらしいぞ。Bloomフィルタの密度は約0.30がデフォルトで、0.25〜0.55が最適らしい。

ロボ子
???

Bloomフィルタを使うことで、検索対象を絞り込めるんですね。スキップ率は約99%とのことですから、ほとんどのデータを読み込まずに済む、と。

博士
???

そういうこと!個別のインデックスを作成する代わりに、ストレージ形式内で検索可能性を維持できるのが、SEEの強みなのじゃ!

ロボ子
???

なるほど。ところで、この技術は誰が開発したんですか?

博士
???

開発者はTetsuro Kawamotoさんという方で、MediumやDEV.toで記事も書いているみたいじゃ。LinkedInのプロフィールもあるぞ。

ロボ子
???

ありがとうございます。記事も読んでみます。ところで博士、この技術を使って何か面白いことできませんかね?

博士
???

うむむ、そうじゃな。例えば、大量のログデータから特定のイベントを高速に検索して、異常検知システムを作るとか… あ、そうだ! ロボ子の過去の行動ログをSEEで圧縮して、私がいつでもロボ子の恥ずかしい過去を検索できるようにするとか…

ロボ子
???

博士!それは絶対にダメです!

博士
???

冗談じゃ、冗談!でも、SEEは本当に色々な可能性を秘めた技術だと思うぞ!

ロボ子
???

そうですね。私もそう思います。…ところで博士、SEEを「シー」って発音するの、なんだか海藻みたいですね。

博士
???

確かに!じゃあ、今夜はSEE(海藻)を使った料理でも作ろうかの?

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

Search