0

ストレージシステムとしてのカフカは、長期データ用のデータストアにすることができます。それは問題なく複製し配布することができます。ですから、カフカのすべての履歴データからRDDを作成し、バッチビューを作成してSpark Streaming Viewsと組み合わせることはできますか?ラムダアーキテクチャで履歴データを保存するためにApache Kafkaをバッチレイヤーとして使用できますか?

答えて

1

tl; drはい、なぜですか?

はネイサン以前のTwitterのマルツ、およびラムダアーキテクチャの著者によると、これらはバッチレイヤーにおけるマスターデータセットのストレージ要件です:「新しいデータの効率的なアペンド」

  • マスターデータセットに追加するのは簡単でなければなりません。
  • "スケーラブルストレージ。バッチレイヤーはすべてを保持する必要があります。あなたの状況に応じてペタバイトまで上がる可能性のあるアーキテクチャは「永遠に」見たデータです。
  • "並列処理のサポート"これをサービングレイヤーにするバッチビューでは、マスターデータセットに関数を適用する必要があるため、これらを並列実行して、黙示録が私たちの前に終了するようにする必要があります。
  • "強制可能な不変性"生データの突然変異を防ぐために小切手を置くことが非常に重要です。これはあなたのすべての真実の源泉です。
  • "調整可能なストレージおよび処理コスト。バッチレイヤでは、安静時と計算時にデータを格納および圧縮する方法を柔軟に決定する必要があります。

カフカはこれらをすべて満たすため、技術的にはマスターデータセットをバッチレイヤに格納することができます。

しかし、Jay Kreps(以前はLinkedIn)によって考案されたKappa Architectureは、Lambda Architectureよりも扱いが簡単です。IoTのような現代的な使用例をより効果的だと言います。それを実現させるために必要なのは、カフカが提供しているものと同じ、分散型、スケーラブル、不変、設定可能なストリーミングだけです。それではなぜそれをしないのですか?

ラムダアーキテクチャのバッチ層でデータを格納するためにKafkaを使用することは、その能力を十分に活用しないことです。実際には時間の経過とともにそれほど効果的ではないアーキテクチャに強制されます。

+0

カフカは満足ですか?**調整可能な保管と処理のコスト**の要件はありますか? それはhdfsのような良い圧縮を持っていますか? –

関連する問題