29 ポイント 投稿者 scalalang2 2023-08-31 | まだコメントはありません。 | WhatsAppで共有

LinkedinでApache Kafkaを開発したJay Krepsが2013年に書いた記事を翻訳・解説した記事

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

まだコメントはありません。

まだコメントはありません。