最近KafkaまわりのOSSにプルリク送ってみたりして、Confluent熱が個人的に高まっている。
Building a Real-Time Streaming ETL Pipeline in 20 Minutes
以下、感想・考えてみたことなど。
- Kafkaってなんなのか一言で説明するのは難しいが、このブログにあるように「分散ストリーミング基盤」というのが良さそう。
- Streaming ETLという概念がやばい。Batch ETLでやっているような集計処理をバックグラウンドでリアルタイムに実行できるやつ。
- ブログの下の方で引用されているが、簡単なサンプルアプリがあるので見てみるとイメージがわく
- 「複数のアプリが同じデータソースを参照していると密結合になる」みたいな話を聞いたことがあったが、その感覚が分かった。例えば、アプリAがデータ生成するテーブルAがあったとして、これをみたい他のアプリB, C, D, ..があったとする。アプリB, C, D, ..からテーブルAを直接参照すると以下のような問題が起こる。
- 参照者が増えてくると、テーブルAのアクセス負荷が増える(Producer:Consumer = 1:N)
- アプリAが自由にテーブルAのスキーマを変更できない(テーブルAの変更は参照側のアプリに影響を与える)
- 参照で集計処理をしたい場合は、日次バッチになってしまう(負荷が高いのでリアルタイムで集計できない)
0 件のコメント:
コメントを投稿