ClickHouseがRustを採用:挑戦的な統合への旅

2025-04-09
ClickHouseがRustを採用:挑戦的な統合への旅

もともとC++で記述されていたClickHouseデータベースは、より多くの開発者を惹きつけ、機能を拡張するために、Rustの統合という旅に乗り出しました。この記事では、最初のパイロットプロジェクトとしてBLAKE3ハッシュ関数を選択することから、PRQLクエリ言語とDelta Lakeライブラリの統合に至るまでのプロセスを詳細に説明しています。ビルドシステムの統合、メモリ管理、エラー処理、クロスコンパイルなど、数々の課題に直面しました。Rustライブラリのバグ、非常に長いシンボル名、C++コードとの相互運用性の問題など、いくつかの問題が発生しましたが、ClickHouseチームはこれらの障害を克服し、Rustをプロジェクトに正常に統合し、将来の開発への道を切り開きました。

開発