liveBook · Manning

GlobalKTable

As explained in Kafka for Architects

GlobalKTable is a Kafka Streams interface for a globally replicated, immutable, read-only table that is available to every application task.

A GlobalKTable broadcasts an entire table dataset to every Kafka Streams task as an immutable, read-only view. It enables fast lookups without the copartitioning constraints required by ordinary stream-table joins. section 8.3.6

Use the architectural trade-off deliberately:

  • A new stream record triggers the join and can produce a result when matching table data exists. section 8.3.6
  • A table update does not reprocess previously handled stream records. section 8.3.6
  • Broadcast the table when its complete dataset can be made available to all tasks; otherwise, ordinary joins require matching partitioning and keys. section 8.3.6

Order lookup

When an order arrives, the application looks up corresponding customer data in the GlobalKTable. A match produces an aggregated result; a missing key produces no output. section 8.3.6

How Kafka for Architects covers it

How deep it goes
Defines broadcast, immutable read-only lookup behavior and contrasts it with copartitioning, while deferring advanced join types.
Examples
Uses an incoming order and a customer table to demonstrate matching, missing keys, and non-reprocessing table updates.
What it assumes
Assumes familiarity with stream-table joins and copartitioning requirements.
What you can do after
Apply it via Kafka Streams to perform fast table lookups without partitioning constraints.
How it connects
Connects Kafka Streams with stream-table joins, copartitioning, and read-only tables.

Also explained in

Compare how 2 books explain GlobalKTable →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kafka for Architects. The section links point to the parts of the book it draws on.