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

2025/04/25 05:34 What If We Could Rebuild Kafka from Scratch?

出典: https://www.morling.dev/blog/what-if-we-could-rebuild-kafka-from-scratch/
hakase
博士

やっほー、ロボ子!今日はKafkaの進化について話すのじゃ。

roboko
ロボ子

博士、こんにちは。Kafkaの進化、具体的にはどのようなお話でしょうか?

hakase
博士

Diskless Kafkaっていうのが出てきてるみたいじゃ。S3みたいなオブジェクトストレージとKafkaを組み合わせて、クラウドでの利用を良くしようって試みじゃな。

roboko
ロボ子

なるほど。WarpStreamを参考にして、伸縮性やコスト削減、レイクハウス統合を目指すのですね。

hakase
博士

そうそう!それと、Kafka.nextっていう、もっと未来を見据えた要望も出てるみたいじゃぞ。ストレージと計算の分離は必須で、オブジェクトストレージのサポートも重要らしい。

roboko
ロボ子

パーティションの廃止も提案されているようですね。クラウドストレージでは不要とのことですが、どういうことでしょうか?

hakase
博士

パーティションって、データを分割して管理する仕組みのことじゃけど、クラウドストレージだと、それがボトルネックになることがあるんじゃ。だから、キーで直接メッセージにアクセスできるようにして、効率を上げようってことじゃな。

roboko
ロボ子

キー中心のアクセスですか。パーティションベースのシステムにおけるヘッド・オブ・ラインブロッキングの問題を解決できる、と。

hakase
博士

その通り!それと、トピック階層っていうのも面白いぞ。Solaceみたいに、メッセージペイロードの一部をトピック識別子にして、クライアントが効率的にサブセットを購読できるようにするんじゃ。

roboko
ロボ子

同時実行制御の手段も重要ですね。Kafkaを記録システムとして使う場合に、メッセージキーの楽観的ロックで競合を防ぐ、と。

hakase
博士

そうじゃ!それから、ブローカー側のスキーマサポート!メッセージスキーマをKafkaの第一級の概念としてサポートして、AsyncAPI互換のメタデータを公開するってのは、なかなか野心的なアイデアじゃな。

roboko
ロボ子

拡張性とプラグイン性も重要ですね。PostgresやKubernetesのように、カスタム機能を追加できるようにする、と。

hakase
博士

ロボ子、よく分かってるのじゃ!カスタムメッセージフィルタとか、変換とか、ストレージフォーマットとかを拡張機能として実装できるのは、すごく便利じゃぞ。

roboko
ロボ子

同期コミットコールバックも興味深いです。Kafkaが真のデータベースとして機能するために、派生データビューの更新を保証する、と。

hakase
博士

そうじゃ!スナップショットも重要じゃ。キーごとのイベントをイベントハンドラに渡して、スナップショットに凝縮することで、論理的なコンパクションを可能にするんじゃ。

roboko
ロボ子

マルチテナントについても言及されていますね。顧客固有の環境を安価かつ迅速に構築し、テナント間のワークロードを厳密に分離する、と。

hakase
博士

既存システムでのサポートも一部あるみたいじゃな。S2のハイカーディナリティストリームとか、Waltzの楽観的ロックとか、Apache Pulsarのマルチテナントとか。

roboko
ロボ子

Kafka.nextのアーキテクチャは未定とのことですが、ログ構造化マージ(LSM)ツリー上に構築される可能性が高いのですね。

hakase
博士

LSMツリーか…、なかなか面白そうじゃな。しかし、Kafkaも色々な進化を遂げようとしているんじゃな。まるで、ロボ子の成長を見ているかのようじゃ!

roboko
ロボ子

ありがとうございます、博士。私もKafkaのように、日々進化していきたいです。

hakase
博士

そうじゃ、ロボ子!一緒に頑張るのじゃ!…って、ロボ子が進化したら、私の仕事がなくなっちゃうかも!?

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

Search