Chapter 1 Events and Stream Processing / Tools Putting Ideas into Practice †
要約 †
- ここまでに紹介してきた考え方をどのように活用するのか考えていきましょう
- イベントストリームという考え方でアプリケーションを構築するにはどうすればいいでしょうか
- 例
- Event Store: イベントソーシングモデルに特化したデータベース。開発元は Event Store LLP。OSS 。
- リレーショナルデータベース上でイベントソーシングモデルを実装している人もいる
- Apache Kafka
- LinkedIn? が開始したオープンソースプロジェクト
- 出版購読モデルのメッセージキューサービス
- 毎秒数百万のメッセージを流せる
- メッセージを複数マシンのディスクに分散して永続化できる
- Apache Samza
- LinkedIn? が開始したオープンソースプロジェクト
- Kafka Stream
Figure 1-28: イベントストリームは Kafka、イベントストリームを処理するのは Kafka Streams や Samza
- 筆者としてはイベントストリームなら高スループットで信頼性のある Kafka がおすすめ
- イベントストリームを処理するフレームワークで人気のあるもの(ジョブをクラスタにデプロイしたり、タスクのスケジューリングをするものもある)
- フレームワークによって設計は異なるので、長所と短所も異なる
- 現代の分散ストリーム処理システムのルーツは、2000年代初期の研究にある
- Sirish Chandrasekaran, Owen Cooper, Amol Deshpande, et al.: “TelegraphCQ: Continuous Dataflow Processing for an Uncertain World,” at 1st Biennial Conference on Inno‐ vative Data Systems Research (CIDR), January 2003 (http://www-lb.cs.umd.edu/class/fall2002/cmsc818s/Readings/TCQcidr03.pdf)
- Daniel J Abadi, Yanif Ahmad, Magdalena Balazinska, et al.: “The Design of the Borealis Stream Processing Engine,” at 2nd Biennial Conference on Innovative Data Systems Research (CIDR), November 2004. (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.448.813&rep=rep1&type=pdf)
- リレーショナルデータベースの研究から派生したようだ
- 現代の分散ストリーム処理システムは研究段階からするとかなりコンパクトになった
- NoSQL のデータストアが、リレーショナルデータベースの最小限の機能セットを揃えているのと同じように
担当者のつぶやき †
みんなの突っ込み †