Skip to content

Commit

Permalink
Merge pull request #323 from confluentinc/0.1.x-concepts-clarification
Browse files Browse the repository at this point in the history
Clarify how streams and tables are stored in topics
  • Loading branch information
logscape authored Sep 28, 2017
2 parents e71f7ca + 36f7624 commit b8cf069
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions docs/concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,12 @@ When using KSQL, the following terminology is used.

#### Stream

A stream is an unbounded sequence of structured data ("facts"). For example, we could have a stream of financial transactions such as "Alice sent $100 to Bob, then Charlie sent $50 to Bob". Facts in a stream are immutable, which means new facts can be inserted to a stream, but existing facts can never be updated or deleted. Streams can be created from a Kafka topic or derived from existing streams and tables.

Stream data is stored (persisted) within a Kafka topic on the Brokers. Data is retained for a configured amount of time as defined in the [topic-config](https://kafka.apache.org/documentation/#topicconfigs)
A stream is an unbounded sequence of structured data ("facts"). For example, we could have a stream of financial transactions such as "Alice sent $100 to Bob, then Charlie sent $50 to Bob". Facts in a stream are immutable, which means new facts can be inserted to a stream, but existing facts can never be updated or deleted. Streams can be created from a Kafka topic or derived from existing streams and tables. In both cases, a stream's underlying data is durably stored (persisted) within a Kafka topic on the Kafka brokers.

#### Table

A table is a view of a stream, or another table, and represents a collection of evolving facts. For example, we could have a table that contains the latest financial information such as "Bob’s current account balance is $150". It is the equivalent of a traditional database table but enriched by streaming semantics such as windowing. Facts in a table are mutable, which means new facts can be inserted to the table, and existing facts can be updated or deleted. Tables can be created from a Kafka topic or derived from existing streams and tables.

Table data is stored on each processing node by the underlying streams state store. The default state store uses RocksDB. Retention is governed by the Window of the table.
A table is a view of a stream, or another table, and represents a collection of evolving facts. For example, we could have a table that contains the latest financial information such as "Bob’s current account balance is $150". It is the equivalent of a traditional database table but enriched by streaming semantics such as windowing. Facts in a table are mutable, which means new facts can be inserted to the table, and existing facts can be updated or deleted. Tables can be created from a Kafka topic or derived from existing streams and tables. In both cases, a table's underlying data is
durably stored (persisted) within a Kafka topic on the Kafka brokers.

# Modes of operation

Expand Down

0 comments on commit b8cf069

Please sign in to comment.