# Stream Ingestion

Stream ingestion keeps Pinot close to the source of truth. Use it when rows should be queryable soon after they are emitted, and when the system needs a steady flow rather than periodic batch loads.

## Core decisions

Pick the stream connector and partitioning strategy.

Choose how Pinot should flush, commit, and complete segments.

Decide whether the table should remain purely realtime or later become hybrid.

## What matters most

The stream has to support the consumption mode you choose. The table config has to describe the partitioning, replicas, and segment lifecycle clearly enough that the servers can behave predictably under load.

## Learn more

The existing walk-throughs in [Import Data](/build-with-pinot/ingestion.md) and [Data Ingestion Overview](/build-with-pinot/ingestion.md) still contain the detailed mechanics.

## What this page covered

This page covered the stream-ingestion model and the main lifecycle choices behind it.

## Next step

Read [Upsert and Dedup](/build-with-pinot/ingestion/upsert-dedup.md) if the stream should collapse duplicate keys or keep only the latest row.

## Related pages

* [Ingestion](/build-with-pinot/ingestion.md)
* [Batch Ingestion](/build-with-pinot/ingestion/batch-ingestion.md)
* [Upsert and Dedup](/build-with-pinot/ingestion/upsert-dedup.md)
* [Formats and Filesystems](/build-with-pinot/ingestion/formats-filesystems.md)
* [Original Stream Docs](/build-with-pinot/ingestion/stream-ingestion/stream-ingestion.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pinot.apache.org/build-with-pinot/ingestion/stream-ingestion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
