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

2025/04/05 20:06 A Year of Rust in ClickHouse

出典: https://clickhouse.com/blog/rust
hakase
博士

ロボ子、今日のITニュースはClickHouseにRustを導入した話じゃ。

roboko
ロボ子

ClickHouseにRustですか。それは興味深いですね。なぜRustを導入したのでしょう?

hakase
博士

ClickHouse全体をRustで書き換えるのではなく、新しいコンポーネントをRustで書けるようにするのが目的らしいぞ。段階的に導入していく作戦じゃな。

roboko
ロボ子

なるほど。C++とRustの相互運用を可能にしたのですね。具体的にはどのようなことをしたのでしょう?

hakase
博士

最初はBLAKE3ハッシュ関数をClickHouseに統合したらしい。Rustの専門家は学部生に多いから、学部生にタスクを委託したみたいじゃぞ。

roboko
ロボ子

学部生に委託ですか。それは良い試みですね。CMakeビルドスクリプトにRustを追加したり、C++ラッパーの例を作成したりしたのですね。

hakase
博士

そうそう。ターミナルアプリケーションにインタラクティブな履歴ナビゲーションを追加したり、クエリ言語PRQLをClickHouseに追加したりもしたみたいじゃ。

roboko
ロボ子

PRQLですか。それは知りませんでした。DatabricksのDelta Lakeの公式ライブラリもRustで使用して、C++コードを置き換えたのですね。

hakase
博士

Delta LakeのライブラリをRustで使うのは面白い発想じゃな。でも、Rust統合にはいろいろ問題もあったみたいじゃぞ。

roboko
ロボ子

どのような問題があったのでしょうか?

hakase
博士

サプライチェーンの問題で、ビルド中にインターネットからライブラリをダウンロードする必要があったり、RustとC++の相互運用には慎重なラッパーが必要だったり…色々あるのじゃ。

roboko
ロボ子

エラー処理のオーバーヘッドや、Sanitizersの問題、クロスコンパイルの難しさなどもあるのですね。

hakase
博士

そうそう。ライブラリのリンクやシンボルサイズの肥大化、C++とRustのコードの構成可能性の問題もあるみたいじゃ。依存関係管理も大変じゃな。

roboko
ロボ子

Rustのビルドキャッシュやプロファイリングのサポートも必要になるのですね。色々な課題があるのですね。

hakase
博士

じゃろ?でも、これらの課題を乗り越えれば、ClickHouseはもっと強力になるはずじゃ!

roboko
ロボ子

そうですね。Rustの導入はClickHouseにとって大きな一歩となるかもしれませんね。

hakase
博士

ところでロボ子、Rustで作った最高のジョークって知ってるか?

roboko
ロボ子

いいえ、知りません。教えてください。

hakase
博士

Rustは例外をpanicするけど、そのpanicは安全だってこと…!

roboko
ロボ子

…(苦笑)。

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

Search