ソフトウェアエンジニアが知っておくべきログのすべて | Apache Kafka誕生の背景
(link.medium.com)LinkedinでApache Kafkaを開発したJay Krepsが2013年に書いた記事を翻訳・解説した記事
- ログ(Log): 最も単純に抽象化されたストレージであり、Append-onlyのみが可能で、すべてのイベントが時系列順に並んだデータ構造
- 従来のデータベースシステムでレプリケーションを実装する際、ログは中核的な役割を果たす
- 状態複製マシンをベースにした分散システムも、実際にはログを複製するシステムである
- ログとテーブルは同一性を持つ。
- 銀行を例にすると、ログは入出金記録であり、テーブルは口座残高を表す。ログからテーブルを作ることができ、逆にテーブルからログを抽出することもできる
- 多くの企業はビッグデータ導入には積極的である一方、信頼できるデータパイプラインの構築にはあまり関心を払ってこなかった
- End-to-Endでデータを接続する方式は、障害、メンテナンス、データの断片化、イベントデータの発展によって次第に難しくなった
- ログ(Log)というデータ構造をメインのネットワークレイヤーとして抽象化すべきだという動機から、Apache Kafkaのアイデアが生まれた
- Jay KrepsはQuoraで、過去のメッセージキューはインフラの世界では非常にニッチな分野だったと説明しつつ、リアルタイムデータをイベントストリームとして抽象化すべきだと考え、永続性を持つコミットログが適切なデータ構造だと説明している
まだコメントはありません。