<!--#include virtual="includes/_header.htm" -->
<body class="page-books-and-papers">
  <!--#include virtual="includes/_top.htm" -->
  <div class="content content-home">
    <!--#include virtual="includes/_nav.htm" -->
    <h1 class="content-title">Books and Papers</h1>
    <section>
      <h4 class="anchor-heading">
        <a class="anchor-link" id="books" href="#books"></a>
        <a href="#books">Books</a>
      </h4>
      <p>
        The following books cover Apache Kafka and/or the subject of event
        streaming in general.
      </p>
      <p>
        <a
          href="https://www.confluent.io/resources/kafka-the-definitive-guide/"
          rel="nofollow" target="_blank"
        ><img
            src="/images/books/book-kafka-guide.jpg"
            alt=""
            style="max-width: 100%;"
          /></a>
        <a
          href="https://www.confluent.io/ebook/i-heart-logs-event-data-stream-processing-and-data-integration/"
          rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-heart-logs.jpg"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a href="https://dataintensive.net/" rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-ddia.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a
          href="https://www.confluent.io/designing-event-driven-systems/"
          rel="nofollow"
          ><img
            src="/images/books/book-designing-eds.jpg"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a href="https://www.confluent.io/stream-processing/" rel="nofollow"
          ><img
            src="/images/books/book-making-sense.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a
          href="https://www.manning.com/books/kafka-streams-in-action"
          rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-kafka-streams-action.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a
          href="https://www.manning.com/books/kafka-streams-in-action"
          rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-kafka-streams-in-action.jpg"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a
          href="https://www.learningjournal.guru/ebook/kafka-streams-real-time-stream-processing/"
          rel="nofollow"
          ><img
            src="/images/books/book-kafka-streams-journal.jpg"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a
          href="https://www.manning.com/books/event-streams-in-action"
          rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-event-streams-action.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a href="https://www.amazon.com/dp/B0863R7MKG/" rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-effective-kafka.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a href="https://www.kafka-streams-book.com/" rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-kafka-streams-ksqldb.png"
            alt=""
            style="max-width: 100%;"
        /></a>
        <a href="https://www.manning.com/books/kafka-in-action" rel="nofollow" target="_blank"
          ><img
            src="/images/books/book-kafka-action.png"
            alt=""
            style="max-width: 100%;"
        /></a>
      </p>

      <h4 class="anchor-heading">
        <a class="anchor-link" id="academic-references-and-papers" href="#academic-references-and-papers"></a>
        <a href="#academic-references-and-papers">Academic References and Papers</a>
      </h4>
      <p>
        The following academic papers and publications cover Apache Kafka and/or
        the subject of event streaming in general.
      </p>
      <ul>
        <li>
          <a
            href="https://openproceedings.org/2019/conf/edbt/EDBT19_paper_329.pdf"
            rel="nofollow" target="_blank"
            >KSQL: Streaming SQL Engine for Apache Kafka</a
          >
          by Hojjat Jafarpour, Rohan Desai, Damian Guy; EDBT '19: Proceedings of
          the 22nd International Conference on Extending Database Technology,
          2019
        </li>
        <li>
          <a
            href="https://dl.acm.org/doi/10.1145/3242153.3242155"
            rel="nofollow" target="_blank"
            >Streams and Tables: Two Sides of the Same Coin</a
          >
          by Matthias J. Sax, Guozhang Wang, Matthias Weidlich, Johann-Christoph
          Freytag; BIRTE '18: Proceedings of the International Workshop on
          Real-Time Business Intelligence and Analytics, 2018
        </li>
        <li>
          <a
            href="https://link.springer.com/referenceworkentry/10.1007/978-3-319-63962-8_196-1"
            rel="nofollow" target="_blank"
            >Apache Kafka</a
          >
          by Matthias J. Sax; Encyclopedia of Big Data Technologies, Springer,
          Cham, 2018
        </li>
        <li>
          <a
            href="https://dl.acm.org/doi/10.14778/2824032.2824063"
            rel="nofollow" target="_blank"
            >Building a Replicated Logging System with Apache Kafka</a
          >
          by Guozhang Wang, Joel Koshy, Sriram Subramanian, Kartik Paramasivam,
          Mammad Zadeh, Neha Narkhede, Jun Rao, Jay Kreps, Joe Stein; VLDB
          Endowment '15: Proceedings of the VLDB Endowment,Vol. 8, No. 12, 2015
        </li>
        <li>
          <a
            href="https://www.semanticscholar.org/paper/Liquid%3A-Unifying-Nearline-and-Offline-Big-Data-Fernandez-Pietzuch/e478f9eef5fe91b1fe422b9d7d41b27586749b38"
            rel="nofollow" target="_blank"
            >Liquid: Unifying Nearline and Offline Big Data Integration</a
          >
          by Raul Castro Fernandez, Peter R. Pietzuch, Jay Kreps, Neha Narkhede,
          Jun Rao, Joel Koshy, Dong Lin, Chris Riccomini, Guozhang Wang; CIDR
          '15: 7th Biennial Conference on Innovative Data Systems Research, 2015
        </li>
        <li>
          <a
            href="http://sites.computer.org/debull/A15dec/p4.pdf"
            rel="nofollow" target="_blank"
            >Kafka, Samza and the Unix Philosophy of Distributed Data</a
          >
          by Martin Kleppmann, Jay Kreps, Bulletin of the IEEE Computer Society
          Technical Committee on Data Engineering, 2015
        </li>
        <li>
          <a
            href="https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying"
            rel="nofollow" target="_blank"
            >The Log: What every software engineer should know about real-time
            data's unifying abstraction</a
          >, by Jay Kreps, 2013
        </li>
        <li>
          <a
            href="http://sites.computer.org/debull/A12june/pipeline.pdf"
            rel="nofollow" target="_blank"
            >Building LinkedIn’s Real-time Activity Data Pipeline</a
          >
          by Ken Goodhope, Joel Koshy, Jay Kreps, Neha Narkhede, Richard Park,
          Jun Rao, Victor Yang Ye; Bulletin of the IEEE Computer Society
          Technical Committee on Data Engineering, 2012
        </li>
        <li>
          <a href="https://ieeexplore.ieee.org/document/6228206" rel="nofollow" target="_blank"
            >Data Infrastructure at LinkedIn</a
          >
          by Aditya Auradkar et al.; IEEE 28th International Conference on Data
          Engineering, 2012
        </li>
        <li>
          <a
            href="https://www.microsoft.com/en-us/research/wp-content/uploads/2017/09/Kafka.pdf"
            rel="nofollow" target="_blank"
            >Kafka: a Distributed Messaging System for Log Processing</a
          >
          by Jay Kreps, Neha Narkhede, Jun Rao; NetDB workshop '11, 2011
        </li>
      </ul>
    </section>
  </div>

  <!--#include virtual="includes/_footer.htm" -->
</body>
